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_SERVICE_ENVIRONMENTIFC_HPP_INCLUDE_GUARD_
00037 #define OW_SERVICE_ENVIRONMENTIFC_HPP_INCLUDE_GUARD_
00038 #include "OW_config.h"
00039 #include "OW_IntrusiveReference.hpp"
00040 #include "OW_IntrusiveCountableBase.hpp"
00041 #include "OW_SelectableIFC.hpp"
00042 #include "OW_SelectableCallbackIFC.hpp"
00043 #include "OW_SharedLibraryReference.hpp"
00044 #include "OW_ArrayFwd.hpp"
00045 #include "OW_CommonFwd.hpp"
00046 #include "OW_IfcsFwd.hpp"
00047 #include "OW_CIMFwd.hpp"
00048
00049
00050
00051
00052 namespace OW_NAMESPACE
00053 {
00054
00058 class OW_COMMON_API ServiceEnvironmentIFC : public IntrusiveCountableBase
00059 {
00060 public:
00061 virtual ~ServiceEnvironmentIFC();
00062
00063 virtual String getConfigItem(const String& name, const String& defRetVal="") const;
00064
00069 virtual StringArray getMultiConfigItem(const String &itemName,
00070 const StringArray& defRetVal, const char* tokenizeSeparator = 0) const;
00071
00072 enum EOverwritePreviousFlag
00073 {
00074 E_PRESERVE_PREVIOUS,
00075 E_OVERWRITE_PREVIOUS
00076 };
00077
00078 virtual void setConfigItem(const String& item, const String& value, EOverwritePreviousFlag overwritePrevious = E_OVERWRITE_PREVIOUS);
00079
00080 virtual void addSelectable(const SelectableIFCRef& obj, const SelectableCallbackIFCRef& cb);
00081 virtual void removeSelectable(const SelectableIFCRef& obj);
00082
00083 virtual RequestHandlerIFCRef getRequestHandler(const String& id) const;
00084
00085 virtual LoggerRef getLogger() const OW_DEPRECATED;
00086
00087 virtual LoggerRef getLogger(const String& componentName) const;
00088
00089 virtual bool authenticate(String& userName, const String& info, String& details, OperationContext& context) const;
00090
00091 enum EBypassProvidersFlag
00092 {
00093 E_USE_PROVIDERS,
00094 E_BYPASS_PROVIDERS
00095 };
00096 enum ELockingFlag
00097 {
00098 E_NO_LOCKING,
00099 E_LOCKING
00100 };
00104 virtual CIMOMHandleIFCRef getCIMOMHandle(OperationContext& context,
00105 EBypassProvidersFlag bypassProviders = E_USE_PROVIDERS,
00106 ELockingFlag locking = E_LOCKING) const;
00107
00108 CIMOMHandleIFCRef getRepositoryCIMOMHandle(OperationContext& context) const;
00109
00110
00111 virtual RepositoryIFCRef getRepository() const;
00112
00113 virtual WQLIFCRef getWQLRef() const;
00114 };
00115
00116 }
00117
00118 #endif