version 1.6.4.2, 2007/04/04 11:04:50
|
version 1.16, 2008/08/14 17:30:44
|
|
|
| |
#include "ProviderMessageHandler.h" | #include "ProviderMessageHandler.h" |
| |
|
#include <exception> |
|
|
#include <Pegasus/Common/OperationContextInternal.h> | #include <Pegasus/Common/OperationContextInternal.h> |
#include <Pegasus/Common/Tracer.h> | #include <Pegasus/Common/Tracer.h> |
#include <Pegasus/Common/StatisticalData.h> | #include <Pegasus/Common/StatisticalData.h> |
|
|
#include <Pegasus/ProviderManager2/OperationResponseHandler.h> | #include <Pegasus/ProviderManager2/OperationResponseHandler.h> |
#include <Pegasus/ProviderManager2/AutoPThreadSecurity.h> | #include <Pegasus/ProviderManager2/AutoPThreadSecurity.h> |
| |
#define HANDLE_PROVIDER_EXCEPTION(providerCall, handler) \ |
#define HANDLE_PROVIDER_CALL(traceString, providerCall, handler) \ |
|
do \ |
|
{ \ |
|
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, \ |
|
"Calling provider." #traceString ": %s", \ |
|
(const char*)_fullyQualifiedProviderName.getCString())); \ |
try \ | try \ |
{ \ | { \ |
providerCall; \ | providerCall; \ |
} \ | } \ |
catch (CIMException& e) \ | catch (CIMException& e) \ |
{ \ | { \ |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, \ |
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1, \ |
"Provider Exception: " + e.getMessage()); \ |
"Provider CIMException: %s", \ |
|
(const char*)e.getMessage().getCString())); \ |
handler.setCIMException(e); \ | handler.setCIMException(e); \ |
} \ | } \ |
catch (Exception& e) \ | catch (Exception& e) \ |
{ \ | { \ |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, \ |
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1, \ |
"Provider Exception: " + e.getMessage()); \ |
"Provider Exception: %s", \ |
|
(const char*)e.getMessage().getCString())); \ |
handler.setStatus( \ | handler.setStatus( \ |
CIM_ERR_FAILED, e.getContentLanguages(), e.getMessage()); \ |
CIM_ERR_FAILED, \ |
|
e.getContentLanguages(), \ |
|
e.getMessage()); \ |
|
} \ |
|
catch (const PEGASUS_STD(exception)& e) \ |
|
{ \ |
|
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1, \ |
|
"Provider exception: %s", e.what())); \ |
|
handler.setStatus(CIM_ERR_FAILED, e.what()); \ |
} \ | } \ |
catch (...) \ | catch (...) \ |
{ \ | { \ |
PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, \ |
PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1, \ |
"Provider Exception: Unknown"); \ |
"Provider unknown exception"); \ |
handler.setStatus(CIM_ERR_FAILED, "Unknown error."); \ | handler.setStatus(CIM_ERR_FAILED, "Unknown error."); \ |
} |
} \ |
|
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, \ |
|
"Returned from provider." #traceString ": %s", \ |
|
(const char*)_fullyQualifiedProviderName.getCString())); \ |
|
} while (0) |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
|
// Default Provider Manager | // Default Provider Manager |
// | // |
ProviderMessageHandler::ProviderMessageHandler( | ProviderMessageHandler::ProviderMessageHandler( |
|
const String& moduleName, |
const String& name, | const String& name, |
CIMProvider* provider, | CIMProvider* provider, |
PEGASUS_INDICATION_CALLBACK_T indicationCallback, | PEGASUS_INDICATION_CALLBACK_T indicationCallback, |
PEGASUS_RESPONSE_CHUNK_CALLBACK_T responseChunkCallback, | PEGASUS_RESPONSE_CHUNK_CALLBACK_T responseChunkCallback, |
Boolean subscriptionInitComplete) | Boolean subscriptionInitComplete) |
: _name(name), | : _name(name), |
|
_fullyQualifiedProviderName(moduleName + ":" + name), |
_provider(provider), | _provider(provider), |
_indicationCallback(indicationCallback), | _indicationCallback(indicationCallback), |
_responseChunkCallback(responseChunkCallback), | _responseChunkCallback(responseChunkCallback), |
|
|
| |
void ProviderMessageHandler::initialize(CIMOMHandle& cimom) | void ProviderMessageHandler::initialize(CIMOMHandle& cimom) |
{ | { |
|
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.initialize: %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
|
|
|
try |
|
{ |
_provider->initialize(cimom); | _provider->initialize(cimom); |
} | } |
|
catch (...) |
|
{ |
|
PEG_TRACE((TRC_DISCARDED_DATA, Tracer::LEVEL1, |
|
"Caught exception from provider %s initialize() method.", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
|
throw; |
|
} |
|
|
|
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Returned from provider.initialize: %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
|
} |
| |
void ProviderMessageHandler::terminate() | void ProviderMessageHandler::terminate() |
{ | { |
_disableIndications(); | _disableIndications(); |
| |
|
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.terminate: %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
|
|
try | try |
{ | { |
_provider->terminate(); | _provider->terminate(); |
} | } |
catch (...) | catch (...) |
{ | { |
PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2, |
PEG_TRACE((TRC_DISCARDED_DATA, Tracer::LEVEL1, |
"Caught exception from provider " + _name + |
"Caught exception from provider %s terminate() method.", |
" terminate() method."); |
(const char*)_fullyQualifiedProviderName.getCString())); |
|
throw; |
} | } |
|
|
|
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Returned from provider.terminate: %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
} | } |
| |
void ProviderMessageHandler::subscriptionInitComplete() | void ProviderMessageHandler::subscriptionInitComplete() |
|
|
} | } |
catch (CIMException& e) | catch (CIMException& e) |
{ | { |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2, |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1, |
"CIMException: " + e.getMessage()); | "CIMException: " + e.getMessage()); |
response = request->buildResponse(); | response = request->buildResponse(); |
response->cimException = PEGASUS_CIM_EXCEPTION_LANG( | response->cimException = PEGASUS_CIM_EXCEPTION_LANG( |
|
|
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2, |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1, |
"Exception: " + e.getMessage()); | "Exception: " + e.getMessage()); |
response = request->buildResponse(); | response = request->buildResponse(); |
response->cimException = PEGASUS_CIM_EXCEPTION_LANG( | response->cimException = PEGASUS_CIM_EXCEPTION_LANG( |
|
|
} | } |
catch (...) | catch (...) |
{ | { |
PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2, |
PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1, |
"Exception: Unknown"); | "Exception: Unknown"); |
response = request->buildResponse(); | response = request->buildResponse(); |
response->cimException = PEGASUS_CIM_EXCEPTION( | response->cimException = PEGASUS_CIM_EXCEPTION( |
|
|
request->instanceName.getClassName(), | request->instanceName.getClassName(), |
request->instanceName.getKeyBindings()); | request->instanceName.getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleGetInstanceRequest - " | "ProviderMessageHandler::_handleGetInstanceRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMInstanceProvider* provider = | CIMInstanceProvider* provider = |
getProviderInterface<CIMInstanceProvider>(_provider); | getProviderInterface<CIMInstanceProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.getInstance: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
getInstance, |
provider->getInstance( | provider->getInstance( |
providerContext, | providerContext, |
objectPath, | objectPath, |
|
|
request->includeClassOrigin, | request->includeClassOrigin, |
request->propertyList, | request->propertyList, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
request->nameSpace, | request->nameSpace, |
request->className); | request->className); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleEnumerateInstancesRequest - " | "ProviderMessageHandler::_handleEnumerateInstancesRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMInstanceProvider* provider = | CIMInstanceProvider* provider = |
getProviderInterface<CIMInstanceProvider>(_provider); | getProviderInterface<CIMInstanceProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.enumerateInstances: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
enumerateInstances, |
provider->enumerateInstances( | provider->enumerateInstances( |
providerContext, | providerContext, |
objectPath, | objectPath, |
|
|
request->includeClassOrigin, | request->includeClassOrigin, |
request->propertyList, | request->propertyList, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
request->nameSpace, | request->nameSpace, |
request->className); | request->className); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleEnumerateInstanceNamesRequest - " | "ProviderMessageHandler::_handleEnumerateInstanceNamesRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMInstanceProvider* provider = | CIMInstanceProvider* provider = |
getProviderInterface<CIMInstanceProvider>(_provider); | getProviderInterface<CIMInstanceProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.enumerateInstanceNames: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
enumerateInstanceNames, |
provider->enumerateInstanceNames( | provider->enumerateInstanceNames( |
providerContext, | providerContext, |
objectPath, | objectPath, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
request->newInstance.getPath().getClassName(), | request->newInstance.getPath().getClassName(), |
request->newInstance.getPath().getKeyBindings()); | request->newInstance.getPath().getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleCreateInstanceRequest - " | "ProviderMessageHandler::_handleCreateInstanceRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMInstanceProvider* provider = | CIMInstanceProvider* provider = |
getProviderInterface<CIMInstanceProvider>(_provider); | getProviderInterface<CIMInstanceProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.createInstance: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
createInstance, |
provider->createInstance( | provider->createInstance( |
providerContext, | providerContext, |
objectPath, | objectPath, |
request->newInstance, | request->newInstance, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
request->modifiedInstance.getPath().getClassName(), | request->modifiedInstance.getPath().getClassName(), |
request->modifiedInstance.getPath().getKeyBindings()); | request->modifiedInstance.getPath().getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleModifyInstanceRequest - " | "ProviderMessageHandler::_handleModifyInstanceRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMInstanceProvider* provider = | CIMInstanceProvider* provider = |
getProviderInterface<CIMInstanceProvider>(_provider); | getProviderInterface<CIMInstanceProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.modifyInstance: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
modifyInstance, |
provider->modifyInstance( | provider->modifyInstance( |
providerContext, | providerContext, |
objectPath, | objectPath, |
|
|
request->includeQualifiers, | request->includeQualifiers, |
request->propertyList, | request->propertyList, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
request->instanceName.getClassName(), | request->instanceName.getClassName(), |
request->instanceName.getKeyBindings()); | request->instanceName.getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleDeleteInstanceRequest - " | "ProviderMessageHandler::_handleDeleteInstanceRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMInstanceProvider* provider = | CIMInstanceProvider* provider = |
getProviderInterface<CIMInstanceProvider>(_provider); | getProviderInterface<CIMInstanceProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.deleteInstance: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
deleteInstance, |
provider->deleteInstance( | provider->deleteInstance( |
providerContext, | providerContext, |
objectPath, | objectPath, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
request->nameSpace, | request->nameSpace, |
request->className); | request->className); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleExecQueryRequest - " | "ProviderMessageHandler::_handleExecQueryRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
QueryExpression qx(request->queryLanguage,request->query); | QueryExpression qx(request->queryLanguage,request->query); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMInstanceQueryProvider* provider = | CIMInstanceQueryProvider* provider = |
getProviderInterface<CIMInstanceQueryProvider>(_provider); | getProviderInterface<CIMInstanceQueryProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.execQuery: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
execQuery, |
provider->execQuery( | provider->execQuery( |
providerContext, | providerContext, |
objectPath, | objectPath, |
qx, | qx, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
| |
objectPath.setKeyBindings(request->objectName.getKeyBindings()); | objectPath.setKeyBindings(request->objectName.getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleAssociatorsRequest - " | "ProviderMessageHandler::_handleAssociatorsRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
CIMObjectPath assocPath( | CIMObjectPath assocPath( |
System::getHostName(), | System::getHostName(), |
|
|
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMAssociationProvider* provider = | CIMAssociationProvider* provider = |
getProviderInterface<CIMAssociationProvider>(_provider); | getProviderInterface<CIMAssociationProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.associators: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
associators, |
provider->associators( | provider->associators( |
providerContext, | providerContext, |
objectPath, | objectPath, |
|
|
request->includeClassOrigin, | request->includeClassOrigin, |
request->propertyList, | request->propertyList, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
| |
objectPath.setKeyBindings(request->objectName.getKeyBindings()); | objectPath.setKeyBindings(request->objectName.getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleAssociationNamesRequest - " | "ProviderMessageHandler::_handleAssociationNamesRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
CIMObjectPath assocPath( | CIMObjectPath assocPath( |
System::getHostName(), | System::getHostName(), |
|
|
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMAssociationProvider* provider = | CIMAssociationProvider* provider = |
getProviderInterface<CIMAssociationProvider>(_provider); | getProviderInterface<CIMAssociationProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.associatorNames: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
associatorNames, |
provider->associatorNames( | provider->associatorNames( |
providerContext, | providerContext, |
objectPath, | objectPath, |
|
|
request->role, | request->role, |
request->resultRole, | request->resultRole, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
| |
objectPath.setKeyBindings(request->objectName.getKeyBindings()); | objectPath.setKeyBindings(request->objectName.getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleReferencesRequest - " | "ProviderMessageHandler::_handleReferencesRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
CIMObjectPath resultPath( | CIMObjectPath resultPath( |
System::getHostName(), | System::getHostName(), |
|
|
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMAssociationProvider* provider = | CIMAssociationProvider* provider = |
getProviderInterface<CIMAssociationProvider>(_provider); | getProviderInterface<CIMAssociationProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.references: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
references, |
provider->references( | provider->references( |
providerContext, | providerContext, |
objectPath, | objectPath, |
|
|
request->includeClassOrigin, | request->includeClassOrigin, |
request->propertyList, | request->propertyList, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
| |
objectPath.setKeyBindings(request->objectName.getKeyBindings()); | objectPath.setKeyBindings(request->objectName.getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleReferenceNamesRequest - " | "ProviderMessageHandler::_handleReferenceNamesRequest - " |
"Object path: $0", |
"Object path: %s", |
objectPath.toString())); |
(const char*) objectPath.toString().getCString())); |
| |
CIMObjectPath resultPath( | CIMObjectPath resultPath( |
System::getHostName(), | System::getHostName(), |
|
|
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMAssociationProvider* provider = | CIMAssociationProvider* provider = |
getProviderInterface<CIMAssociationProvider>(_provider); | getProviderInterface<CIMAssociationProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.referenceNames: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
referenceNames, |
provider->referenceNames( | provider->referenceNames( |
providerContext, | providerContext, |
objectPath, | objectPath, |
request->resultClass, | request->resultClass, |
request->role, | request->role, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
getInstanceRequest.instanceName.getClassName(), | getInstanceRequest.instanceName.getClassName(), |
getInstanceRequest.instanceName.getKeyBindings()); | getInstanceRequest.instanceName.getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleGetPropertyRequest - " | "ProviderMessageHandler::_handleGetPropertyRequest - " |
"Object path: $0, Property: $1", |
"Object path: %s, Property: %s", |
objectPath.toString(), request->propertyName.getString())); |
(const char*) objectPath.toString().getCString(), |
|
(const char*) request->propertyName.getString().getCString())); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(getInstanceRequest.operationContext)); | _createProviderOperationContext(getInstanceRequest.operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMInstanceProvider* provider = | CIMInstanceProvider* provider = |
getProviderInterface<CIMInstanceProvider>(_provider); | getProviderInterface<CIMInstanceProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.getInstance: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
getInstance, |
provider->getInstance( | provider->getInstance( |
providerContext, | providerContext, |
objectPath, | objectPath, |
|
|
getInstanceRequest.includeClassOrigin, | getInstanceRequest.includeClassOrigin, |
getInstanceRequest.propertyList, | getInstanceRequest.propertyList, |
handler), | handler), |
handler) |
handler); |
| |
// | // |
// Copy the GetInstance response into the GetProperty response message | // Copy the GetInstance response into the GetProperty response message |
|
|
ModifyInstanceResponseHandler handler( | ModifyInstanceResponseHandler handler( |
&modifyInstanceRequest, modifyInstanceResponse.get(), 0); | &modifyInstanceRequest, modifyInstanceResponse.get(), 0); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleSetPropertyRequest - " | "ProviderMessageHandler::_handleSetPropertyRequest - " |
"Object path: $0, Property: $1", |
"Object path: %s, Property: %s", |
objectPath.toString(), request->propertyName.getString())); |
(const char*) objectPath.toString().getCString(), |
|
(const char*) request->propertyName.getString().getCString())); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMInstanceProvider* provider = | CIMInstanceProvider* provider = |
getProviderInterface<CIMInstanceProvider>(_provider); | getProviderInterface<CIMInstanceProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.modifyInstance: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
modifyInstance, |
provider->modifyInstance( | provider->modifyInstance( |
providerContext, | providerContext, |
objectPath, | objectPath, |
|
|
modifyInstanceRequest.includeQualifiers, | modifyInstanceRequest.includeQualifiers, |
modifyInstanceRequest.propertyList, | modifyInstanceRequest.propertyList, |
handler), | handler), |
handler) |
handler); |
| |
// | // |
// Copy the ModifyInstance response into the GetProperty response message | // Copy the ModifyInstance response into the GetProperty response message |
|
|
request->instanceName.getClassName(), | request->instanceName.getClassName(), |
request->instanceName.getKeyBindings()); | request->instanceName.getKeyBindings()); |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
PEG_TRACE(( |
|
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleInvokeMethodRequest - " | "ProviderMessageHandler::_handleInvokeMethodRequest - " |
"Object path: $0, Method: $1", |
"Object path: %s, Method: %s", |
objectPath.toString(), request->methodName.getString())); |
(const char*) objectPath.toString().getCString(), |
|
(const char*) request->methodName.getString().getCString())); |
| |
OperationContext providerContext( | OperationContext providerContext( |
_createProviderOperationContext(request->operationContext)); | _createProviderOperationContext(request->operationContext)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMMethodProvider* provider = | CIMMethodProvider* provider = |
getProviderInterface<CIMMethodProvider>(_provider); | getProviderInterface<CIMMethodProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.invokeMethod: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
invokeMethod, |
provider->invokeMethod( | provider->invokeMethod( |
providerContext, | providerContext, |
objectPath, | objectPath, |
request->methodName, | request->methodName, |
request->inParameters, | request->inParameters, |
handler), | handler), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
} | } |
} | } |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, |
PEG_TRACE(( |
Logger::TRACE, |
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleCreateSubscriptionRequest - " | "ProviderMessageHandler::_handleCreateSubscriptionRequest - " |
"Host name: $0 Name space: $1 Class name(s): $2", |
"Host name: %s Name space: %s Class name(s): %s", |
System::getHostName(), |
(const char*) System::getHostName().getCString(), |
request->nameSpace.getString(), |
(const char*) request->nameSpace.getString().getCString(), |
temp)); |
(const char*) temp.getCString())); |
| |
// | // |
// Save the provider instance from the request | // Save the provider instance from the request |
|
|
providerContext.insert(request->operationContext.get( | providerContext.insert(request->operationContext.get( |
SubscriptionFilterQueryContainer::NAME)); | SubscriptionFilterQueryContainer::NAME)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMIndicationProvider* provider = | CIMIndicationProvider* provider = |
getProviderInterface<CIMIndicationProvider>(_provider); | getProviderInterface<CIMIndicationProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.createSubscription: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
createSubscription, |
provider->createSubscription( | provider->createSubscription( |
providerContext, | providerContext, |
request->subscriptionInstance.getPath(), | request->subscriptionInstance.getPath(), |
classNames, | classNames, |
request->propertyList, | request->propertyList, |
request->repeatNotificationPolicy), | request->repeatNotificationPolicy), |
handler) |
handler); |
| |
// | // |
// Increment count of current subscriptions for this provider | // Increment count of current subscriptions for this provider |
|
|
} | } |
} | } |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, |
PEG_TRACE(( |
Logger::TRACE, |
TRC_PROVIDERMANAGER, |
"ProviderMessageHandler::_handleCreateSubscriptionRequest - " |
Tracer::LEVEL3, |
"Host name: $0 Name space: $1 Class name(s): $2", |
"ProviderMessageHandler::_handleModifySubscriptionRequest - " |
System::getHostName(), |
"Host name: %s Name space: %s Class name(s): %s", |
request->nameSpace.getString(), |
(const char*) System::getHostName().getCString(), |
temp)); |
(const char*) request->nameSpace.getString().getCString(), |
|
(const char*) temp.getCString())); |
| |
// convert arguments | // convert arguments |
| |
|
|
providerContext.insert(request->operationContext.get( | providerContext.insert(request->operationContext.get( |
SubscriptionFilterQueryContainer::NAME)); | SubscriptionFilterQueryContainer::NAME)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMIndicationProvider* provider = | CIMIndicationProvider* provider = |
getProviderInterface<CIMIndicationProvider>(_provider); | getProviderInterface<CIMIndicationProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.modifySubscription: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
modifySubscription, |
provider->modifySubscription( | provider->modifySubscription( |
providerContext, | providerContext, |
request->subscriptionInstance.getPath(), | request->subscriptionInstance.getPath(), |
classNames, | classNames, |
request->propertyList, | request->propertyList, |
request->repeatNotificationPolicy), | request->repeatNotificationPolicy), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
} | } |
} | } |
| |
PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, |
PEG_TRACE(( |
Logger::TRACE, |
TRC_PROVIDERMANAGER, |
|
Tracer::LEVEL3, |
"ProviderMessageHandler::_handleDeleteSubscriptionRequest - " | "ProviderMessageHandler::_handleDeleteSubscriptionRequest - " |
"Host name: $0 Name space: $1 Class name(s): $2", |
"Host name: %s Name space: %s Class name(s): %s", |
System::getHostName(), |
(const char*) System::getHostName().getCString(), |
request->nameSpace.getString(), |
(const char*) request->nameSpace.getString().getCString(), |
temp)); |
(const char*) temp.getCString())); |
| |
Array<CIMObjectPath> classNames; | Array<CIMObjectPath> classNames; |
| |
|
|
providerContext.insert(request->operationContext.get( | providerContext.insert(request->operationContext.get( |
SubscriptionInstanceContainer::NAME)); | SubscriptionInstanceContainer::NAME)); |
| |
AutoPThreadSecurity threadLevelSecurity(providerContext); |
AutoPThreadSecurity threadLevelSecurity(request->operationContext); |
| |
CIMIndicationProvider* provider = | CIMIndicationProvider* provider = |
getProviderInterface<CIMIndicationProvider>(_provider); | getProviderInterface<CIMIndicationProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.deleteSubscription: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
deleteSubscription, |
provider->deleteSubscription( | provider->deleteSubscription( |
providerContext, | providerContext, |
request->subscriptionInstance.getPath(), | request->subscriptionInstance.getPath(), |
classNames), | classNames), |
handler) |
handler); |
| |
// | // |
// Decrement count of current subscriptions for this provider | // Decrement count of current subscriptions for this provider |
|
|
CIMIndicationConsumerProvider* provider = | CIMIndicationConsumerProvider* provider = |
getProviderInterface<CIMIndicationConsumerProvider>(_provider); | getProviderInterface<CIMIndicationConsumerProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Calling provider.consumeIndication: " + _name); |
|
|
|
StatProviderTimeMeasurement providerTime(response.get()); | StatProviderTimeMeasurement providerTime(response.get()); |
| |
HANDLE_PROVIDER_EXCEPTION( |
HANDLE_PROVIDER_CALL( |
|
consumeIndication, |
provider->consumeIndication( | provider->consumeIndication( |
providerContext, | providerContext, |
request->destinationPath, | request->destinationPath, |
request->indicationInstance), | request->indicationInstance), |
handler) |
handler); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return response.release(); | return response.release(); |
|
|
CIMIndicationProvider* provider = | CIMIndicationProvider* provider = |
getProviderInterface<CIMIndicationProvider>(_provider); | getProviderInterface<CIMIndicationProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
"Calling provider.enableIndications: " + _name); |
"Calling provider.enableIndications: %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
| |
|
try |
|
{ |
provider->enableIndications(*indicationResponseHandler); | provider->enableIndications(*indicationResponseHandler); |
} | } |
catch (Exception& e) |
catch (...) |
{ | { |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2, |
PEG_TRACE((TRC_DISCARDED_DATA, Tracer::LEVEL1, |
"Exception: " + e.getMessage()); |
"Caught exception from provider %s " |
|
"enableIndications() method.", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
|
throw; |
|
} |
| |
|
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Returned from provider.enableIndications: %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
|
} |
|
catch (Exception& e) |
|
{ |
Logger::put_l(Logger::ERROR_LOG, System::CIMSERVER, Logger::WARNING, | Logger::put_l(Logger::ERROR_LOG, System::CIMSERVER, Logger::WARNING, |
|
MessageLoaderParms( |
"ProviderManager.Default.DefaultProviderManager." | "ProviderManager.Default.DefaultProviderManager." |
"ENABLE_INDICATIONS_FAILED", | "ENABLE_INDICATIONS_FAILED", |
"Failed to enable indications for provider $0: $1.", | "Failed to enable indications for provider $0: $1.", |
_name, e.getMessage()); |
_fullyQualifiedProviderName, e.getMessage())); |
} | } |
catch(...) | catch(...) |
{ | { |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2, |
|
"Unexpected error in _enableIndications"); |
|
|
|
Logger::put_l(Logger::ERROR_LOG, System::CIMSERVER, Logger::WARNING, | Logger::put_l(Logger::ERROR_LOG, System::CIMSERVER, Logger::WARNING, |
|
MessageLoaderParms( |
"ProviderManager.Default.DefaultProviderManager." | "ProviderManager.Default.DefaultProviderManager." |
"ENABLE_INDICATIONS_FAILED_UNKNOWN", | "ENABLE_INDICATIONS_FAILED_UNKNOWN", |
"Failed to enable indications for provider $0.", | "Failed to enable indications for provider $0.", |
_name); |
_fullyQualifiedProviderName)); |
} | } |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
|
|
CIMIndicationProvider* provider = | CIMIndicationProvider* provider = |
getProviderInterface<CIMIndicationProvider>(_provider); | getProviderInterface<CIMIndicationProvider>(_provider); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
"Calling provider.disableIndications: " + _name); |
"Calling provider.disableIndications: %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
| |
try | try |
{ | { |
|
|
} | } |
catch (...) | catch (...) |
{ | { |
PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2, |
PEG_TRACE((TRC_DISCARDED_DATA, Tracer::LEVEL1, |
"Caught exception from provider " + _name + |
"Caught exception from provider %s " |
" disableIndications() method."); |
"disableIndications() method.", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
|
throw; |
} | } |
| |
|
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
|
"Returned from provider.disableIndications: %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
|
|
status.setIndicationsEnabled(false); | status.setIndicationsEnabled(false); |
| |
status.resetSubscriptions(); | status.resetSubscriptions(); |
| |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4, |
"Destroying indication response handler for " + _name); |
"Destroying indication response handler for %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
| |
delete _indicationResponseHandler; | delete _indicationResponseHandler; |
_indicationResponseHandler = 0; | _indicationResponseHandler = 0; |
|
|
} | } |
catch(...) | catch(...) |
{ | { |
PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL3, |
PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL3, |
"Error occured disabling indications in provider " + _name); |
"Error occured disabling indications in provider %s", |
|
(const char*)_fullyQualifiedProviderName.getCString())); |
} | } |
|
PEG_METHOD_EXIT(); |
} | } |
|
|
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |