version 1.28, 2002/09/13 21:40:42
|
version 1.29, 2002/09/27 18:49:44
|
|
|
//%///////////////////////////////////////////////////////////////////////////// |
//%////-*-c++-*-//////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM, | // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM, |
// The Open Group, Tivoli Systems | // The Open Group, Tivoli Systems |
|
|
| |
#include <Pegasus/ProviderManager/SafeQueue.h> | #include <Pegasus/ProviderManager/SafeQueue.h> |
#include <Pegasus/Server/Linkage.h> | #include <Pegasus/Server/Linkage.h> |
|
#include <Pegasus/ProviderManager/OperationResponseHandler.h> |
|
#include <Pegasus/Common/HashTable.h> |
|
#include <Pegasus/ProviderManager/Provider.h> |
|
#include <Pegasus/Common/Constants.h> |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
typedef HashTable<String, |
|
EnableIndicationsResponseHandler *, |
|
EqualFunc<String>, |
|
HashFunc<String> > IndicationResponseTable; |
|
|
class ProviderRegistrationManager; | class ProviderRegistrationManager; |
| |
class PEGASUS_SERVER_LINKAGE ProviderManagerService : public MessageQueueService | class PEGASUS_SERVER_LINKAGE ProviderManagerService : public MessageQueueService |
|
|
void handleEnableModuleRequest(AsyncOpNode *op, const Message *message) throw(); | void handleEnableModuleRequest(AsyncOpNode *op, const Message *message) throw(); |
void handleStopAllProvidersRequest(AsyncOpNode *op, const Message *message) throw(); | void handleStopAllProvidersRequest(AsyncOpNode *op, const Message *message) throw(); |
| |
|
|
|
/** |
|
Inserts an entry into the enabled indication providers table. |
|
|
|
@param provider the provider instance |
|
@param handler pointer to the indication response handler |
|
*/ |
|
|
|
void _insertEntry( |
|
const Provider & provider, |
|
const EnableIndicationsResponseHandler *handler); |
|
|
|
/** |
|
Generates a String key from by combining the provider and provider |
|
module names. |
|
|
|
@param provider the provider instance |
|
|
|
@return the generated key |
|
*/ |
|
|
|
|
|
EnableIndicationsResponseHandler * _removeEntry( |
|
const String & key); |
|
|
|
|
|
|
|
String _generateKey ( |
|
const Provider & provider); |
|
|
protected: | protected: |
| |
SafeQueue<AsyncOpNode *> _incomingQueue; | SafeQueue<AsyncOpNode *> _incomingQueue; |
//SafeQueue<Message *> _outgoingQueue; | //SafeQueue<Message *> _outgoingQueue; |
| |
ProviderRegistrationManager * _providerRegistrationManager; | ProviderRegistrationManager * _providerRegistrationManager; |
|
/** Table holding indication response handlers, one for each provider |
|
that has indications enabled. |
|
*/ |
|
|
|
IndicationResponseTable _responseTable; |
| |
}; | }; |
| |