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
00035 #ifndef OW_WQLFILTERREP_HPP_INCLUDE_GUARD_
00036 #define OW_WQLFILTERREP_HPP_INCLUDE_GUARD_
00037 #include "OW_config.h"
00038 #include "OW_RepositoryIFC.hpp"
00039 #include "OW_CIMFwd.hpp"
00040 #include "OW_CIMInstance.hpp"
00041 #include "OW_CimomCommonFwd.hpp"
00042
00043 namespace OW_NAMESPACE
00044 {
00045
00046 class OW_CIMOMCOMMON_API WQLFilterRep : public RepositoryIFC
00047 {
00048 public:
00049 WQLFilterRep(const CIMInstance& inst, const RepositoryIFCRef& cimServer);
00054 virtual void open(const String &) {}
00058 virtual void close() {}
00059 virtual String getName() const;
00060 virtual void init(const ServiceEnvironmentIFCRef& env) {}
00061 virtual void shutdown() {}
00065 virtual ServiceEnvironmentIFCRef getEnvironment() const;
00073 virtual void enumNameSpace(StringResultHandlerIFC& result,
00074 OperationContext& context);
00075 #if !defined(OW_DISABLE_INSTANCE_MANIPULATION) && !defined(OW_DISABLE_NAMESPACE_MANIPULATION)
00076
00081 virtual void createNameSpace(const String& ns,
00082 OperationContext& context);
00089 virtual void deleteNameSpace(const String& ns,
00090 OperationContext& context);
00091 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00092
00101 virtual CIMQualifierType getQualifierType(
00102 const String& ns,
00103 const String& qualifierName, OperationContext& context);
00104 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00105
00114 virtual void setQualifierType(const String& ns,
00115 const CIMQualifierType &qt, OperationContext& context);
00123 virtual void enumQualifierTypes(
00124 const String& ns,
00125 CIMQualifierTypeResultHandlerIFC& result, OperationContext& context);
00132 virtual void deleteQualifierType(const String& ns, const String& qualName,
00133 OperationContext& context);
00134 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00135 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00136
00147 virtual void createClass(const String& ns, const CIMClass &cimClass,
00148 OperationContext& context);
00160 virtual CIMClass modifyClass(const String &ns,
00161 const CIMClass &cc, OperationContext& context);
00172 virtual CIMClass deleteClass(const String& ns, const String& className,
00173 OperationContext& context);
00174 #endif // #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00175
00195 virtual CIMClass getClass(
00196 const String& ns,
00197 const String& className,
00198 WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00199 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00200 OperationContext& context);
00220 virtual CIMInstance getInstance(
00221 const String& ns,
00222 const CIMObjectPath& instanceName,
00223 WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00224 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00225 OperationContext& context);
00243 virtual void enumClasses(const String& ns,
00244 const String& className,
00245 CIMClassResultHandlerIFC& result,
00246 WBEMFlags::EDeepFlag deep, WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00247 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, OperationContext& context);
00261 virtual void enumClassNames(
00262 const String& ns,
00263 const String& className,
00264 StringResultHandlerIFC& result,
00265 WBEMFlags::EDeepFlag deep, OperationContext& context);
00291 virtual void enumInstances(
00292 const String& ns,
00293 const String& className,
00294 CIMInstanceResultHandlerIFC& result,
00295 WBEMFlags::EDeepFlag deep, WBEMFlags::ELocalOnlyFlag localOnly,
00296 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00297 const StringArray* propertyList,
00298 WBEMFlags::EEnumSubclassesFlag enumSubclasses,
00299 OperationContext& context);
00316 virtual void enumInstanceNames(
00317 const String& ns,
00318 const String& className,
00319 CIMObjectPathResultHandlerIFC& result,
00320 WBEMFlags::EDeepFlag deep, OperationContext& context);
00321 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00322
00332 virtual CIMObjectPath createInstance(const String& ns,
00333 const CIMInstance &ci,
00334 OperationContext& context);
00348 virtual CIMInstance modifyInstance(
00349 const String& ns,
00350 const CIMInstance& modifiedInstance,
00351 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00352 const StringArray* propertyList,
00353 OperationContext& context);
00365 virtual CIMInstance deleteInstance(const String& ns, const CIMObjectPath &cop,
00366 OperationContext& context);
00367 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00368
00376 virtual void setProperty(
00377 const String& ns,
00378 const CIMObjectPath &name,
00379 const String &propertyName, const CIMValue &cv,
00380 OperationContext& context);
00381 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00382 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00383 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00384
00393 virtual CIMValue getProperty(
00394 const String& ns,
00395 const CIMObjectPath &name,
00396 const String &propertyName, OperationContext& context);
00397 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00398
00411 virtual CIMValue invokeMethod(
00412 const String& ns,
00413 const CIMObjectPath& path,
00414 const String &methodName, const CIMParamValueArray &inParams,
00415 CIMParamValueArray &outParams, OperationContext& context);
00416 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00417 virtual void associators(
00418 const String& ns,
00419 const CIMObjectPath &path,
00420 CIMInstanceResultHandlerIFC& result,
00421 const String &assocClass, const String &resultClass,
00422 const String &role, const String &resultRole,
00423 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00424 const StringArray *propertyList, OperationContext& context);
00425 virtual void associatorsClasses(
00426 const String& ns,
00427 const CIMObjectPath &path,
00428 CIMClassResultHandlerIFC& result,
00429 const String &assocClass, const String &resultClass,
00430 const String &role, const String &resultRole,
00431 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00432 const StringArray *propertyList, OperationContext& context);
00433 virtual void referenceNames(
00434 const String& ns,
00435 const CIMObjectPath &path,
00436 CIMObjectPathResultHandlerIFC& result,
00437 const String &resultClass,
00438 const String &role, OperationContext& context);
00439 virtual void associatorNames(
00440 const String& ns,
00441 const CIMObjectPath &path,
00442 CIMObjectPathResultHandlerIFC& result,
00443 const String &assocClass,
00444 const String &resultClass, const String &role,
00445 const String &resultRole, OperationContext& context);
00446 virtual void references(
00447 const String& ns,
00448 const CIMObjectPath &path,
00449 CIMInstanceResultHandlerIFC& result,
00450 const String &resultClass, const String &role,
00451 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00452 const StringArray *propertyList, OperationContext& context);
00453 virtual void referencesClasses(
00454 const String& ns,
00455 const CIMObjectPath &path,
00456 CIMClassResultHandlerIFC& result,
00457 const String &resultClass, const String &role,
00458 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00459 const StringArray *propertyList, OperationContext& context);
00460 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00461 virtual void execQuery(
00462 const String& ns,
00463 CIMInstanceResultHandlerIFC& result,
00464 const String &query, const String &queryLanguage,
00465 OperationContext& context);
00466
00467 virtual void beginOperation(WBEMFlags::EOperationFlag op, OperationContext& context);
00468 virtual void endOperation(WBEMFlags::EOperationFlag op, OperationContext& context, WBEMFlags::EOperationResultFlag result);
00469 private:
00470 CIMInstance m_inst;
00471 RepositoryIFCRef m_pCIMServer;
00472 };
00473
00474 }
00475
00476 #endif