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_INDICATION_REP_LAYER_IMPL_HPP_
00036 #define OW_INDICATION_REP_LAYER_IMPL_HPP_
00037 #include "OW_config.h"
00038 #include "OW_IndicationRepLayer.hpp"
00039 #include "OW_CimomCommonFwd.hpp"
00040
00041 namespace OW_NAMESPACE
00042 {
00043
00044 class OW_INDICATIONREPLAYER_API IndicationRepLayerImpl : public IndicationRepLayer
00045 {
00046 public:
00047 IndicationRepLayerImpl();
00048 ~IndicationRepLayerImpl();
00049 virtual void open(const String&);
00050 virtual void close();
00051 virtual String getName() const;
00052 virtual void init(const ServiceEnvironmentIFCRef& env);
00053 virtual void shutdown();
00054 virtual ServiceEnvironmentIFCRef getEnvironment() const;
00055 virtual void enumClasses(const String& ns,
00056 const String& className,
00057 CIMClassResultHandlerIFC& result,
00058 WBEMFlags::EDeepFlag deep, WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00059 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, OperationContext& context);
00060 virtual void enumClassNames(
00061 const String& ns,
00062 const String& className,
00063 StringResultHandlerIFC& result,
00064 WBEMFlags::EDeepFlag deep, OperationContext& context);
00065 virtual CIMInstance getInstance(
00066 const String& ns,
00067 const CIMObjectPath& instanceName,
00068 WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00069 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00070 OperationContext& context);
00071 virtual void enumInstances(
00072 const String& ns,
00073 const String& className,
00074 CIMInstanceResultHandlerIFC& result,
00075 WBEMFlags::EDeepFlag deep,
00076 WBEMFlags::ELocalOnlyFlag localOnly,
00077 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00078 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00079 const StringArray* propertyList,
00080 WBEMFlags::EEnumSubclassesFlag enumSubclasses,
00081 OperationContext& context);
00082 virtual void enumInstanceNames(
00083 const String& ns,
00084 const String& className,
00085 CIMObjectPathResultHandlerIFC& result,
00086 WBEMFlags::EDeepFlag deep, OperationContext& context);
00087 virtual CIMQualifierType getQualifierType(
00088 const String& ns,
00089 const String& qualifierName, OperationContext& context);
00090 virtual CIMClass getClass(
00091 const String& ns,
00092 const String& className,
00093 WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00094 WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray* propertyList,
00095 OperationContext& context);
00096 virtual CIMValue invokeMethod(
00097 const String& ns,
00098 const CIMObjectPath& path,
00099 const String &methodName, const CIMParamValueArray &inParams,
00100 CIMParamValueArray &outParams, OperationContext& context);
00101 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00102 virtual void createClass(const String& ns,
00103 const CIMClass &cc, OperationContext& context);
00104 virtual CIMClass modifyClass(const String &ns,
00105 const CIMClass& cc, OperationContext& context);
00106 virtual CIMClass deleteClass(const String& ns, const String& className,
00107 OperationContext& context);
00108 #endif // #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00109 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00110 virtual void enumQualifierTypes(
00111 const String& ns,
00112 CIMQualifierTypeResultHandlerIFC& result, OperationContext& context);
00113 virtual void deleteQualifierType(const String& ns, const String& qualName,
00114 OperationContext& context);
00115 virtual void setQualifierType(const String& ns,
00116 const CIMQualifierType& qt, OperationContext& context);
00117 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00118 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00119 virtual CIMObjectPath createInstance(const String& ns,
00120 const CIMInstance &ci, OperationContext& context);
00121 virtual CIMInstance deleteInstance(const String& ns, const CIMObjectPath &path,
00122 OperationContext& context);
00123 virtual CIMInstance modifyInstance(
00124 const String& ns,
00125 const CIMInstance& modifiedInstance,
00126 WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00127 const StringArray* propertyList,
00128 OperationContext& context);
00129 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00130 virtual void setProperty(
00131 const String& ns,
00132 const CIMObjectPath &name,
00133 const String &propertyName, const CIMValue &cv,
00134 OperationContext& context);
00135 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00136 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00137 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00138 virtual CIMValue getProperty(
00139 const String& ns,
00140 const CIMObjectPath &name,
00141 const String &propertyName, OperationContext& context);
00142 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00143 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00144 virtual void associators(
00145 const String& ns,
00146 const CIMObjectPath &path,
00147 CIMInstanceResultHandlerIFC& result,
00148 const String &assocClass, const String &resultClass,
00149 const String &role, const String &resultRole,
00150 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00151 const StringArray* propertyList, OperationContext& context);
00152 virtual void associatorsClasses(
00153 const String& ns,
00154 const CIMObjectPath &path,
00155 CIMClassResultHandlerIFC& result,
00156 const String &assocClass, const String &resultClass,
00157 const String &role, const String &resultRole,
00158 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00159 const StringArray* propertyList, OperationContext& context);
00160 virtual void references(
00161 const String& ns,
00162 const CIMObjectPath &path,
00163 CIMInstanceResultHandlerIFC& result,
00164 const String &resultClass, const String &role,
00165 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00166 const StringArray* propertyList, OperationContext& context);
00167 virtual void referencesClasses(
00168 const String& ns,
00169 const CIMObjectPath &path,
00170 CIMClassResultHandlerIFC& result,
00171 const String &resultClass, const String &role,
00172 WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00173 const StringArray* propertyList, OperationContext& context);
00174 virtual void associatorNames(
00175 const String& ns,
00176 const CIMObjectPath &path,
00177 CIMObjectPathResultHandlerIFC& result,
00178 const String &assocClass,
00179 const String &resultClass, const String &role,
00180 const String &resultRole, OperationContext& context);
00181 virtual void referenceNames(
00182 const String& ns,
00183 const CIMObjectPath &path,
00184 CIMObjectPathResultHandlerIFC& result,
00185 const String &resultClass,
00186 const String &role, OperationContext& context);
00187 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00188
00189 virtual void execQuery(
00190 const String& ns,
00191 CIMInstanceResultHandlerIFC& result,
00192 const String &query, const String& queryLanguage,
00193 OperationContext& context);
00194 #if !defined(OW_DISABLE_INSTANCE_MANIPULATION) && !defined(OW_DISABLE_NAMESPACE_MANIPULATION)
00195 void deleteNameSpace(const String &ns, OperationContext& context);
00196 void createNameSpace(const String& ns, OperationContext& context);
00197 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00198 void enumNameSpace(StringResultHandlerIFC& result,
00199 OperationContext& context);
00200
00201 virtual void beginOperation(WBEMFlags::EOperationFlag op, OperationContext& context);
00202 virtual void endOperation(WBEMFlags::EOperationFlag op, OperationContext& context, WBEMFlags::EOperationResultFlag result);
00203 virtual void setCIMServer(const RepositoryIFCRef& src);
00204 private:
00205 void exportIndication(const CIMInstance& instance,
00206 const String& instNS);
00207 RepositoryIFCRef m_pServer;
00208 CIMOMEnvironmentRef m_pEnv;
00209 };
00210
00211 }
00212
00213 #endif