version 1.8.2.1, 2004/02/19 16:31:32
|
version 1.17, 2004/05/17 23:42:58
|
|
|
#include <Pegasus/Common/Array.h> | #include <Pegasus/Common/Array.h> |
#include <Pegasus/Common/Pair.h> | #include <Pegasus/Common/Pair.h> |
#include <Pegasus/Common/MessageQueueService.h> | #include <Pegasus/Common/MessageQueueService.h> |
|
#include <Pegasus/Common/CIMMessage.h> |
|
#include <Pegasus/Common/OperationContextInternal.h> |
|
#include <Pegasus/Repository/CIMRepository.h> |
|
#include <Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h> |
| |
#include <Pegasus/ProviderManager2/SafeQueue.h> | #include <Pegasus/ProviderManager2/SafeQueue.h> |
|
#include <Pegasus/ProviderManager2/ProviderManager.h> |
| |
#include <Pegasus/Server/Linkage.h> |
#include <Pegasus/ProviderManager2/Linkage.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
#define IDLE_LIMIT 300 |
|
|
class ProviderRegistrationManager; | class ProviderRegistrationManager; |
class ProviderManager; | class ProviderManager; |
| |
class PEGASUS_SERVER_LINKAGE ProviderManagerService : public MessageQueueService |
class PEGASUS_PPM_LINKAGE ProviderManagerService : public MessageQueueService |
{ | { |
|
friend class CMPIProviderManager; |
public: | public: |
static ProviderManagerService* providerManagerService; | static ProviderManagerService* providerManagerService; |
|
|
ProviderManagerService(void); | ProviderManagerService(void); |
// temp |
ProviderManagerService(ProviderRegistrationManager * providerRegistrationManager, |
ProviderManagerService(ProviderRegistrationManager * providerRegistrationManager); |
CIMRepository * repository); |
|
|
| |
virtual ~ProviderManagerService(void); | virtual ~ProviderManagerService(void); |
| |
|
|
| |
virtual void _handle_async_request(AsyncRequest * request); | virtual void _handle_async_request(AsyncRequest * request); |
| |
|
static CIMRepository* _repository; |
|
|
private: | private: |
//static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleServiceOperation(void * arg) throw(); | //static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleServiceOperation(void * arg) throw(); |
| |
|
|
//void handlePauseService() thorw(); | //void handlePauseService() thorw(); |
//void handleResumeService() thorw(); | //void handleResumeService() thorw(); |
| |
static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation(void * arg) throw(); |
static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation( |
|
void * arg) throw(); |
| |
ProviderManager *locateProviderManager(const Message *m, String &itf); |
void handleCimRequest(AsyncOpNode *op, Message* message); |
void handleCimRequest(AsyncOpNode *op, const Message * message); |
|
|
ProviderManager* _lookupProviderManager(const String& interfaceType); |
|
|
|
ProviderIdContainer _getProviderIdContainer( |
|
const CIMRequestMessage* message); |
|
|
|
void _updateProviderModuleStatus( |
|
CIMInstance& providerModule, |
|
Uint16 fromStatus, |
|
Uint16 toStatus); |
| |
private: | private: |
SafeQueue<AsyncOpNode *> _incomingQueue; | SafeQueue<AsyncOpNode *> _incomingQueue; |
SafeQueue<AsyncOpNode *> _outgoingQueue; | SafeQueue<AsyncOpNode *> _outgoingQueue; |
| |
private: |
|
//Array<Pair<ProviderManager *, ProviderManagerModule> > _providerManagers; | //Array<Pair<ProviderManager *, ProviderManagerModule> > _providerManagers; |
| |
|
ProviderRegistrationManager* _providerRegistrationManager; |
}; | }; |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |