version 1.17.2.3, 2006/06/23 17:44:59
|
version 1.27, 2008/04/07 06:48:41
|
|
|
// | // |
//============================================================================== | //============================================================================== |
// | // |
// Author: Adrian Schuur, schuur@de.ibm.com |
|
// |
|
// Modified By: |
|
// |
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#ifndef Pegasus_JMPIProviderManager_h | #ifndef Pegasus_JMPIProviderManager_h |
|
|
#include <Pegasus/Config/ConfigManager.h> | #include <Pegasus/Config/ConfigManager.h> |
#include <Pegasus/ProviderManager2/OperationResponseHandler.h> | #include <Pegasus/ProviderManager2/OperationResponseHandler.h> |
#include <Pegasus/Common/OperationContextInternal.h> | #include <Pegasus/Common/OperationContextInternal.h> |
|
#include <Pegasus/ProviderManager2/JMPI/Linkage.h> |
|
#include <Pegasus/ProviderManager2/JMPI/JMPIProvider.h> |
#include <Pegasus/ProviderManager2/JMPI/JMPILocalProviderManager.h> | #include <Pegasus/ProviderManager2/JMPI/JMPILocalProviderManager.h> |
#include <Pegasus/Provider/CIMOMHandleQueryContext.h> | #include <Pegasus/Provider/CIMOMHandleQueryContext.h> |
#include <Pegasus/WQL/WQLSelectStatement.h> | #include <Pegasus/WQL/WQLSelectStatement.h> |
|
|
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
struct CMPI_SelectExp; |
class PEGASUS_JMPIPM_LINKAGE JMPIProviderManager : public ProviderManager |
|
|
class PEGASUS_SERVER_LINKAGE JMPIProviderManager : public ProviderManager |
|
{ | { |
public: | public: |
enum Mode { |
JMPIProviderManager(); |
CMPI_MODE, |
|
CMPI_R_MODE, |
|
CMPI_O_MODE |
|
}; |
|
|
|
Mode getMode() { return mode; } |
|
JMPIProviderManager(Mode=CMPI_MODE); |
|
virtual ~JMPIProviderManager(void); | virtual ~JMPIProviderManager(void); |
| |
virtual Boolean insertProvider(const ProviderName & providerName, | virtual Boolean insertProvider(const ProviderName & providerName, |
|
|
CIMPropertyList propertyList; | CIMPropertyList propertyList; |
}; | }; |
| |
typedef HashTable<String, indProvRecord*, EqualFunc<String>, HashFunc<String> > IndProvTab; |
typedef HashTable<String,indProvRecord*,EqualFunc<String>, |
typedef HashTable<String, indSelectRecord*, EqualFunc<String>, HashFunc<String> > IndSelectTab; |
HashFunc<String> > IndProvTab; |
typedef HashTable<String, ProviderName, EqualFunc<String>, HashFunc<String> > ProvRegistrar; |
typedef HashTable<String,indSelectRecord*,EqualFunc<String>, |
|
HashFunc<String> > IndSelectTab; |
|
typedef HashTable<String,ProviderName,EqualFunc<String>, |
|
HashFunc<String> > ProvRegistrar; |
| |
static Mutex mutexProvTab; | static Mutex mutexProvTab; |
static IndProvTab provTab; | static IndProvTab provTab; |
|
|
| |
protected: | protected: |
JMPILocalProviderManager providerManager; | JMPILocalProviderManager providerManager; |
Mode mode; |
|
| |
Message * handleUnsupportedRequest(const Message * message) throw(); | Message * handleUnsupportedRequest(const Message * message) throw(); |
| |
Message * handleGetInstanceRequest(const Message * message) throw(); | Message * handleGetInstanceRequest(const Message * message) throw(); |
Message * handleEnumerateInstancesRequest(const Message * message) throw(); | Message * handleEnumerateInstancesRequest(const Message * message) throw(); |
Message * handleEnumerateInstanceNamesRequest(const Message * message) throw(); |
Message * handleEnumerateInstanceNamesRequest( |
|
const Message * message) throw(); |
Message * handleCreateInstanceRequest(const Message * message) throw(); | Message * handleCreateInstanceRequest(const Message * message) throw(); |
Message * handleModifyInstanceRequest(const Message * message) throw(); | Message * handleModifyInstanceRequest(const Message * message) throw(); |
Message * handleDeleteInstanceRequest(const Message * message) throw(); | Message * handleDeleteInstanceRequest(const Message * message) throw(); |
|
|
Message * handleDisableModuleRequest(const Message * message) throw(); | Message * handleDisableModuleRequest(const Message * message) throw(); |
Message * handleEnableModuleRequest(const Message * message) throw(); | Message * handleEnableModuleRequest(const Message * message) throw(); |
Message * handleStopAllProvidersRequest(const Message * message) throw(); | Message * handleStopAllProvidersRequest(const Message * message) throw(); |
Message * handleInitializeProviderRequest(const Message * message); |
|
Message * handleSubscriptionInitCompleteRequest (const Message * message); | Message * handleSubscriptionInitCompleteRequest (const Message * message); |
| |
ProviderName _resolveProviderName(const ProviderIdContainer & providerId); | ProviderName _resolveProviderName(const ProviderIdContainer & providerId); |