OW_IndicationRepLayerImpl.hpp

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 #ifndef OW_INDICATION_REP_LAYER_IMPL_HPP_
00036 #define OW_INDICATION_REP_LAYER_IMPL_HPP_
00037 #include "OW_config.h"
00038 #include "OW_IndicationRepLayer.hpp"
00039 #include "OW_CimomCommonFwd.hpp"
00040 
00041 namespace OW_NAMESPACE
00042 {
00043 
00044 class OW_INDICATIONREPLAYER_API IndicationRepLayerImpl : public IndicationRepLayer
00045 {
00046 public:
00047    IndicationRepLayerImpl();
00048    ~IndicationRepLayerImpl();
00049    virtual void open(const String&);
00050    virtual void close();
00051    virtual String getName() const;
00052    virtual void init(const ServiceEnvironmentIFCRef& env);
00053    virtual void shutdown();
00054    virtual ServiceEnvironmentIFCRef getEnvironment() const;
00055    virtual void enumClasses(const String& ns,
00056       const String& className,
00057       CIMClassResultHandlerIFC& result,
00058       WBEMFlags::EDeepFlag deep, WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00059       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, OperationContext& context);
00060    virtual void enumClassNames(
00061       const String& ns,
00062       const String& className,
00063       StringResultHandlerIFC& result,
00064       WBEMFlags::EDeepFlag deep, OperationContext& context);
00065    virtual CIMInstance getInstance(
00066       const String& ns,
00067       const CIMObjectPath& instanceName,
00068       WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00069       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00070       OperationContext& context);
00071    virtual void enumInstances(
00072       const String& ns,
00073       const String& className,
00074       CIMInstanceResultHandlerIFC& result,
00075       WBEMFlags::EDeepFlag deep,
00076       WBEMFlags::ELocalOnlyFlag localOnly,
00077       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00078       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00079       const StringArray* propertyList,
00080       WBEMFlags::EEnumSubclassesFlag enumSubclasses,
00081       OperationContext& context);
00082    virtual void enumInstanceNames(
00083       const String& ns,
00084       const String& className,
00085       CIMObjectPathResultHandlerIFC& result,
00086       WBEMFlags::EDeepFlag deep, OperationContext& context);
00087    virtual CIMQualifierType getQualifierType(
00088       const String& ns,
00089       const String& qualifierName, OperationContext& context);
00090    virtual CIMClass getClass(
00091       const String& ns,
00092       const String& className,
00093       WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00094       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00095       OperationContext& context);
00096    virtual CIMValue invokeMethod(
00097       const String& ns,
00098       const CIMObjectPath& path,
00099       const String &methodName, const CIMParamValueArray &inParams,
00100       CIMParamValueArray &outParams, OperationContext& context);
00101 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00102    virtual void createClass(const String& ns,
00103       const CIMClass &cc, OperationContext& context);
00104    virtual CIMClass modifyClass(const String &ns,
00105       const CIMClass& cc, OperationContext& context);
00106    virtual CIMClass deleteClass(const String& ns, const String& className,
00107       OperationContext& context);
00108 #endif // #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00109 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00110    virtual void enumQualifierTypes(
00111       const String& ns,
00112       CIMQualifierTypeResultHandlerIFC& result, OperationContext& context);
00113    virtual void deleteQualifierType(const String& ns, const String& qualName,
00114       OperationContext& context);
00115    virtual void setQualifierType(const String& ns,
00116       const CIMQualifierType& qt, OperationContext& context);
00117 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00118 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00119    virtual CIMObjectPath createInstance(const String& ns,
00120       const CIMInstance &ci, OperationContext& context);
00121    virtual CIMInstance deleteInstance(const String& ns, const CIMObjectPath &path,
00122       OperationContext& context);
00123    virtual CIMInstance modifyInstance(
00124       const String& ns,
00125       const CIMInstance& modifiedInstance,
00126       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00127       const StringArray* propertyList,
00128       OperationContext& context);
00129 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00130    virtual void setProperty(
00131       const String& ns,
00132       const CIMObjectPath &name,
00133       const String &propertyName, const CIMValue &cv,
00134       OperationContext& context);
00135 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00136 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00137 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00138    virtual CIMValue getProperty(
00139       const String& ns,
00140       const CIMObjectPath &name,
00141       const String &propertyName, OperationContext& context);
00142 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00143 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00144    virtual void associators(
00145       const String& ns,
00146       const CIMObjectPath &path,
00147       CIMInstanceResultHandlerIFC& result,
00148       const String &assocClass, const String &resultClass,
00149       const String &role, const String &resultRole,
00150       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00151       const StringArray* propertyList, OperationContext& context);
00152    virtual void associatorsClasses(
00153       const String& ns,
00154       const CIMObjectPath &path,
00155       CIMClassResultHandlerIFC& result,
00156       const String &assocClass, const String &resultClass,
00157       const String &role, const String &resultRole,
00158       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00159       const StringArray* propertyList, OperationContext& context);
00160    virtual void references(
00161       const String& ns,
00162       const CIMObjectPath &path,
00163       CIMInstanceResultHandlerIFC& result,
00164       const String &resultClass, const String &role,
00165       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00166       const StringArray* propertyList, OperationContext& context);
00167    virtual void referencesClasses(
00168       const String& ns,
00169       const CIMObjectPath &path,
00170       CIMClassResultHandlerIFC& result,
00171       const String &resultClass, const String &role,
00172       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00173       const StringArray* propertyList, OperationContext& context);
00174    virtual void associatorNames(
00175       const String& ns,
00176       const CIMObjectPath &path,
00177       CIMObjectPathResultHandlerIFC& result,
00178       const String &assocClass,
00179       const String &resultClass, const String &role,
00180       const String &resultRole, OperationContext& context);
00181    virtual void referenceNames(
00182       const String& ns,
00183       const CIMObjectPath &path,
00184       CIMObjectPathResultHandlerIFC& result,
00185       const String &resultClass,
00186       const String &role, OperationContext& context);
00187 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00188    
00189    virtual void execQuery(
00190       const String& ns,
00191       CIMInstanceResultHandlerIFC& result,
00192       const String &query, const String& queryLanguage,
00193       OperationContext& context);
00194 #if !defined(OW_DISABLE_INSTANCE_MANIPULATION) && !defined(OW_DISABLE_NAMESPACE_MANIPULATION)
00195    void deleteNameSpace(const String &ns, OperationContext& context);
00196    void createNameSpace(const String& ns, OperationContext& context);
00197 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00198    void enumNameSpace(StringResultHandlerIFC& result,
00199       OperationContext& context);
00200    
00201    virtual void beginOperation(WBEMFlags::EOperationFlag op, OperationContext& context);
00202    virtual void endOperation(WBEMFlags::EOperationFlag op, OperationContext& context, WBEMFlags::EOperationResultFlag result);
00203    virtual void setCIMServer(const RepositoryIFCRef& src);
00204 private:
00205    void exportIndication(const CIMInstance& instance,
00206       const String& instNS);
00207    RepositoryIFCRef m_pServer;
00208    CIMOMEnvironmentRef m_pEnv;
00209 };
00210 
00211 } // end namespace OW_NAMESPACE
00212 
00213 #endif

Generated on Thu Feb 9 08:48:00 2006 for openwbem by  doxygen 1.4.6