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
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
00049
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 }
00808
00809 #endif