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_REMOTE_INSTANCE_PROVIDER_HPP_INCLUDE_GUARD_
00036 #define OW_REMOTE_INSTANCE_PROVIDER_HPP_INCLUDE_GUARD_
00037 #include "OW_config.h"
00038 #include "OW_InstanceProviderIFC.hpp"
00039 #include "OW_ClientCIMOMHandleConnectionPool.hpp"
00040
00041
00042
00043
00044 namespace OW_NAMESPACE
00045 {
00046
00047 class RemoteInstanceProvider : public InstanceProviderIFC
00048 {
00049 public:
00050 RemoteInstanceProvider(const ProviderEnvironmentIFCRef& env, const String& url, const ClientCIMOMHandleConnectionPoolRef& pool,
00051 bool alwaysSendCredentials, bool useConnectionCredentials);
00052 virtual ~RemoteInstanceProvider();
00053
00054 virtual void enumInstanceNames(
00055 const ProviderEnvironmentIFCRef& env,
00056 const String& ns,
00057 const String& className,
00058 CIMObjectPathResultHandlerIFC& result,
00059 const CIMClass& cimClass );
00060
00061 virtual void enumInstances(
00062 const ProviderEnvironmentIFCRef& env,
00063 const String& ns,
00064 const String& className,
00065 CIMInstanceResultHandlerIFC& result,
00066 WBEMFlags::ELocalOnlyFlag localOnly,
00067 WBEMFlags::EDeepFlag deep,
00068 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00069 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00070 const StringArray* propertyList,
00071 const CIMClass& requestedClass,
00072 const CIMClass& cimClass );
00073
00074 virtual CIMInstance getInstance(
00075 const ProviderEnvironmentIFCRef& env,
00076 const String& ns,
00077 const CIMObjectPath& instanceName,
00078 WBEMFlags::ELocalOnlyFlag localOnly,
00079 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00080 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00081 const StringArray* propertyList,
00082 const CIMClass& cimClass );
00083
00084 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00085 virtual CIMObjectPath createInstance(
00086 const ProviderEnvironmentIFCRef& env,
00087 const String& ns,
00088 const CIMInstance& cimInstance );
00089
00090 virtual void modifyInstance(
00091 const ProviderEnvironmentIFCRef& env,
00092 const String& ns,
00093 const CIMInstance& modifiedInstance,
00094 const CIMInstance& previousInstance,
00095 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00096 const StringArray* propertyList,
00097 const CIMClass& theClass);
00098
00099 virtual void deleteInstance(
00100 const ProviderEnvironmentIFCRef& env,
00101 const String& ns,
00102 const CIMObjectPath& cop);
00103 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00104
00105 private:
00106 ClientCIMOMHandleConnectionPoolRef m_pool;
00107 String m_url;
00108 bool m_alwaysSendCredentials;
00109 bool m_useConnectionCredentials;
00110 };
00111
00112
00113 }
00114
00115
00116 #endif
00117
00118
00119