(file) Return to ProviderMessageHandler.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / Default

Diff for /pegasus/src/Pegasus/ProviderManager2/Default/ProviderMessageHandler.cpp between version 1.2 and 1.3

version 1.2, 2006/09/01 17:51:30 version 1.3, 2006/09/05 17:37:12
Line 53 
Line 53 
 #include <Pegasus/ProviderManager2/OperationResponseHandler.h> #include <Pegasus/ProviderManager2/OperationResponseHandler.h>
 #include <Pegasus/ProviderManager2/AutoPThreadSecurity.h> #include <Pegasus/ProviderManager2/AutoPThreadSecurity.h>
  
 #define HandleCatch(handler)                                                   \  #define HANDLE_PROVIDER_EXCEPTION(providerCall, handler)               \
       try                                                                \
       {                                                                  \
           providerCall;                                                  \
       }                                                                  \
 catch (CIMException& e)                                                        \ catch (CIMException& e)                                                        \
 {                                                                              \ {                                                                              \
     PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,                      \     PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,                      \
         "Exception: " + e.getMessage());                                       \              "Provider Exception: " + e.getMessage());                  \
     handler.setStatus(e.getCode(), e.getContentLanguages(), e.getMessage());   \          handler.setStatus(                                             \
               e.getCode(), e.getContentLanguages(), e.getMessage());     \
 }                                                                              \ }                                                                              \
 catch (Exception& e)                                                           \ catch (Exception& e)                                                           \
 {                                                                              \ {                                                                              \
     PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,                      \     PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,                      \
         "Exception: " + e.getMessage());                                       \              "Provider Exception: " + e.getMessage());                  \
     handler.setStatus(CIM_ERR_FAILED, e.getContentLanguages(), e.getMessage());\          handler.setStatus(                                             \
               CIM_ERR_FAILED, e.getContentLanguages(), e.getMessage());  \
 }                                                                              \ }                                                                              \
 catch (...)                                                                    \ catch (...)                                                                    \
 {                                                                              \ {                                                                              \
     PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,                      \     PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,                      \
         "Exception: Unknown");                                                 \              "Provider Exception: Unknown");                            \
     handler.setStatus(CIM_ERR_FAILED, "Unknown error.");                       \     handler.setStatus(CIM_ERR_FAILED, "Unknown error.");                       \
 } }
  
