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_CIMOMHANDLE_IFC_HPP_INCLUDE_GUARD_
00037 #define OW_CIMOMHANDLE_IFC_HPP_INCLUDE_GUARD_
00038 #include "OW_config.h"
00039 #include "OW_CIMFwd.hpp"
00040 #include "OW_IntrusiveCountableBase.hpp"
00041 #include "OW_WBEMFlags.hpp"
00042 #include "OW_IfcsFwd.hpp"
00043
00044 namespace OW_NAMESPACE
00045 {
00046
00051 class OW_COMMON_API CIMOMHandleIFC : public IntrusiveCountableBase
00052 {
00053 public:
00057 virtual ~CIMOMHandleIFC();
00062 virtual void close() = 0;
00083 virtual void enumClass(const String& ns,
00084 const String& className,
00085 CIMClassResultHandlerIFC& result,
00086 WBEMFlags::EDeepFlag deep = WBEMFlags::E_SHALLOW,
00087 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00088 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00089 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN) = 0;
00109 virtual CIMClassEnumeration enumClassE(const String& ns,
00110 const String& className,
00111 WBEMFlags::EDeepFlag deep = WBEMFlags::E_SHALLOW,
00112 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00113 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00114 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN);
00134 virtual CIMClassArray enumClassA(const String& ns,
00135 const String& className,
00136 WBEMFlags::EDeepFlag deep = WBEMFlags::E_SHALLOW,
00137 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00138 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00139 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN);
00140
00155 virtual void enumClassNames(
00156 const String& ns,
00157 const String& className,
00158 StringResultHandlerIFC& result,
00159 WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP) = 0;
00173 virtual StringEnumeration enumClassNamesE(
00174 const String& ns,
00175 const String& className,
00176 WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP);
00190 virtual StringArray enumClassNamesA(
00191 const String& ns,
00192 const String& className,
00193 WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP);
00229 virtual void enumInstances(
00230 const String& ns,
00231 const String& className,
00232 CIMInstanceResultHandlerIFC& result,
00233 WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP,
00234 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00235 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00236 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00237 const StringArray* propertyList = 0) = 0;
00272 virtual CIMInstanceEnumeration enumInstancesE(
00273 const String& ns,
00274 const String& className,
00275 WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP,
00276 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00277 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00278 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00279 const StringArray* propertyList = 0);
00314 virtual CIMInstanceArray enumInstancesA(
00315 const String& ns,
00316 const String& className,
00317 WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP,
00318 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00319 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00320 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00321 const StringArray* propertyList = 0);
00334 virtual void enumInstanceNames(
00335 const String& ns,
00336 const String& className,
00337 CIMObjectPathResultHandlerIFC& result) = 0;
00348 virtual CIMObjectPathEnumeration enumInstanceNamesE(
00349 const String& ns,
00350 const String& className);
00361 virtual CIMObjectPathArray enumInstanceNamesA(
00362 const String& ns,
00363 const String& className);
00383 virtual CIMClass getClass(
00384 const String& ns,
00385 const String& className,
00386 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00387 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00388 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN,
00389 const StringArray* propertyList = 0) = 0;
00418 virtual CIMInstance getInstance(
00419 const String& ns,
00420 const CIMObjectPath& instanceName,
00421 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00422 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00423 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00424 const StringArray* propertyList = 0) = 0;
00438 virtual CIMValue invokeMethod(
00439 const String& ns,
00440 const CIMObjectPath& path,
00441 const String& methodName,
00442 const CIMParamValueArray& inParams,
00443 CIMParamValueArray& outParams) = 0;
00451 virtual CIMQualifierType getQualifierType(
00452 const String& ns,
00453 const String& qualifierName) = 0;
00454 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00455
00461 virtual void setQualifierType(
00462 const String& ns,
00463 const CIMQualifierType& qualifierType) = 0;
00470 virtual void deleteQualifierType(const String& ns, const String& qualName) = 0;
00478 virtual void enumQualifierTypes(
00479 const String& ns,
00480 CIMQualifierTypeResultHandlerIFC& result) = 0;
00488 virtual CIMQualifierTypeEnumeration enumQualifierTypesE(
00489 const String& ns);
00496 virtual CIMQualifierTypeArray enumQualifierTypesA(
00497 const String& ns);
00498 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00499 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00500
00506 virtual void modifyClass(
00507 const String& ns,
00508 const CIMClass& cimClass) = 0;
00516 virtual void createClass(
00517 const String& ns,
00518 const CIMClass& cimClass) = 0;
00525 virtual void deleteClass(const String& ns, const String& className) = 0;
00526 #endif // #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00527 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00528
00537 virtual void modifyInstance(
00538 const String& ns,
00539 const CIMInstance& modifiedInstance,
00540 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00541 const StringArray* propertyList = 0) = 0;
00550 virtual CIMObjectPath createInstance(
00551 const String& ns,
00552 const CIMInstance& instance) = 0;
00559 virtual void deleteInstance(const String& ns, const CIMObjectPath& path) = 0;
00560 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00561
00570 virtual void setProperty(
00571 const String& ns,
00572 const CIMObjectPath& instanceName,
00573 const String& propertyName,
00574 const CIMValue& newValue) = 0;
00575 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00576 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00577
00578 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00579
00588 virtual CIMValue getProperty(
00589 const String& ns,
00590 const CIMObjectPath& instanceName,
00591 const String& propertyName) = 0;
00592 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00593
00594 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00595
00632 virtual void associatorNames(
00633 const String& ns,
00634 const CIMObjectPath& objectName,
00635 CIMObjectPathResultHandlerIFC& result,
00636 const String& assocClass = String(),
00637 const String& resultClass = String(),
00638 const String& role = String(),
00639 const String& resultRole = String()) = 0;
00650 virtual CIMObjectPathEnumeration associatorNamesE(
00651 const String& ns,
00652 const CIMObjectPath& objectName,
00653 const String& assocClass = String(),
00654 const String& resultClass = String(),
00655 const String& role = String(),
00656 const String& resultRole = String());
00667 virtual CIMObjectPathArray associatorNamesA(
00668 const String& ns,
00669 const CIMObjectPath& objectName,
00670 const String& assocClass = String(),
00671 const String& resultClass = String(),
00672 const String& role = String(),
00673 const String& resultRole = String());
00752 virtual void associators(
00753 const String& ns,
00754 const CIMObjectPath& path,
00755 CIMInstanceResultHandlerIFC& result,
00756 const String& assocClass = String(),
00757 const String& resultClass = String(),
00758 const String& role = String(),
00759 const String& resultRole = String(),
00760 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00761 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00762 const StringArray* propertyList = 0) = 0;
00775 virtual CIMInstanceEnumeration associatorsE(
00776 const String& ns,
00777 const CIMObjectPath& path,
00778 const String& assocClass = String(),
00779 const String& resultClass = String(),
00780 const String& role = String(),
00781 const String& resultRole = String(),
00782 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00783 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00784 const StringArray* propertyList = 0);
00797 virtual CIMInstanceArray associatorsA(
00798 const String& ns,
00799 const CIMObjectPath& path,
00800 const String& assocClass = String(),
00801 const String& resultClass = String(),
00802 const String& role = String(),
00803 const String& resultRole = String(),
00804 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00805 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00806 const StringArray* propertyList = 0);
00888 virtual void associatorsClasses(
00889 const String& ns,
00890 const CIMObjectPath& path,
00891 CIMClassResultHandlerIFC& result,
00892 const String& assocClass = String(),
00893 const String& resultClass = String(),
00894 const String& role = String(),
00895 const String& resultRole = String(),
00896 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00897 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00898 const StringArray* propertyList = 0) = 0;
00913 virtual CIMClassEnumeration associatorsClassesE(
00914 const String& ns,
00915 const CIMObjectPath& path,
00916 const String& assocClass = String(),
00917 const String& resultClass = String(),
00918 const String& role = String(),
00919 const String& resultRole = String(),
00920 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00921 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00922 const StringArray* propertyList = 0);
00935 virtual CIMClassArray associatorsClassesA(
00936 const String& ns,
00937 const CIMObjectPath& path,
00938 const String& assocClass = String(),
00939 const String& resultClass = String(),
00940 const String& role = String(),
00941 const String& resultRole = String(),
00942 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00943 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00944 const StringArray* propertyList = 0);
00970 virtual void referenceNames(
00971 const String& ns,
00972 const CIMObjectPath& path,
00973 CIMObjectPathResultHandlerIFC& result,
00974 const String& resultClass = String(),
00975 const String& role = String()) = 0;
00990 virtual CIMObjectPathEnumeration referenceNamesE(
00991 const String& ns,
00992 const CIMObjectPath& path,
00993 const String& resultClass = String(),
00994 const String& role = String());
01009 virtual CIMObjectPathArray referenceNamesA(
01010 const String& ns,
01011 const CIMObjectPath& path,
01012 const String& resultClass = String(),
01013 const String& role = String());
01048 virtual void references(
01049 const String& ns,
01050 const CIMObjectPath& path,
01051 CIMInstanceResultHandlerIFC& result,
01052 const String& resultClass = String(),
01053 const String& role = String(),
01054 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01055 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01056 const StringArray* propertyList = 0) = 0;
01071 virtual CIMInstanceEnumeration referencesE(
01072 const String& ns,
01073 const CIMObjectPath& path,
01074 const String& resultClass = String(),
01075 const String& role = String(),
01076 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01077 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01078 const StringArray* propertyList = 0);
01093 virtual CIMInstanceArray referencesA(
01094 const String& ns,
01095 const CIMObjectPath& path,
01096 const String& resultClass = String(),
01097 const String& role = String(),
01098 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01099 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01100 const StringArray* propertyList = 0);
01109 virtual void referencesClasses(
01110 const String& ns,
01111 const CIMObjectPath& path,
01112 CIMClassResultHandlerIFC& result,
01113 const String& resultClass = String(),
01114 const String& role = String(),
01115 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01116 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01117 const StringArray* propertyList = 0) = 0;
01132 virtual CIMClassEnumeration referencesClassesE(
01133 const String& ns,
01134 const CIMObjectPath& path,
01135 const String& resultClass = String(),
01136 const String& role = String(),
01137 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01138 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01139 const StringArray* propertyList = 0);
01154 virtual CIMClassArray referencesClassesA(
01155 const String& ns,
01156 const CIMObjectPath& path,
01157 const String& resultClass = String(),
01158 const String& role = String(),
01159 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01160 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01161 const StringArray* propertyList = 0);
01162 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
01163
01184 virtual void execQuery(
01185 const String& ns,
01186 CIMInstanceResultHandlerIFC& result,
01187 const String& query,
01188 const String& queryLanguage) = 0;
01203 virtual CIMInstanceEnumeration execQueryE(
01204 const String& ns,
01205 const String& query,
01206 const String& queryLanguage);
01221 virtual CIMInstanceArray execQueryA(
01222 const String& ns,
01223 const String& query,
01224 const String& queryLanguage);
01225
01232 virtual CIMFeatures getServerFeatures();
01239 virtual void exportIndication(const CIMInstance& instance,
01240 const String& instNS);
01241 };
01242
01243 }
01244
01245 #endif