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 #ifndef OW_Perl_INSTANCE_PROVIDER_PROXY_HPP_
00031 #define OW_Perl_INSTANCE_PROVIDER_PROXY_HPP_
00032 #include "OW_config.h"
00033 #include "OW_InstanceProviderIFC.hpp"
00034 #include "OW_FTABLERef.hpp"
00035
00036 namespace OW_NAMESPACE
00037 {
00038
00039 class PerlInstanceProviderProxy : public InstanceProviderIFC
00040 {
00041 public:
00042 PerlInstanceProviderProxy(const FTABLERef& f)
00043 : m_ftable(f)
00044 {
00045 }
00046 virtual ~PerlInstanceProviderProxy();
00065 virtual void enumInstanceNames(
00066 const ProviderEnvironmentIFCRef& env,
00067 const String& ns,
00068 const String& className,
00069 CIMObjectPathResultHandlerIFC& result,
00070 const CIMClass& cimClass );
00071 virtual void enumInstances(
00072 const ProviderEnvironmentIFCRef& env,
00073 const String& ns,
00074 const String& className,
00075 CIMInstanceResultHandlerIFC& result,
00076 WBEMFlags::ELocalOnlyFlag localOnly,
00077 WBEMFlags::EDeepFlag deep,
00078 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00079 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00080 const StringArray* propertyList,
00081 const CIMClass& requestedClass,
00082 const CIMClass& cimClass );
00083
00102 virtual CIMInstance getInstance(const ProviderEnvironmentIFCRef &env,
00103 const String& ns,
00104 const CIMObjectPath& instanceName,
00105 WBEMFlags::ELocalOnlyFlag localOnly,
00106 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00107 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00108 const StringArray* propertyList,
00109 const CIMClass& cimClass);
00110 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00111
00126 virtual CIMObjectPath createInstance(
00127 const ProviderEnvironmentIFCRef &env, const String& ns,
00128 const CIMInstance& cimInstance);
00141 virtual void modifyInstance(const ProviderEnvironmentIFCRef &env,
00142 const String& ns,
00143 const CIMInstance& modifiedInstance,
00144 const CIMInstance& previousInstance,
00145 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00146 const StringArray* propertyList,
00147 const CIMClass& theClass);
00155 virtual void deleteInstance(const ProviderEnvironmentIFCRef &env,
00156 const String& ns,
00157 const CIMObjectPath& cop);
00158 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00159 private:
00160 FTABLERef m_ftable;
00161 };
00162
00163
00164 }
00165
00166 #endif