Line 162 
Line 168 
  
     CIMResponseMessage* response = 0;     CIMResponseMessage* response = 0;
  
       try
       {
     // pass the request message to a handler method based on message type     // pass the request message to a handler method based on message type
     switch(request->getType())     switch(request->getType())
     {     {
Line 241 
Line 249 
         PEGASUS_ASSERT(0);         PEGASUS_ASSERT(0);
         break;         break;
     }     }
       }
       catch (CIMException& e)
       {
           PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,
               "CIMException: " + e.getMessage());
           response = request->buildResponse();
           response->cimException = PEGASUS_CIM_EXCEPTION_LANG(
               e.getContentLanguages(), e.getCode(), e.getMessage());
       }
       catch (Exception& e)
       {
           PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,
               "Exception: " + e.getMessage());
           response = request->buildResponse();
           response->cimException = PEGASUS_CIM_EXCEPTION_LANG(
               e.getContentLanguages(), CIM_ERR_FAILED, e.getMessage());
       }
       catch (...)
       {
           PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,
               "Exception: Unknown");
           response = request->buildResponse();
           response->cimException = PEGASUS_CIM_EXCEPTION(
               CIM_ERR_FAILED, "Unknown error.");
       }
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     return response;     return response;
 } }
  
   OperationContext ProviderMessageHandler::_createProviderOperationContext(
       const OperationContext& context)
   {
       OperationContext providerContext;
   
       providerContext.insert(context.get(IdentityContainer::NAME));
       providerContext.insert(context.get(AcceptLanguageListContainer::NAME));
       providerContext.insert(context.get(ContentLanguageListContainer::NAME));
   
       return providerContext;
   }
   
 CIMResponseMessage* ProviderMessageHandler::_handleGetInstanceRequest( CIMResponseMessage* ProviderMessageHandler::_handleGetInstanceRequest(
     CIMRequestMessage* message)     CIMRequestMessage* message)
 { {
Line 257 
Line 302 
         dynamic_cast<CIMGetInstanceRequestMessage*>(message);         dynamic_cast<CIMGetInstanceRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMGetInstanceResponseMessage* response =      AutoPtr<CIMGetInstanceResponseMessage> response(
         dynamic_cast<CIMGetInstanceResponseMessage*>(         dynamic_cast<CIMGetInstanceResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     GetInstanceResponseHandler handler(     GetInstanceResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleGetInstanceRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->instanceName.getClassName().getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 283 
Line 318 
             request->instanceName.getClassName(),             request->instanceName.getClassName(),
             request->instanceName.getKeyBindings());             request->instanceName.getKeyBindings());
  
         // convert arguments      PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
         OperationContext context;          "ProviderMessageHandler::_handleGetInstanceRequest - "
               "Object path: $0",
         context.insert(request->operationContext.get(IdentityContainer::NAME));          objectPath.toString()));
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
   
         // forward request  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Calling provider.getInstance: " + _name);  
  
         AutoPThreadSecurity threadLevelSecurity(context);      OperationContext providerContext(
           _createProviderOperationContext(request->operationContext));
  
         StatProviderTimeMeasurement providerTime(response);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->getInstance(         provider->getInstance(
             context,              providerContext,
             objectPath,             objectPath,
             request->includeQualifiers,             request->includeQualifiers,
             request->includeClassOrigin,             request->includeClassOrigin,
             request->propertyList,             request->propertyList,
             handler);              handler),
     }          handler)
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
     return(response);      return response.release();
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleEnumerateInstancesRequest( CIMResponseMessage* ProviderMessageHandler::_handleEnumerateInstancesRequest(
Line 325 
Line 360 
         dynamic_cast<CIMEnumerateInstancesRequestMessage*>(message);         dynamic_cast<CIMEnumerateInstancesRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMEnumerateInstancesResponseMessage* response =      AutoPtr<CIMEnumerateInstancesResponseMessage> response(
         dynamic_cast<CIMEnumerateInstancesResponseMessage*>(         dynamic_cast<CIMEnumerateInstancesResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     EnumerateInstancesResponseHandler handler(     EnumerateInstancesResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleEnumerateInstancesRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->className.getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 350 
Line 375 
             request->nameSpace,             request->nameSpace,
             request->className);             request->className);
  
         // convert arguments      PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
         OperationContext context;          "ProviderMessageHandler::_handleEnumerateInstancesRequest - "
               "Object path: $0",
         context.insert(request->operationContext.get(IdentityContainer::NAME));          objectPath.toString()));
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
   
         // forward request  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Calling provider.enumerateInstances: " + _name);  
  
         AutoPThreadSecurity threadLevelSecurity(context);      OperationContext providerContext(
           _createProviderOperationContext(request->operationContext));
  
         StatProviderTimeMeasurement providerTime(response);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->enumerateInstances(         provider->enumerateInstances(
             context,              providerContext,
             objectPath,             objectPath,
             request->includeQualifiers,             request->includeQualifiers,
             request->includeClassOrigin,             request->includeClassOrigin,
             request->propertyList,             request->propertyList,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleEnumerateInstanceNamesRequest( CIMResponseMessage* ProviderMessageHandler::_handleEnumerateInstanceNamesRequest(
Line 394 
Line 417 
         dynamic_cast<CIMEnumerateInstanceNamesRequestMessage*>(message);         dynamic_cast<CIMEnumerateInstanceNamesRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMEnumerateInstanceNamesResponseMessage* response =      AutoPtr<CIMEnumerateInstanceNamesResponseMessage> response(
         dynamic_cast<CIMEnumerateInstanceNamesResponseMessage*>(         dynamic_cast<CIMEnumerateInstanceNamesResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     EnumerateInstanceNamesResponseHandler handler(     EnumerateInstanceNamesResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     // process the request  
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleEnumerateInstanceNamesRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->className.getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 420 
Line 432 
             request->nameSpace,             request->nameSpace,
             request->className);             request->className);
  
         // convert arguments      PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
         OperationContext context;          "ProviderMessageHandler::_handleEnumerateInstanceNamesRequest - "
               "Object path: $0",
         context.insert(request->operationContext.get(IdentityContainer::NAME));          objectPath.toString()));
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
   
         // forward request  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Calling provider.enumerateInstanceNames: " + _name);  
  
         AutoPThreadSecurity threadLevelSecurity(context);      OperationContext providerContext(
           _createProviderOperationContext(request->operationContext));
  
         StatProviderTimeMeasurement providerTime(response);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->enumerateInstanceNames(         provider->enumerateInstanceNames(
             context,              providerContext,
             objectPath,             objectPath,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleCreateInstanceRequest( CIMResponseMessage* ProviderMessageHandler::_handleCreateInstanceRequest(
Line 461 
Line 471 
         dynamic_cast<CIMCreateInstanceRequestMessage*>(message);         dynamic_cast<CIMCreateInstanceRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     // create response message      AutoPtr<CIMCreateInstanceResponseMessage> response(
     CIMCreateInstanceResponseMessage* response =  
         dynamic_cast<CIMCreateInstanceResponseMessage*>(         dynamic_cast<CIMCreateInstanceResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     CreateInstanceResponseHandler handler(     CreateInstanceResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleCreateInstanceRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->newInstance.getPath().getClassName().getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 488 
Line 487 
             request->newInstance.getPath().getClassName(),             request->newInstance.getPath().getClassName(),
             request->newInstance.getPath().getKeyBindings());             request->newInstance.getPath().getKeyBindings());
  
         // convert arguments      PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
         OperationContext context;          "ProviderMessageHandler::_handleCreateInstanceRequest - "
               "Object path: $0",
         context.insert(request->operationContext.get(IdentityContainer::NAME));          objectPath.toString()));
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
   
         // forward request  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Calling provider.createInstance: " + _name);  
  
         AutoPThreadSecurity threadLevelSecurity(context);      OperationContext providerContext(
           _createProviderOperationContext(request->operationContext));
  
         StatProviderTimeMeasurement providerTime(response);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->createInstance(         provider->createInstance(
             context,              providerContext,
             objectPath,             objectPath,
             request->newInstance,             request->newInstance,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleModifyInstanceRequest( CIMResponseMessage* ProviderMessageHandler::_handleModifyInstanceRequest(
Line 530 
Line 527 
         dynamic_cast<CIMModifyInstanceRequestMessage*>(message);         dynamic_cast<CIMModifyInstanceRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     // create response message      AutoPtr<CIMModifyInstanceResponseMessage> response(
     CIMModifyInstanceResponseMessage* response =  
         dynamic_cast<CIMModifyInstanceResponseMessage*>(         dynamic_cast<CIMModifyInstanceResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     ModifyInstanceResponseHandler handler(     ModifyInstanceResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleModifyInstanceRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->modifiedInstance.getPath().getClassName().getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 557 
Line 543 
             request->modifiedInstance.getPath ().getClassName(),             request->modifiedInstance.getPath ().getClassName(),
             request->modifiedInstance.getPath ().getKeyBindings());             request->modifiedInstance.getPath ().getKeyBindings());
  
         // convert arguments      PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
         OperationContext context;          "ProviderMessageHandler::_handleModifyInstanceRequest - "
               "Object path: $0",
         context.insert(request->operationContext.get(IdentityContainer::NAME));          objectPath.toString()));
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
   
         // forward request  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Calling provider.modifyInstance: " + _name);  
  
         AutoPThreadSecurity threadLevelSecurity(context);      OperationContext providerContext(
           _createProviderOperationContext(request->operationContext));
  
         StatProviderTimeMeasurement providerTime(response);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->modifyInstance(         provider->modifyInstance(
             context,              providerContext,
             objectPath,             objectPath,
             request->modifiedInstance,             request->modifiedInstance,
             request->includeQualifiers,             request->includeQualifiers,
             request->propertyList,             request->propertyList,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleDeleteInstanceRequest( CIMResponseMessage* ProviderMessageHandler::_handleDeleteInstanceRequest(
Line 601 
Line 585 
         dynamic_cast<CIMDeleteInstanceRequestMessage*>(message);         dynamic_cast<CIMDeleteInstanceRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     // create response message      AutoPtr<CIMDeleteInstanceResponseMessage> response(
     CIMDeleteInstanceResponseMessage* response =  
         dynamic_cast<CIMDeleteInstanceResponseMessage*>(         dynamic_cast<CIMDeleteInstanceResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     DeleteInstanceResponseHandler handler(     DeleteInstanceResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleDeleteInstanceRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->instanceName.getClassName().getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 628 
Line 601 
             request->instanceName.getClassName(),             request->instanceName.getClassName(),
             request->instanceName.getKeyBindings());             request->instanceName.getKeyBindings());
  
         // convert arguments      PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
         OperationContext context;          "ProviderMessageHandler::_handleDeleteInstanceRequest - "
               "Object path: $0",
         context.insert(request->operationContext.get(IdentityContainer::NAME));          objectPath.toString()));
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
   
         // forward request  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Calling provider.deleteInstance: " + _name);  
  
         AutoPThreadSecurity threadLevelSecurity(context);      OperationContext providerContext(
           _createProviderOperationContext(request->operationContext));
  
         StatProviderTimeMeasurement providerTime(response);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->deleteInstance(         provider->deleteInstance(
             context,              providerContext,
             objectPath,             objectPath,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleExecQueryRequest( CIMResponseMessage* ProviderMessageHandler::_handleExecQueryRequest(
Line 669 
Line 640 
         dynamic_cast<CIMExecQueryRequestMessage*>(message);         dynamic_cast<CIMExecQueryRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMExecQueryResponseMessage* response =      AutoPtr<CIMExecQueryResponseMessage> response(
         dynamic_cast<CIMExecQueryResponseMessage*>(         dynamic_cast<CIMExecQueryResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     ExecQueryResponseHandler handler(     ExecQueryResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleExecQueryRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->className.getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 694 
Line 655 
             request->nameSpace,             request->nameSpace,
             request->className);             request->className);
  
         // convert arguments      PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
         OperationContext context;          "ProviderMessageHandler::_handleExecQueryRequest - "
               "Object path: $0",
         context.insert(request->operationContext.get(IdentityContainer::NAME));          objectPath.toString()));
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
  
         QueryExpression qx(request->queryLanguage,request->query);         QueryExpression qx(request->queryLanguage,request->query);
  
         // forward request      OperationContext providerContext(
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,          _createProviderOperationContext(request->operationContext));
             "Calling provider.execQuery: " + _name);  
   
         AutoPThreadSecurity threadLevelSecurity(context);  
  
         StatProviderTimeMeasurement providerTime(response);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->execQuery(         provider->execQuery(
             context,              providerContext,
             objectPath,             objectPath,
             qx,             qx,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleAssociatorsRequest( CIMResponseMessage* ProviderMessageHandler::_handleAssociatorsRequest(
Line 738 
Line 697 
         dynamic_cast<CIMAssociatorsRequestMessage*>(message);         dynamic_cast<CIMAssociatorsRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMAssociatorsResponseMessage* response =      AutoPtr<CIMAssociatorsResponseMessage> response(
         dynamic_cast<CIMAssociatorsResponseMessage*>(         dynamic_cast<CIMAssociatorsResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     AssociatorsResponseHandler handler(     AssociatorsResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     // process the request  
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleAssociatorsRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->objectName.getClassName().getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 766 
Line 714 
  
         objectPath.setKeyBindings(request->objectName.getKeyBindings());         objectPath.setKeyBindings(request->objectName.getKeyBindings());
  
       PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
           "ProviderMessageHandler::_handleAssociatorsRequest - "
               "Object path: $0",
           objectPath.toString()));
   
         CIMObjectPath assocPath(         CIMObjectPath assocPath(
             System::getHostName(),             System::getHostName(),
             request->nameSpace,             request->nameSpace,
             request->assocClass.getString());             request->assocClass.getString());
  
         // convert arguments      OperationContext providerContext(
         OperationContext context;          _createProviderOperationContext(request->operationContext));
  
         context.insert(request->operationContext.get(IdentityContainer::NAME));      AutoPThreadSecurity threadLevelSecurity(providerContext);
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
   
         AutoPThreadSecurity threadLevelSecurity(context);  
   
         StatProviderTimeMeasurement providerTime(response);  
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->associators(         provider->associators(
             context,              providerContext,
             objectPath,             objectPath,
             request->assocClass,             request->assocClass,
             request->resultClass,             request->resultClass,
Line 795 
Line 748 
             request->includeQualifiers,             request->includeQualifiers,
             request->includeClassOrigin,             request->includeClassOrigin,
             request->propertyList,             request->propertyList,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleAssociatorNamesRequest( CIMResponseMessage* ProviderMessageHandler::_handleAssociatorNamesRequest(
Line 815 
Line 765 
         dynamic_cast<CIMAssociatorNamesRequestMessage*>(message);         dynamic_cast<CIMAssociatorNamesRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMAssociatorNamesResponseMessage* response =      AutoPtr<CIMAssociatorNamesResponseMessage> response(
         dynamic_cast<CIMAssociatorNamesResponseMessage*>(         dynamic_cast<CIMAssociatorNamesResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     AssociatorNamesResponseHandler handler(     AssociatorNamesResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     // process the request  
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleAssociationNamesRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->objectName.getClassName().getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 843 
Line 782 
  
         objectPath.setKeyBindings(request->objectName.getKeyBindings());         objectPath.setKeyBindings(request->objectName.getKeyBindings());
  
       PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
           "ProviderMessageHandler::_handleAssociationNamesRequest - "
               "Object path: $0",
           objectPath.toString()));
   
         CIMObjectPath assocPath(         CIMObjectPath assocPath(
             System::getHostName(),             System::getHostName(),
             request->nameSpace,             request->nameSpace,
             request->assocClass.getString());             request->assocClass.getString());
  
         // convert arguments      OperationContext providerContext(
         OperationContext context;          _createProviderOperationContext(request->operationContext));
   
         context.insert(request->operationContext.get(IdentityContainer::NAME));  
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
   
         AutoPThreadSecurity threadLevelSecurity(context);  
  
         StatProviderTimeMeasurement providerTime(response);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->associatorNames(         provider->associatorNames(
             context,              providerContext,
             objectPath,             objectPath,
             request->assocClass,             request->assocClass,
             request->resultClass,             request->resultClass,
             request->role,             request->role,
             request->resultRole,             request->resultRole,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleReferencesRequest( CIMResponseMessage* ProviderMessageHandler::_handleReferencesRequest(
Line 889 
Line 830 
         dynamic_cast<CIMReferencesRequestMessage*>(message);         dynamic_cast<CIMReferencesRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMReferencesResponseMessage* response =      AutoPtr<CIMReferencesResponseMessage> response(
         dynamic_cast<CIMReferencesResponseMessage*>(         dynamic_cast<CIMReferencesResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     ReferencesResponseHandler handler(     ReferencesResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     // process the request  
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleReferencesRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->objectName.getClassName().getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 917 
Line 847 
  
         objectPath.setKeyBindings(request->objectName.getKeyBindings());         objectPath.setKeyBindings(request->objectName.getKeyBindings());
  
       PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
           "ProviderMessageHandler::_handleReferencesRequest - "
               "Object path: $0",
           objectPath.toString()));
   
         CIMObjectPath resultPath(         CIMObjectPath resultPath(
             System::getHostName(),             System::getHostName(),
             request->nameSpace,             request->nameSpace,
             request->resultClass.getString());             request->resultClass.getString());
  
         // convert arguments      OperationContext providerContext(
         OperationContext context;          _createProviderOperationContext(request->operationContext));
  
         context.insert(request->operationContext.get(IdentityContainer::NAME));      AutoPThreadSecurity threadLevelSecurity(providerContext);
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));      CIMAssociationProvider* provider =
           getProviderInterface<CIMAssociationProvider>(_provider);
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
             "Calling provider.references: " + _name);             "Calling provider.references: " + _name);
  
         AutoPThreadSecurity threadLevelSecurity(context);      StatProviderTimeMeasurement providerTime(response.get());
   
         StatProviderTimeMeasurement providerTime(response);  
   
         CIMAssociationProvider* provider =  
             getProviderInterface<CIMAssociationProvider>(_provider);  
  
       HANDLE_PROVIDER_EXCEPTION(
         provider->references(         provider->references(
             context,              providerContext,
             objectPath,             objectPath,
             request->resultClass,             request->resultClass,
             request->role,             request->role,
             request->includeQualifiers,             request->includeQualifiers,
             request->includeClassOrigin,             request->includeClassOrigin,
             request->propertyList,             request->propertyList,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleReferenceNamesRequest( CIMResponseMessage* ProviderMessageHandler::_handleReferenceNamesRequest(
Line 967 
Line 896 
         dynamic_cast<CIMReferenceNamesRequestMessage*>(message);         dynamic_cast<CIMReferenceNamesRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMReferenceNamesResponseMessage* response =      AutoPtr<CIMReferenceNamesResponseMessage> response(
         dynamic_cast<CIMReferenceNamesResponseMessage*>(         dynamic_cast<CIMReferenceNamesResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     ReferenceNamesResponseHandler handler(     ReferenceNamesResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     // process the request  
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleReferenceNamesRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->objectName.getClassName().getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 995 
Line 913 
  
         objectPath.setKeyBindings(request->objectName.getKeyBindings());         objectPath.setKeyBindings(request->objectName.getKeyBindings());
  
       PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
           "ProviderMessageHandler::_handleReferenceNamesRequest - "
               "Object path: $0",
           objectPath.toString()));
   
         CIMObjectPath resultPath(         CIMObjectPath resultPath(
             System::getHostName(),             System::getHostName(),
             request->nameSpace,             request->nameSpace,
             request->resultClass.getString());             request->resultClass.getString());
  
         // convert arguments      OperationContext providerContext(
         OperationContext context;          _createProviderOperationContext(request->operationContext));
  
         context.insert(request->operationContext.get(IdentityContainer::NAME));      AutoPThreadSecurity threadLevelSecurity(providerContext);
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));      CIMAssociationProvider* provider =
           getProviderInterface<CIMAssociationProvider>(_provider);
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
             "Calling provider.referenceNames: " + _name);             "Calling provider.referenceNames: " + _name);
  
         AutoPThreadSecurity threadLevelSecurity(context);      StatProviderTimeMeasurement providerTime(response.get());
   
         StatProviderTimeMeasurement providerTime(response);  
   
         CIMAssociationProvider* provider =  
             getProviderInterface<CIMAssociationProvider>(_provider);  
  
       HANDLE_PROVIDER_EXCEPTION(
         provider->referenceNames(         provider->referenceNames(
             context,              providerContext,
             objectPath,             objectPath,
             request->resultClass,             request->resultClass,
             request->role,             request->role,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleGetPropertyRequest( CIMResponseMessage* ProviderMessageHandler::_handleGetPropertyRequest(
Line 1042 
Line 959 
         dynamic_cast<CIMGetPropertyRequestMessage*>(message);         dynamic_cast<CIMGetPropertyRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMGetPropertyResponseMessage* response =      AutoPtr<CIMGetPropertyResponseMessage> response(
         dynamic_cast<CIMGetPropertyResponseMessage*>(         dynamic_cast<CIMGetPropertyResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request      //
     SimpleInstanceResponseHandler handler;      // Translate the GetProperty request to a GetInstance request message
       //
  
     try      Array<CIMName> propertyList;
     {      propertyList.append(request->propertyName);
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleGetPropertyRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2  Property: $3",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->instanceName.getClassName().getString(),  
             request->propertyName.getString()));  
  
         // make target object path      CIMGetInstanceRequestMessage getInstanceRequest(
         CIMObjectPath objectPath(          request->messageId,
             System::getHostName(),  
             request->nameSpace,             request->nameSpace,
             request->instanceName.getClassName(),          request->instanceName,
             request->instanceName.getKeyBindings());          false,  // localOnly
           false,  // includeQualifiers
           false,  // includeClassOrigin
           propertyList,
           request->queueIds);
  
         Array<CIMName> propertyList;      getInstanceRequest.operationContext = request->operationContext;
         propertyList.append(request->propertyName);  
  
         // convert arguments      AutoPtr<CIMGetInstanceResponseMessage> getInstanceResponse(
         OperationContext context;          dynamic_cast<CIMGetInstanceResponseMessage*>(
               getInstanceRequest.buildResponse()));
       PEGASUS_ASSERT(getInstanceResponse.get() != 0);
  
         context.insert(request->operationContext.get(IdentityContainer::NAME));      //
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));      // Process the GetInstance operation
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));      //
  
         // forward request      // create a handler for this request (with chunking disabled)
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,      GetInstanceResponseHandler handler(
             "Calling provider.getInstance: " + _name);          &getInstanceRequest, getInstanceResponse.get(), 0);
   
       // make target object path
       CIMObjectPath objectPath(
           System::getHostName(),
           getInstanceRequest.nameSpace,
           getInstanceRequest.instanceName.getClassName(),
           getInstanceRequest.instanceName.getKeyBindings());
   
       PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
           "ProviderMessageHandler::_handleGetPropertyRequest - "
               "Object path: $0, Property: $1",
           objectPath.toString(), request->propertyName.getString()));
  
         AutoPThreadSecurity threadLevelSecurity(context);      OperationContext providerContext(
           _createProviderOperationContext(getInstanceRequest.operationContext));
  
         StatProviderTimeMeasurement providerTime(response);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->getInstance(         provider->getInstance(
             context,              providerContext,
             objectPath,             objectPath,
             false,  // includeQualifiers              getInstanceRequest.includeQualifiers,
             false,  // includeClassOrigin              getInstanceRequest.includeClassOrigin,
             propertyList,              getInstanceRequest.propertyList,
             handler);              handler),
           handler)
   
       //
       // Copy the GetInstance response into the GetProperty response message
       //
  
         if (handler.getObjects().size())      response->cimException = getInstanceResponse->cimException;
   
       if (response->cimException.getCode() == CIM_ERR_SUCCESS)
         {         {
             CIMInstance instance = handler.getObjects()[0];          CIMInstance instance = getInstanceResponse->cimInstance;
  
             Uint32 pos = instance.findProperty(request->propertyName);             Uint32 pos = instance.findProperty(request->propertyName);
  
Line 1115 
Line 1055 
             }             }
         }         }
  
         response->operationContext.set(      response->operationContext = getInstanceResponse->operationContext;
             ContentLanguageListContainer(handler.getLanguages()));  
     }  
     catch (CIMException& e)  
     {  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Exception: " + e.getMessage());  
         response->cimException = PEGASUS_CIM_EXCEPTION_LANG(  
             e.getContentLanguages(), e.getCode(), e.getMessage());  
     }  
     catch (Exception& e)  
     {  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Exception: " + e.getMessage());  
         response->cimException = PEGASUS_CIM_EXCEPTION_LANG(  
             e.getContentLanguages(), CIM_ERR_FAILED, e.getMessage());  
     }  
     catch (...)  
     {  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Exception: Unknown");  
         response->cimException = PEGASUS_CIM_EXCEPTION(  
             CIM_ERR_FAILED, "Unknown error.");  
     }  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
     return(response);      return response.release();
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleSetPropertyRequest( CIMResponseMessage* ProviderMessageHandler::_handleSetPropertyRequest(
Line 1154 
Line 1071 
         dynamic_cast<CIMSetPropertyRequestMessage*>(message);         dynamic_cast<CIMSetPropertyRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMSetPropertyResponseMessage* response =      AutoPtr<CIMSetPropertyResponseMessage> response(
         dynamic_cast<CIMSetPropertyResponseMessage*>(         dynamic_cast<CIMSetPropertyResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
   
     // create a handler for this request  
     SimpleInstanceResponseHandler handler;  
  
     try      //
     {      // Translate the SetProperty request to a ModifyInstance request message
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,      //
             Logger::TRACE,  
             "ProviderMessageHandler::_handleSetPropertyRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2  Property: $3",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->instanceName.getClassName().getString(),  
             request->propertyName.getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 1183 
Line 1090 
         CIMInstance instance(request->instanceName.getClassName());         CIMInstance instance(request->instanceName.getClassName());
         instance.addProperty(CIMProperty(         instance.addProperty(CIMProperty(
             request->propertyName, request->newValue));             request->propertyName, request->newValue));
       instance.setPath(objectPath);
  
         Array<CIMName> propertyList;         Array<CIMName> propertyList;
         propertyList.append(request->propertyName);         propertyList.append(request->propertyName);
  
         // convert arguments      CIMModifyInstanceRequestMessage modifyInstanceRequest(
         OperationContext context;          request->messageId,
           request->nameSpace,
           instance,
           false,  // includeQualifiers
           propertyList,
           request->queueIds);
  
         context.insert(request->operationContext.get(IdentityContainer::NAME));      modifyInstanceRequest.operationContext = request->operationContext;
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
  
         // forward request      AutoPtr<CIMModifyInstanceResponseMessage> modifyInstanceResponse(
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,          dynamic_cast<CIMModifyInstanceResponseMessage*>(
             "Calling provider.modifyInstance: " + _name);              modifyInstanceRequest.buildResponse()));
       PEGASUS_ASSERT(modifyInstanceResponse.get() != 0);
  
         AutoPThreadSecurity threadLevelSecurity(context);      //
       // Process the ModifyInstance operation
       //
   
       // create a handler for this request (with chunking disabled)
       ModifyInstanceResponseHandler handler(
           &modifyInstanceRequest, modifyInstanceResponse.get(), 0);
  
         StatProviderTimeMeasurement providerTime(response);      PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
           "ProviderMessageHandler::_handleSetPropertyRequest - "
               "Object path: $0, Property: $1",
           objectPath.toString(), request->propertyName.getString()));
   
       OperationContext providerContext(
           _createProviderOperationContext(request->operationContext));
   
       AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->modifyInstance(         provider->modifyInstance(
             context,              providerContext,
             objectPath,             objectPath,
             instance,              modifyInstanceRequest.modifiedInstance,
             false,  // includeQualifiers              modifyInstanceRequest.includeQualifiers,
             propertyList,              modifyInstanceRequest.propertyList,
             handler);              handler),
           handler)
  
         response->operationContext.set(      //
             ContentLanguageListContainer(handler.getLanguages()));      // Copy the ModifyInstance response into the GetProperty response message
     }      //
     catch (CIMException& e)  
     {      response->cimException = modifyInstanceResponse->cimException;
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,      response->operationContext = modifyInstanceResponse->operationContext;
             "Exception: " + e.getMessage());  
         response->cimException = PEGASUS_CIM_EXCEPTION_LANG(  
             e.getContentLanguages(), e.getCode(), e.getMessage());  
     }  
     catch (Exception& e)  
     {  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Exception: " + e.getMessage());  
         response->cimException = PEGASUS_CIM_EXCEPTION_LANG(  
             e.getContentLanguages(), CIM_ERR_FAILED, e.getMessage());  
     }  
     catch (...)  
     {  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,  
             "Exception: Unknown");  
         response->cimException = PEGASUS_CIM_EXCEPTION(  
             CIM_ERR_FAILED, "Unknown error.");  
     }  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
     return(response);      return response.release();
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleInvokeMethodRequest( CIMResponseMessage* ProviderMessageHandler::_handleInvokeMethodRequest(
Line 1252 
Line 1167 
         dynamic_cast<CIMInvokeMethodRequestMessage*>(message);         dynamic_cast<CIMInvokeMethodRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     // create response message      AutoPtr<CIMInvokeMethodResponseMessage> response(
     CIMInvokeMethodResponseMessage* response =  
         dynamic_cast<CIMInvokeMethodResponseMessage*>(         dynamic_cast<CIMInvokeMethodResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     // create a handler for this request     // create a handler for this request
     InvokeMethodResponseHandler handler(     InvokeMethodResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     try  
     {  
         PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER,  
             Logger::TRACE,  
             "ProviderMessageHandler::_handleInvokeMethodRequest - "  
                 "Host name: $0  Name space: $1  Class name: $2",  
             System::getHostName(),  
             request->nameSpace.getString(),  
             request->instanceName.getClassName().getString()));  
  
         // make target object path         // make target object path
         CIMObjectPath objectPath(         CIMObjectPath objectPath(
Line 1279 
Line 1183 
             request->instanceName.getClassName(),             request->instanceName.getClassName(),
             request->instanceName.getKeyBindings());             request->instanceName.getKeyBindings());
  
         // convert arguments      PEG_LOGGER_TRACE((Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE,
         OperationContext context;          "ProviderMessageHandler::_handleInvokeMethodRequest - "
               "Object path: $0, Method: $1",
         context.insert(request->operationContext.get(IdentityContainer::NAME));          objectPath.toString(), request->methodName.getString()));
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
  
         CIMObjectPath instanceReference(request->instanceName);         CIMObjectPath instanceReference(request->instanceName);
         instanceReference.setNameSpace(request->nameSpace);         instanceReference.setNameSpace(request->nameSpace);
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,      OperationContext providerContext(
             "Calling provider.invokeMethod: " + _name);          _createProviderOperationContext(request->operationContext));
  
         AutoPThreadSecurity threadLevelSecurity(context);      AutoPThreadSecurity threadLevelSecurity(providerContext);
   
         StatProviderTimeMeasurement providerTime(response);  
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->invokeMethod(         provider->invokeMethod(
             context,              providerContext,
             instanceReference,             instanceReference,
             request->methodName,             request->methodName,
             request->inParameters,             request->inParameters,
             handler);              handler),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
       return response.release();
     return(response);  
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleCreateSubscriptionRequest( CIMResponseMessage* ProviderMessageHandler::_handleCreateSubscriptionRequest(
Line 1324 
Line 1227 
         dynamic_cast<CIMCreateSubscriptionRequestMessage*>(message);         dynamic_cast<CIMCreateSubscriptionRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMCreateSubscriptionResponseMessage* response =      AutoPtr<CIMCreateSubscriptionResponseMessage> response(
         dynamic_cast<CIMCreateSubscriptionResponseMessage*>(         dynamic_cast<CIMCreateSubscriptionResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     OperationResponseHandler handler(     OperationResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
  
     try  
     {  
         String temp;         String temp;
  
         for (Uint32 i = 0, n = request->classNames.size(); i < n; i++)         for (Uint32 i = 0, n = request->classNames.size(); i < n; i++)
Line 1362 
Line 1263 
         status.setProviderInstance(pidc.getProvider());         status.setProviderInstance(pidc.getProvider());
  
         // convert arguments         // convert arguments
         OperationContext context;  
   
         context.insert(request->operationContext.get(IdentityContainer::NAME));  
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(SubscriptionInstanceContainer::NAME));  
         context.insert(request->operationContext.get(SubscriptionFilterConditionContainer::NAME));  
         context.insert(request->operationContext.get(SubscriptionFilterQueryContainer::NAME));  
  
         Array<CIMObjectPath> classNames;         Array<CIMObjectPath> classNames;
  
Line 1383 
Line 1276 
             classNames.append(className);             classNames.append(className);
         }         }
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,      OperationContext providerContext(
             "Calling provider.createSubscription: " + _name);          _createProviderOperationContext(request->operationContext));
       providerContext.insert(request->operationContext.get(
           SubscriptionInstanceContainer::NAME));
       providerContext.insert(request->operationContext.get(
           SubscriptionFilterConditionContainer::NAME));
       providerContext.insert(request->operationContext.get(
           SubscriptionFilterQueryContainer::NAME));
  
         AutoPThreadSecurity threadLevelSecurity(context);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->createSubscription(         provider->createSubscription(
             context,              providerContext,
             request->subscriptionInstance.getPath(),             request->subscriptionInstance.getPath(),
             classNames,             classNames,
             request->propertyList,             request->propertyList,
             request->repeatNotificationPolicy);              request->repeatNotificationPolicy),
           handler)
  
         //         //
         //  Increment count of current subscriptions for this provider         //  Increment count of current subscriptions for this provider
Line 1416 
Line 1322 
                 _enableIndications();                 _enableIndications();
             }             }
         }         }
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
     return(response);      return response.release();
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleModifySubscriptionRequest( CIMResponseMessage* ProviderMessageHandler::_handleModifySubscriptionRequest(
Line 1433 
Line 1337 
         dynamic_cast<CIMModifySubscriptionRequestMessage*>(message);         dynamic_cast<CIMModifySubscriptionRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMModifySubscriptionResponseMessage* response =      AutoPtr<CIMModifySubscriptionResponseMessage> response(
         dynamic_cast<CIMModifySubscriptionResponseMessage*>(         dynamic_cast<CIMModifySubscriptionResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     OperationResponseHandler handler(     OperationResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
  
     try  
     {  
         String temp;         String temp;
  
         for (Uint32 i = 0, n = request->classNames.size(); i < n; i++)         for (Uint32 i = 0, n = request->classNames.size(); i < n; i++)
Line 1464 
Line 1366 
             temp));             temp));
  
         // convert arguments         // convert arguments
         OperationContext context;  
         context.insert(request->operationContext.get(IdentityContainer::NAME));  
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(SubscriptionInstanceContainer::NAME));  
         context.insert(request->operationContext.get(SubscriptionFilterConditionContainer::NAME));  
         context.insert(request->operationContext.get(SubscriptionFilterQueryContainer::NAME));  
  
         Array<CIMObjectPath> classNames;         Array<CIMObjectPath> classNames;
  
Line 1484 
Line 1379 
             classNames.append(className);             classNames.append(className);
         }         }
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,      OperationContext providerContext(
             "Calling provider.modifySubscription: " + _name);          _createProviderOperationContext(request->operationContext));
       providerContext.insert(request->operationContext.get(
           SubscriptionInstanceContainer::NAME));
       providerContext.insert(request->operationContext.get(
           SubscriptionFilterConditionContainer::NAME));
       providerContext.insert(request->operationContext.get(
           SubscriptionFilterQueryContainer::NAME));
  
         AutoPThreadSecurity threadLevelSecurity(context);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->modifySubscription(         provider->modifySubscription(
             context,              providerContext,
             request->subscriptionInstance.getPath(),             request->subscriptionInstance.getPath(),
             classNames,             classNames,
             request->propertyList,             request->propertyList,
             request->repeatNotificationPolicy);              request->repeatNotificationPolicy),
           handler)
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
     return(response);      return response.release();
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleDeleteSubscriptionRequest( CIMResponseMessage* ProviderMessageHandler::_handleDeleteSubscriptionRequest(
Line 1516 
Line 1421 
         dynamic_cast<CIMDeleteSubscriptionRequestMessage*>(message);         dynamic_cast<CIMDeleteSubscriptionRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMDeleteSubscriptionResponseMessage* response =      AutoPtr<CIMDeleteSubscriptionResponseMessage> response(
         dynamic_cast<CIMDeleteSubscriptionResponseMessage*>(         dynamic_cast<CIMDeleteSubscriptionResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     OperationResponseHandler handler(     OperationResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
  
     try  
     {  
         String temp;         String temp;
  
         for (Uint32 i = 0, n = request->classNames.size(); i < n; i++)         for (Uint32 i = 0, n = request->classNames.size(); i < n; i++)
Line 1546 
Line 1449 
             request->nameSpace.getString(),             request->nameSpace.getString(),
             temp));             temp));
  
         // convert arguments  
         OperationContext context;  
   
         context.insert(request->operationContext.get(IdentityContainer::NAME));  
         context.insert(request->operationContext.get(AcceptLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
         context.insert(request->operationContext.get(SubscriptionInstanceContainer::NAME));  
   
         Array<CIMObjectPath> classNames;         Array<CIMObjectPath> classNames;
  
         for (Uint32 i = 0, n = request->classNames.size(); i < n; i++)         for (Uint32 i = 0, n = request->classNames.size(); i < n; i++)
Line 1566 
Line 1461 
             classNames.append(className);             classNames.append(className);
         }         }
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,      OperationContext providerContext(
             "Calling provider.deleteSubscription: " + _name);          _createProviderOperationContext(request->operationContext));
       providerContext.insert(request->operationContext.get(
           SubscriptionInstanceContainer::NAME));
  
         AutoPThreadSecurity threadLevelSecurity(context);      AutoPThreadSecurity threadLevelSecurity(providerContext);
  
         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());
   
       HANDLE_PROVIDER_EXCEPTION(
         provider->deleteSubscription(         provider->deleteSubscription(
             context,              providerContext,
             request->subscriptionInstance.getPath(),             request->subscriptionInstance.getPath(),
             classNames);              classNames),
           handler)
  
         //         //
         //  Decrement count of current subscriptions for this provider         //  Decrement count of current subscriptions for this provider
Line 1594 
Line 1498 
                 _disableIndications();                 _disableIndications();
             }             }
         }         }
     }  
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
     return(response);      return response.release();
 } }
  
 CIMResponseMessage* ProviderMessageHandler::_handleExportIndicationRequest( CIMResponseMessage* ProviderMessageHandler::_handleExportIndicationRequest(
Line 1611 
Line 1513 
         dynamic_cast<CIMExportIndicationRequestMessage*>(message);         dynamic_cast<CIMExportIndicationRequestMessage*>(message);
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     CIMExportIndicationResponseMessage* response =      AutoPtr<CIMExportIndicationResponseMessage> response(
         dynamic_cast<CIMExportIndicationResponseMessage*>(         dynamic_cast<CIMExportIndicationResponseMessage*>(
             request->buildResponse());              request->buildResponse()));
     PEGASUS_ASSERT(response != 0);      PEGASUS_ASSERT(response.get() != 0);
  
     OperationResponseHandler handler(     OperationResponseHandler handler(
         request, response, _responseChunkCallback);          request, response.get(), _responseChunkCallback);
   
     try  
     {  
         OperationContext context;  
   
         context.insert(request->operationContext.get(IdentityContainer::NAME));  
  
       // NOTE: Accept-Languages do not need to be set in the consume msg.
       OperationContext providerContext;
       providerContext.insert(request->operationContext.get(
           IdentityContainer::NAME));
 //L10N_TODO //L10N_TODO
 // ATTN-CEC 06/04/03 NOTE: I can't find where the consume msg is sent.  This // ATTN-CEC 06/04/03 NOTE: I can't find where the consume msg is sent.  This
 // does not appear to be hooked up.  When it is added, need to // does not appear to be hooked up.  When it is added, need to
 // make sure that Content-Language is set in the consume msg. // make sure that Content-Language is set in the consume msg.
 // NOTE: A-L is not needed to be set in the consume msg.      providerContext.insert(request->operationContext.get(
           ContentLanguageListContainer::NAME));
  
         // add the langs to the context      AutoPThreadSecurity threadLevelSecurity(providerContext);
         context.insert(request->operationContext.get(ContentLanguageListContainer::NAME));  
       CIMIndicationConsumerProvider* provider =
           getProviderInterface<CIMIndicationConsumerProvider>(_provider);
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
             "Calling provider.consumeIndication: " + _name);             "Calling provider.consumeIndication: " + _name);
  
         StatProviderTimeMeasurement providerTime(response);      StatProviderTimeMeasurement providerTime(response.get());
   
         CIMIndicationConsumerProvider* provider =  
             getProviderInterface<CIMIndicationConsumerProvider>(_provider);  
  
       HANDLE_PROVIDER_EXCEPTION(
         provider->consumeIndication(         provider->consumeIndication(
             context,              providerContext,
             request->destinationPath,             request->destinationPath,
             request->indicationInstance);              request->indicationInstance),
     }          handler)
     HandleCatch(handler);  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
     return(response);      return response.release();
 } }
  
 void ProviderMessageHandler::_enableIndications() void ProviderMessageHandler::_enableIndications()
