version 1.16, 2005/02/06 21:23:07
|
version 1.17, 2005/02/25 21:44:17
|
|
|
// | // |
// Modified By: Seema Gupta(gseema@in.ibm.com) for PEP135 | // Modified By: Seema Gupta(gseema@in.ibm.com) for PEP135 |
// Sean Keenan, Hewlett-Packard Company (sean.keenan@hp.com) | // Sean Keenan, Hewlett-Packard Company (sean.keenan@hp.com) |
|
// Carol Ann Krug Graves, Hewlett-Packard Company |
|
// (carolann_graves@hp.com) |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
|
|
const String& physicalName, | const String& physicalName, |
const String& logicalName, | const String& logicalName, |
const String& interfaceName, | const String& interfaceName, |
PEGASUS_INDICATION_CALLBACK indicationCallback) |
PEGASUS_INDICATION_CALLBACK indicationCallback, |
|
Boolean subscriptionInitComplete) |
: _manager(0) | : _manager(0) |
{ | { |
#if defined (PEGASUS_OS_VMS) | #if defined (PEGASUS_OS_VMS) |
|
|
PEGASUS_ASSERT(_manager != 0); | PEGASUS_ASSERT(_manager != 0); |
| |
_manager->setIndicationCallback(indicationCallback); | _manager->setIndicationCallback(indicationCallback); |
|
|
|
_manager->setSubscriptionInitComplete (subscriptionInitComplete); |
} | } |
| |
~ProviderManagerContainer() | ~ProviderManagerContainer() |
|
|
"BasicProviderManagerRouter::BasicProviderManagerRouter"); | "BasicProviderManagerRouter::BasicProviderManagerRouter"); |
| |
_indicationCallback = indicationCallback; | _indicationCallback = indicationCallback; |
|
_subscriptionInitComplete = false; |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
} | } |
|
|
providerModule = dmReq->providerModule; | providerModule = dmReq->providerModule; |
} | } |
else if ((request->getType() == CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE) || | else if ((request->getType() == CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE) || |
|
(request->getType() == |
|
CIM_SUBSCRIPTION_INIT_COMPLETE_REQUEST_MESSAGE) || |
(request->getType() == CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE)) | (request->getType() == CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE)) |
{ | { |
// This operation is not provider-specific | // This operation is not provider-specific |
|
|
// Forward the request to the appropriate ProviderManager(s) | // Forward the request to the appropriate ProviderManager(s) |
// | // |
| |
if (request->getType() == CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE) |
if ((request->getType() == CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE) || |
|
(request->getType() == |
|
CIM_SUBSCRIPTION_INIT_COMPLETE_REQUEST_MESSAGE)) |
{ | { |
// Send CIMStopAllProvidersRequestMessage to all ProviderManagers |
_subscriptionInitComplete = true; |
|
|
|
// Send CIMStopAllProvidersRequestMessage or |
|
// CIMSubscriptionInitCompleteRequestMessage to all ProviderManagers |
ReadLock tableLock(_providerManagerTableLock); | ReadLock tableLock(_providerManagerTableLock); |
for (Uint32 i = 0, n = _providerManagerTable.size(); i < n; i++) | for (Uint32 i = 0, n = _providerManagerTable.size(); i < n; i++) |
{ | { |
|
|
{ | { |
ProviderManagerContainer* pmc = new ProviderManagerContainer( | ProviderManagerContainer* pmc = new ProviderManagerContainer( |
LIBRARY_NAME_DEFAULTPM, "DEFAULT", "C++Default", | LIBRARY_NAME_DEFAULTPM, "DEFAULT", "C++Default", |
_indicationCallback); |
_indicationCallback, _subscriptionInitComplete); |
_providerManagerTable.append(pmc); | _providerManagerTable.append(pmc); |
return pmc->getProviderManager(); | return pmc->getProviderManager(); |
} | } |