OW_RepositoryIFC.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 
00036 #ifndef OW_REPOSITORYIFC_HPP_INCLUDE_GUARD_
00037 #define OW_REPOSITORYIFC_HPP_INCLUDE_GUARD_
00038 #include "OW_config.h"
00039 #include "OW_CIMFwd.hpp"
00040 #include "OW_SharedLibraryReference.hpp"
00041 #include "OW_ResultHandlerIFC.hpp"
00042 #include "OW_ServiceEnvironmentIFC.hpp"
00043 #include "OW_WBEMFlags.hpp"
00044 #include "OW_CommonFwd.hpp"
00045 #include "OW_IfcsFwd.hpp"
00046 #include "OW_ServiceIFC.hpp"
00047 
00048 // The classes and functions defined in this file are not meant for general
00049 // use, they are internal implementation details.  They may change at any time.
00050 
00051 namespace OW_NAMESPACE
00052 {
00053 
00054 class OW_COMMON_API RepositoryIFC : public ServiceIFC
00055 {
00056    typedef ServiceIFC base_t;
00057 
00058 public:
00059    RepositoryIFC();
00060    RepositoryIFC(const RepositoryIFC& x);
00061    virtual ~RepositoryIFC();
00066    virtual void open(const String& path) = 0;
00070    virtual void close() = 0;
00071 
00072    virtual ServiceEnvironmentIFCRef getEnvironment() const = 0;
00073 #if !defined(OW_DISABLE_INSTANCE_MANIPULATION) && !defined(OW_DISABLE_NAMESPACE_MANIPULATION)
00074 
00080    virtual void createNameSpace(const String& ns,
00081       OperationContext& context) = 0;
00088    virtual void deleteNameSpace(const String& ns,
00089       OperationContext& context) = 0;
00090 #endif
00091 
00098    virtual void enumNameSpace(
00099       StringResultHandlerIFC& result,
00100       OperationContext& context) = 0;
00111    virtual CIMQualifierType getQualifierType(
00112       const String& ns,
00113       const String& qualifierName, OperationContext& context) = 0;
00114 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00115 
00123    virtual void enumQualifierTypes(
00124       const String& ns,
00125       CIMQualifierTypeResultHandlerIFC& result,
00126       OperationContext& context) = 0;
00134    virtual void deleteQualifierType(const String& ns, const String& qualName,
00135       OperationContext& context) = 0;
00144    virtual void setQualifierType(const String& ns,
00145       const CIMQualifierType& qt, OperationContext& context) = 0;
00146 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00147 
00172    virtual CIMClass getClass(
00173       const String& ns,
00174       const String& className,
00175       WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00176       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00177       OperationContext& context) = 0;
00178 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00179 
00190    virtual CIMClass deleteClass(const String& ns, const String& className,
00191       OperationContext& context) = 0;
00203    virtual void createClass(const String& ns,
00204       const CIMClass& cimClass, OperationContext& context) = 0;
00216    virtual CIMClass modifyClass(const String &ns,
00217       const CIMClass& cimClass, OperationContext& context) = 0;
00218 #endif // #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00219 
00241    virtual void enumClasses(const String& ns,
00242       const String& className,
00243       CIMClassResultHandlerIFC& result,
00244       WBEMFlags::EDeepFlag deep, WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00245       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, OperationContext& context) = 0;
00261    virtual void enumClassNames(const String& ns,
00262       const String& className,
00263       StringResultHandlerIFC& result,
00264       WBEMFlags::EDeepFlag deep, OperationContext& context) = 0;
00293    virtual void enumInstances(
00294       const String& ns,
00295       const String& className,
00296       CIMInstanceResultHandlerIFC& result,
00297       WBEMFlags::EDeepFlag deep,
00298       WBEMFlags::ELocalOnlyFlag localOnly,
00299       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00300       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00301       const StringArray* propertyList,
00302       WBEMFlags::EEnumSubclassesFlag enumSubclasses,
00303       OperationContext& context) = 0;
00321    virtual void enumInstanceNames(
00322       const String& ns,
00323       const String& className,
00324       CIMObjectPathResultHandlerIFC& result,
00325       WBEMFlags::EDeepFlag deep,
00326       OperationContext& context) = 0;
00349    virtual CIMInstance getInstance(
00350       const String& ns,
00351       const CIMObjectPath& instanceName,
00352       WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00353       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00354       OperationContext& context) = 0;
00355 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00356 
00369    virtual CIMInstance deleteInstance(const String& ns, const CIMObjectPath& cop,
00370       OperationContext& context) = 0;
00381    virtual CIMObjectPath createInstance(const String& ns,
00382       const CIMInstance& ci, OperationContext& context) = 0;
00398    virtual CIMInstance modifyInstance(
00399       const String& ns,
00400       const CIMInstance& modifiedInstance,
00401       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00402       const StringArray* propertyList,
00403       OperationContext& context) = 0;
00404 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00405 
00414    virtual void setProperty(
00415       const String& ns,
00416       const CIMObjectPath& name,
00417       const String& propertyName, const CIMValue& cv,
00418       OperationContext& context) = 0;
00419 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00420 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00421    
00422 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00423 
00433    virtual CIMValue getProperty(
00434       const String& ns,
00435       const CIMObjectPath& name,
00436       const String& propertyName, OperationContext& context) = 0;
00437 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00438 
00451    virtual CIMValue invokeMethod(
00452       const String& ns,
00453       const CIMObjectPath& path,
00454       const String& methodName, const CIMParamValueArray& inParams,
00455       CIMParamValueArray& outParams, OperationContext& context) = 0;
00456 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00457 
00494    virtual void associatorNames(
00495       const String& ns,
00496       const CIMObjectPath& path,
00497       CIMObjectPathResultHandlerIFC& result,
00498       const String& assocClass,
00499       const String& resultClass, const String& role,
00500       const String& resultRole, OperationContext& context) = 0;
00579    virtual void associators(
00580       const String& ns,
00581       const CIMObjectPath& path,
00582       CIMInstanceResultHandlerIFC& result,
00583       const String& assocClass,
00584       const String& resultClass, const String& role,
00585       const String& resultRole,  WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00586       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00587       OperationContext& context) = 0;
00669    virtual void associatorsClasses(
00670       const String& ns,
00671       const CIMObjectPath& path,
00672       CIMClassResultHandlerIFC& result,
00673       const String& assocClass,
00674       const String& resultClass, const String& role,
00675       const String& resultRole,  WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00676       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00677       OperationContext& context) = 0;
00703    virtual void referenceNames(
00704       const String& ns,
00705       const CIMObjectPath& path,
00706       CIMObjectPathResultHandlerIFC& result,
00707       const String& resultClass,
00708       const String& role, OperationContext& context) = 0;
00743     virtual void references(
00744       const String& ns,
00745       const CIMObjectPath& path,
00746       CIMInstanceResultHandlerIFC& result,
00747       const String& resultClass,
00748       const String& role, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00749       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00750       OperationContext& context) = 0;
00759    virtual void referencesClasses(
00760       const String& ns,
00761       const CIMObjectPath& path,
00762       CIMClassResultHandlerIFC& result,
00763       const String& resultClass,
00764       const String& role, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00765       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00766       OperationContext& context) = 0;
00767 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00768 
00789    virtual void execQuery(
00790       const String& ns,
00791       CIMInstanceResultHandlerIFC& result,
00792       const String &query, const String& queryLanguage,
00793       OperationContext& context) = 0;
00800    virtual void exportIndication(const CIMInstance&,
00801       const String&);
00802 
00803    virtual void beginOperation(WBEMFlags::EOperationFlag op, OperationContext& context) = 0;
00804    virtual void endOperation(WBEMFlags::EOperationFlag op, OperationContext& context, WBEMFlags::EOperationResultFlag result) = 0;
00805 };
00806 
00807 } // end namespace OW_NAMESPACE
00808 
00809 #endif

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