Line 1668 
Line 1568 
                 _indicationCallback,                 _indicationCallback,
                 _responseChunkCallback);                 _responseChunkCallback);
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,          _indicationResponseHandler = indicationResponseHandler;
             "Calling provider.enableIndications: " + _name);  
  
         status.setIndicationsEnabled(true);         status.setIndicationsEnabled(true);
  
         CIMIndicationProvider* provider =         CIMIndicationProvider* provider =
             getProviderInterface<CIMIndicationProvider>(_provider);             getProviderInterface<CIMIndicationProvider>(_provider);
  
         provider->enableIndications(*indicationResponseHandler);          PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
               "Calling provider.enableIndications: " + _name);
  
         _indicationResponseHandler = indicationResponseHandler;          provider->enableIndications(*indicationResponseHandler);
     }     }
     catch (Exception& e)     catch (Exception& e)
     {     {
Line 1718 
Line 1618 
             CIMIndicationProvider* provider =             CIMIndicationProvider* provider =
                 getProviderInterface<CIMIndicationProvider>(_provider);                 getProviderInterface<CIMIndicationProvider>(_provider);
  
               PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
                   "Calling provider.disableIndications: " + _name);
   
             try             try
             {             {
                 provider->disableIndications();                 provider->disableIndications();
Line 1726 
Line 1629 
             {             {
                 PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,                 PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,
                     "Caught exception from provider " + _name +                     "Caught exception from provider " + _name +
                         " terminate() method.");                          " disableIndications() method.");
             }             }
  
             status.setIndicationsEnabled(false);             status.setIndicationsEnabled(false);


Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2