OW_CppProxyProvider.cpp

Go to the documentation of this file.
00001 /*******************************************************************************
00002 * Copyright (C) 2001-2004 Vintela, Inc. All rights reserved.
00003 *
00004 * Redistribution and use in source and binary forms, with or without
00005 * modification, are permitted provided that the following conditions are met:
00006 *
00007 *  - Redistributions of source code must retain the above copyright notice,
00008 *    this list of conditions and the following disclaimer.
00009 *
00010 *  - Redistributions in binary form must reproduce the above copyright notice,
00011 *    this list of conditions and the following disclaimer in the documentation
00012 *    and/or other materials provided with the distribution.
00013 *
00014 *  - Neither the name of Vintela, Inc. nor the names of its
00015 *    contributors may be used to endorse or promote products derived from this
00016 *    software without specific prior written permission.
00017 *
00018 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
00019 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00020 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00021 * ARE DISCLAIMED. IN NO EVENT SHALL Vintela, Inc. OR THE CONTRIBUTORS
00022 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00023 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00024 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00025 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00026 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00027 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00028 * POSSIBILITY OF SUCH DAMAGE.
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 } // end namespace OW_NAMESPACE
00276 

Generated on Thu Feb 9 08:47:58 2006 for openwbem by  doxygen 1.4.6