version 1.91, 2008/12/16 18:56:59
|
version 1.92, 2009/05/27 05:56:30
|
|
|
response = _handleSubscriptionInitCompleteRequest(request); | response = _handleSubscriptionInitCompleteRequest(request); |
break; | break; |
| |
|
case CIM_INDICATION_SERVICE_DISABLED_REQUEST_MESSAGE: |
|
response = _handleIndicationServiceDisabledRequest(request); |
|
break; |
|
|
default: | default: |
PEGASUS_ASSERT(0); | PEGASUS_ASSERT(0); |
break; | break; |
|
|
return response; | return response; |
} | } |
| |
|
|
|
CIMResponseMessage* |
|
DefaultProviderManager::_handleIndicationServiceDisabledRequest( |
|
CIMRequestMessage* message) |
|
{ |
|
PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, |
|
"DefaultProviderManager::_handleIndicationServiceDisabledRequest"); |
|
|
|
CIMIndicationServiceDisabledRequestMessage* request = |
|
dynamic_cast<CIMIndicationServiceDisabledRequestMessage*>(message); |
|
PEGASUS_ASSERT(request != 0); |
|
|
|
CIMIndicationServiceDisabledResponseMessage* response = |
|
dynamic_cast<CIMIndicationServiceDisabledResponseMessage*>( |
|
request->buildResponse()); |
|
PEGASUS_ASSERT(response != 0); |
|
|
|
_subscriptionInitComplete = false; |
|
|
|
// Make a copy of the table so it is not locked during the provider calls |
|
Array<ProviderMessageHandler*> providerList; |
|
{ |
|
AutoMutex lock(_providerTableMutex); |
|
|
|
for (ProviderTable::Iterator i = _providers.start(); i != 0; i++) |
|
{ |
|
providerList.append(i.value()); |
|
} |
|
} |
|
|
|
// |
|
// Notify all providers that indication service is disabled |
|
// |
|
for (Uint32 j = 0; j < providerList.size(); j++) |
|
{ |
|
AutoMutex lock(providerList[j]->status.getStatusMutex()); |
|
|
|
if (providerList[j]->status.isInitialized()) |
|
{ |
|
providerList[j]->indicationServiceDisabled(); |
|
} |
|
} |
|
|
|
PEG_METHOD_EXIT(); |
|
return response; |
|
} |
|
|
CIMResponseMessage* | CIMResponseMessage* |
DefaultProviderManager::_handleSubscriptionInitCompleteRequest( | DefaultProviderManager::_handleSubscriptionInitCompleteRequest( |
CIMRequestMessage* message) | CIMRequestMessage* message) |