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_BINARYCIMOMHANDLE_HPP_
00037 #define OW_BINARYCIMOMHANDLE_HPP_
00038 #include "OW_config.h"
00039 #include "OW_ClientCIMOMHandle.hpp"
00040 #include "OW_CIMProtocolIFC.hpp"
00041
00042 namespace OW_NAMESPACE
00043 {
00044
00045 class OW_CLIENT_API BinaryCIMOMHandle : public ClientCIMOMHandle
00046 {
00047 public:
00060 BinaryCIMOMHandle( const CIMProtocolIFCRef& prot );
00061
00065 virtual CIMProtocolIFCRef getWBEMProtocolHandler() const;
00066
00071 virtual void close();
00072 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00073
00078 virtual void deleteQualifierType(const String& ns, const String& qualName);
00088 virtual void setQualifierType(const String& ns,
00089 const CIMQualifierType &qt);
00097 virtual void enumQualifierTypes(
00098 const String& ns,
00099 CIMQualifierTypeResultHandlerIFC& result);
00100 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00101
00117 virtual void enumClass(const String& ns,
00118 const String& className,
00119 CIMClassResultHandlerIFC& result,
00120 WBEMFlags::EDeepFlag deep = WBEMFlags::E_SHALLOW,
00121 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00122 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00123 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN);
00135 virtual void enumClassNames(
00136 const String& ns,
00137 const String& className,
00138 StringResultHandlerIFC& result,
00139 WBEMFlags::EDeepFlag deep=WBEMFlags::E_DEEP);
00165 virtual CIMInstance getInstance(
00166 const String& ns,
00167 const CIMObjectPath& instanceName,
00168 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00169 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00170 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00171 const StringArray* propertyList=0);
00203 virtual void enumInstances(
00204 const String& ns,
00205 const String& className,
00206 CIMInstanceResultHandlerIFC& result,
00207 WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP,
00208 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00209 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00210 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00211 const StringArray* propertyList=0);
00218 virtual CIMQualifierType getQualifierType(const String& ns,
00219 const String& qualifierName);
00229 virtual void enumInstanceNames(
00230 const String& ns,
00231 const String& className,
00232 CIMObjectPathResultHandlerIFC& result);
00251 virtual CIMClass getClass(
00252 const String& ns,
00253 const String& className,
00254 WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00255 WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00256 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN,
00257 const StringArray* propertyList=NULL);
00269 virtual CIMValue invokeMethod(
00270 const String& ns,
00271 const CIMObjectPath& path,
00272 const String &methodName, const CIMParamValueArray &inParams,
00273 CIMParamValueArray &outParams);
00274 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00275
00282 virtual void createClass(const String& ns,
00283 const CIMClass &cc);
00291 virtual void modifyClass(const String &ns, const CIMClass &cc);
00297 virtual void deleteClass(const String& ns, const String& className);
00298 #endif // #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00299 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00300
00309 virtual CIMObjectPath createInstance(const String& ns,
00310 const CIMInstance &ci);
00319 virtual void modifyInstance(
00320 const String& ns,
00321 const CIMInstance& modifiedInstance,
00322 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00323 const StringArray* propertyList);
00332 virtual void deleteInstance(const String& ns, const CIMObjectPath &path);
00333 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00334
00342 virtual void setProperty(
00343 const String& ns,
00344 const CIMObjectPath &name,
00345 const String &propertyName, const CIMValue &cv);
00346 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00347 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00348 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00349
00357 virtual CIMValue getProperty(
00358 const String& ns,
00359 const CIMObjectPath &name,
00360 const String &propertyName);
00361 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00362 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00363
00437 virtual void associators(
00438 const String& ns,
00439 const CIMObjectPath &path,
00440 CIMInstanceResultHandlerIFC& result,
00441 const String &assocClass, const String &resultClass,
00442 const String &role, const String &resultRole,
00443 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00444 const StringArray* propertyList);
00445 virtual void associatorsClasses(
00446 const String& ns,
00447 const CIMObjectPath& path,
00448 CIMClassResultHandlerIFC& result,
00449 const String& assocClass=String(),
00450 const String& resultClass=String(),
00451 const String& role=String(),
00452 const String& resultRole=String(),
00453 WBEMFlags::EIncludeQualifiersFlag includeQualifiers=WBEMFlags::E_EXCLUDE_QUALIFIERS,
00454 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin=WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00455 const StringArray* propertyList=0);
00486 virtual void references(
00487 const String& ns,
00488 const CIMObjectPath &path,
00489 CIMInstanceResultHandlerIFC& result,
00490 const String &resultClass, const String &role,
00491 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00492 const StringArray* propertyList);
00506 virtual void referenceNames(
00507 const String& ns,
00508 const CIMObjectPath &path,
00509 CIMObjectPathResultHandlerIFC& result,
00510 const String &resultClass,
00511 const String &role);
00512 virtual void referencesClasses(
00513 const String& ns,
00514 const CIMObjectPath &path,
00515 CIMClassResultHandlerIFC& result,
00516 const String &resultClass, const String &role,
00517 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00518 const StringArray* propertyList);
00558 virtual void associatorNames(
00559 const String& ns,
00560 const CIMObjectPath &path,
00561 CIMObjectPathResultHandlerIFC& result,
00562 const String &assocClass,
00563 const String &resultClass, const String &role,
00564 const String &resultRole);
00565 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00566
00590 CIMInstanceEnumeration execQuery(
00591 const String& ns,
00592 const String &query, int wqlLevel);
00613 virtual void execQuery(
00614 const String& ns,
00615 CIMInstanceResultHandlerIFC& result,
00616 const String& query, const String& queryLanguage);
00617 virtual CIMFeatures getServerFeatures();
00618
00626 virtual bool setHTTPRequestHeader(const String& hdrName,
00627 const String& hdrValue);
00628
00638 virtual bool getHTTPResponseHeader(const String& hdrName,
00639 String& valueOut) const;
00640
00641 private:
00642
00643 #ifdef OW_WIN32
00644 #pragma warning (push)
00645 #pragma warning (disable: 4251)
00646 #endif
00647
00648 CIMProtocolIFCRef m_protocol;
00649
00650 #ifdef OW_WIN32
00651 #pragma warning (pop)
00652 #endif
00653
00654 };
00655
00656 }
00657
00658 #endif