00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00035 #include "OW_config.h"
00036 #include "OWBI1_InstanceProviderIFC.hpp"
00037 #include "OWBI1_CIMInstance.hpp"
00038 #include "OWBI1_ResultHandlerIFC.hpp"
00039
00040 namespace OWBI1
00041 {
00042
00043 class _RHEnumInstances : public CIMObjectPathResultHandlerIFC
00044 {
00045 public:
00046 _RHEnumInstances(
00047 BI1InstanceProviderIFC& ip,
00048 const ProviderEnvironmentIFCRef& env,
00049 const String& ns,
00050 CIMInstanceResultHandlerIFC& result,
00051 const CIMPropertyList& propertyList,
00052 const CIMClass& cimClass )
00053 : _ip(ip)
00054 , _env(env)
00055 , _ns(ns)
00056 , _realHandler(result)
00057 , _propertyList(propertyList)
00058 , _cimClass(cimClass)
00059 {}
00060
00061 void doHandle(const CIMObjectPath& cop)
00062 {
00063 CIMInstance inst = _ip.getInstance(_env,_ns, cop, _propertyList, _cimClass);
00064 _realHandler.handle(inst);
00065 }
00066 private:
00067 BI1InstanceProviderIFC& _ip;
00068 const ProviderEnvironmentIFCRef& _env;
00069 const String& _ns;
00070 CIMInstanceResultHandlerIFC& _realHandler;
00071 const CIMPropertyList& _propertyList;
00072 const CIMClass& _cimClass;
00073 };
00075
00076 void
00077 BI1InstanceProviderIFC::enumInstances(
00078 const ProviderEnvironmentIFCRef& env,
00079 const String& ns,
00080 const CIMName& className,
00081 CIMInstanceResultHandlerIFC& result,
00082 const CIMPropertyList& propertyList,
00083 const CIMClass& requestedClass,
00084 const CIMClass& cimClass )
00085 {
00086 _RHEnumInstances rh(*this,env , ns,result ,propertyList , cimClass);
00087 enumInstanceNames(env,ns ,className , rh,cimClass);
00088 }
00089
00091 void
00092 BI1InstanceProviderIFC::getInstanceProviderInfo(InstanceProviderInfo& info)
00093 {
00094 }
00095
00097 BI1InstanceProviderIFC*
00098 BI1InstanceProviderIFC::getInstanceProvider()
00099 {
00100 return this;
00101 }
00102
00104 BI1InstanceProviderIFC::BI1InstanceProviderIFC()
00105 {
00106 }
00107
00109 BI1InstanceProviderIFC::~BI1InstanceProviderIFC()
00110 {
00111 }
00112
00113 }
00114