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 "OW_CppProxyProvider.hpp"
00037 #include "OW_CIMValue.hpp"
00038 #include "OW_CIMClass.hpp"
00039 #include "OW_CIMInstance.hpp"
00040 #include "OW_CIMObjectPath.hpp"
00041
00042 namespace OW_NAMESPACE
00043 {
00044
00045 using namespace WBEMFlags;
00046 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00047
00048 CppAssociatorProviderProxy::CppAssociatorProviderProxy(
00049 CppAssociatorProviderIFCRef pProv) :
00050 AssociatorProviderIFC(), m_pProv(pProv)
00051 {
00052 }
00054 void
00055 CppAssociatorProviderProxy::associators(
00056 const ProviderEnvironmentIFCRef& env,
00057 CIMInstanceResultHandlerIFC& result,
00058 const String& ns,
00059 const CIMObjectPath& objectName,
00060 const String& assocClass,
00061 const String& resultClass,
00062 const String& role,
00063 const String& resultRole,
00064 EIncludeQualifiersFlag includeQualifiers,
00065 EIncludeClassOriginFlag includeClassOrigin,
00066 const StringArray* propertyList)
00067 {
00068 m_pProv->updateAccessTime();
00069 m_pProv->associators(env, result, ns, objectName, assocClass, resultClass, role,
00070 resultRole, includeQualifiers, includeClassOrigin, propertyList);
00071 }
00073 void
00074 CppAssociatorProviderProxy::associatorNames(
00075 const ProviderEnvironmentIFCRef& env,
00076 CIMObjectPathResultHandlerIFC& result,
00077 const String& ns,
00078 const CIMObjectPath& objectName,
00079 const String& assocClass,
00080 const String& resultClass,
00081 const String& role,
00082 const String& resultRole)
00083 {
00084 m_pProv->updateAccessTime();
00085 m_pProv->associatorNames(env, result, ns, objectName, assocClass, resultClass,
00086 role, resultRole);
00087 }
00089 void
00090 CppAssociatorProviderProxy::references(
00091 const ProviderEnvironmentIFCRef& env,
00092 CIMInstanceResultHandlerIFC& result,
00093 const String& ns,
00094 const CIMObjectPath& objectName,
00095 const String& resultClass,
00096 const String& role,
00097 EIncludeQualifiersFlag includeQualifiers,
00098 EIncludeClassOriginFlag includeClassOrigin,
00099 const StringArray* propertyList)
00100 {
00101 m_pProv->updateAccessTime();
00102 m_pProv->references(env, result, ns, objectName, resultClass, role,
00103 includeQualifiers, includeClassOrigin, propertyList);
00104 }
00106 void
00107 CppAssociatorProviderProxy::referenceNames(
00108 const ProviderEnvironmentIFCRef& env,
00109 CIMObjectPathResultHandlerIFC& result,
00110 const String& ns,
00111 const CIMObjectPath& objectName,
00112 const String& resultClass,
00113 const String& role)
00114 {
00115 m_pProv->updateAccessTime();
00116 m_pProv->referenceNames(env, result, ns, objectName, resultClass, role);
00117 }
00118 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00119
00120 CppInstanceProviderProxy::CppInstanceProviderProxy(
00121 CppInstanceProviderIFCRef pProv) :
00122 InstanceProviderIFC(), m_pProv(pProv)
00123 {
00124 }
00126 void
00127 CppInstanceProviderProxy::enumInstanceNames(
00128 const ProviderEnvironmentIFCRef& env,
00129 const String& ns,
00130 const String& className,
00131 CIMObjectPathResultHandlerIFC& result,
00132 const CIMClass& cimClass)
00133 {
00134 m_pProv->updateAccessTime();
00135 return m_pProv->enumInstanceNames(env, ns, className, result, cimClass);
00136 }
00138 void
00139 CppInstanceProviderProxy::enumInstances(
00140 const ProviderEnvironmentIFCRef& env,
00141 const String& ns,
00142 const String& className,
00143 CIMInstanceResultHandlerIFC& result,
00144 ELocalOnlyFlag localOnly,
00145 EDeepFlag deep,
00146 EIncludeQualifiersFlag includeQualifiers,
00147 EIncludeClassOriginFlag includeClassOrigin,
00148 const StringArray* propertyList,
00149 const CIMClass& requestedClass,
00150 const CIMClass& cimClass)
00151 {
00152 m_pProv->updateAccessTime();
00153 m_pProv->enumInstances(env, ns, className, result, localOnly, deep,
00154 includeQualifiers, includeClassOrigin, propertyList, requestedClass,
00155 cimClass);
00156 }
00158 CIMInstance
00159 CppInstanceProviderProxy::getInstance(
00160 const ProviderEnvironmentIFCRef& env,
00161 const String& ns,
00162 const CIMObjectPath& instanceName,
00163 ELocalOnlyFlag localOnly,
00164 EIncludeQualifiersFlag includeQualifiers,
00165 EIncludeClassOriginFlag includeClassOrigin,
00166 const StringArray* propertyList,
00167 const CIMClass& cimClass)
00168 {
00169 m_pProv->updateAccessTime();
00170 return m_pProv->getInstance(env, ns, instanceName, localOnly,
00171 includeQualifiers, includeClassOrigin, propertyList, cimClass);
00172 }
00173 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00174
00175 CIMObjectPath
00176 CppInstanceProviderProxy::createInstance(
00177 const ProviderEnvironmentIFCRef& env,
00178 const String& ns,
00179 const CIMInstance& cimInstance)
00180 {
00181 m_pProv->updateAccessTime();
00182 return m_pProv->createInstance(env, ns, cimInstance);
00183 }
00185 void
00186 CppInstanceProviderProxy::modifyInstance(
00187 const ProviderEnvironmentIFCRef& env,
00188 const String& ns,
00189 const CIMInstance& modifiedInstance,
00190 const CIMInstance& previousInstance,
00191 EIncludeQualifiersFlag includeQualifiers,
00192 const StringArray* propertyList,
00193 const CIMClass& theClass)
00194 {
00195 m_pProv->updateAccessTime();
00196 m_pProv->modifyInstance(env, ns, modifiedInstance, previousInstance,
00197 includeQualifiers, propertyList, theClass);
00198 }
00200 void
00201 CppInstanceProviderProxy::deleteInstance(
00202 const ProviderEnvironmentIFCRef& env,
00203 const String& ns,
00204 const CIMObjectPath& cop)
00205 {
00206 m_pProv->updateAccessTime();
00207 m_pProv->deleteInstance(env, ns, cop);
00208 }
00209 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00210
00212 CppSecondaryInstanceProviderProxy::CppSecondaryInstanceProviderProxy(CppSecondaryInstanceProviderIFCRef pProv)
00213 : SecondaryInstanceProviderIFC()
00214 , m_pProv(pProv)
00215 {
00216 }
00218 void
00219 CppSecondaryInstanceProviderProxy::filterInstances(
00220 const ProviderEnvironmentIFCRef &env, const String &ns,
00221 const String &className, CIMInstanceArray &instances,
00222 ELocalOnlyFlag localOnly, EDeepFlag deep,
00223 EIncludeQualifiersFlag includeQualifiers,
00224 EIncludeClassOriginFlag includeClassOrigin,
00225 const StringArray *propertyList, const CIMClass &requestedClass,
00226 const CIMClass &cimClass)
00227 {
00228 m_pProv->updateAccessTime();
00229 m_pProv->filterInstances(env, ns, className, instances, localOnly, deep, includeQualifiers, includeClassOrigin, propertyList, requestedClass, cimClass);
00230 }
00231 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00232
00233 void
00234 CppSecondaryInstanceProviderProxy::createInstance(const ProviderEnvironmentIFCRef &env, const String &ns, const CIMInstance &cimInstance)
00235 {
00236 m_pProv->updateAccessTime();
00237 m_pProv->createInstance(env, ns, cimInstance);
00238 }
00240 void
00241 CppSecondaryInstanceProviderProxy::modifyInstance(const ProviderEnvironmentIFCRef &env, const String &ns, const CIMInstance &modifiedInstance,
00242 const CIMInstance &previousInstance, WBEMFlags:: EIncludeQualifiersFlag includeQualifiers, const StringArray *propertyList, const CIMClass &theClass)
00243 {
00244 m_pProv->updateAccessTime();
00245 m_pProv->modifyInstance(env, ns, modifiedInstance, previousInstance, includeQualifiers, propertyList, theClass);
00246 }
00248 void
00249 CppSecondaryInstanceProviderProxy::deleteInstance(const ProviderEnvironmentIFCRef &env, const String &ns, const CIMObjectPath &cop)
00250 {
00251 m_pProv->updateAccessTime();
00252 m_pProv->deleteInstance(env, ns, cop);
00253 }
00254 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00255
00257 CppMethodProviderProxy::CppMethodProviderProxy(CppMethodProviderIFCRef pProv) :
00258 MethodProviderIFC(), m_pProv(pProv)
00259 {
00260 }
00262 CIMValue
00263 CppMethodProviderProxy::invokeMethod(
00264 const ProviderEnvironmentIFCRef& env,
00265 const String& ns,
00266 const CIMObjectPath& path,
00267 const String& methodName,
00268 const CIMParamValueArray& in,
00269 CIMParamValueArray& out)
00270 {
00271 m_pProv->updateAccessTime();
00272 return m_pProv->invokeMethod(env, ns, path, methodName, in, out);
00273 }
00274
00275 }
00276