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 #ifndef OW_CPP_SECONDARY_INSTANCEPROVIDERIFC_HPP_INCLUDE_GUARD_
00036 #define OW_CPP_SECONDARY_INSTANCEPROVIDERIFC_HPP_INCLUDE_GUARD_
00037 #include "OW_config.h"
00038 #include "OW_CppProviderBaseIFC.hpp"
00039 #include "OW_SharedLibraryReference.hpp"
00040 #include "OW_SecondaryInstanceProviderInfo.hpp"
00041 #include "OW_WBEMFlags.hpp"
00042
00043 namespace OW_NAMESPACE
00044 {
00045
00046 class OW_CPPPROVIFC_API CppSecondaryInstanceProviderIFC: public virtual CppProviderBaseIFC
00047 {
00048 public:
00049 virtual ~CppSecondaryInstanceProviderIFC();
00057 virtual void getSecondaryInstanceProviderInfoWithEnv(
00058 const ProviderRegistrationEnvironmentIFCRef& env,
00059 SecondaryInstanceProviderInfo& info);
00060
00068 virtual void getSecondaryInstanceProviderInfo(SecondaryInstanceProviderInfo& info) = 0;
00069
00098 virtual void filterInstances(
00099 const ProviderEnvironmentIFCRef& env,
00100 const String& ns,
00101 const String& className,
00102 CIMInstanceArray& instances,
00103 WBEMFlags::ELocalOnlyFlag localOnly,
00104 WBEMFlags::EDeepFlag deep,
00105 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00106 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00107 const StringArray* propertyList,
00108 const CIMClass& requestedClass,
00109 const CIMClass& cimClass );
00110 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00111
00123 virtual void createInstance(
00124 const ProviderEnvironmentIFCRef& env,
00125 const String& ns,
00126 const CIMInstance& cimInstance );
00138 virtual void modifyInstance(
00139 const ProviderEnvironmentIFCRef& env,
00140 const String& ns,
00141 const CIMInstance& modifiedInstance,
00142 const CIMInstance& previousInstance,
00143 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00144 const StringArray* propertyList,
00145 const CIMClass& theClass);
00158 virtual void deleteInstance(
00159 const ProviderEnvironmentIFCRef& env,
00160 const String& ns,
00161 const CIMObjectPath& cop);
00162 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00163 virtual CppSecondaryInstanceProviderIFC* getSecondaryInstanceProvider();
00164
00165 };
00166
00167 typedef SharedLibraryReference< IntrusiveReference<CppSecondaryInstanceProviderIFC> > CppSecondaryInstanceProviderIFCRef;
00168 typedef Array<CppSecondaryInstanceProviderIFCRef> CppSeconaryInstanceProviderIFCRefArray;
00169
00170 }
00171
00172 #endif