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

Diff for /pegasus/src/Pegasus/ProviderManager2/Attic/BasicProviderManagerRouter.cpp between version 1.5 and 1.10

version 1.5, 2004/06/04 02:23:58 version 1.10, 2004/07/28 11:41:05
Line 26 
Line 26 
 // Author: Chip Vincent (cvincent@us.ibm.com) // Author: Chip Vincent (cvincent@us.ibm.com)
 //         Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) //         Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 // //
 // Modified By:  // Modified By: Seema Gupta(gseema@in.ibm.com) for PEP135
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #include "BasicProviderManagerRouter.h" #include "BasicProviderManagerRouter.h"
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
   #include <Pegasus/Common/OperationContextInternal.h>
 #include <Pegasus/Common/CIMMessage.h> #include <Pegasus/Common/CIMMessage.h>
 #include <Pegasus/Common/Tracer.h> #include <Pegasus/Common/Tracer.h>
 #include <Pegasus/ProviderManager2/OperationResponseHandler.h> #include <Pegasus/ProviderManager2/OperationResponseHandler.h>
Line 176 
Line 177 
     PEGASUS_ASSERT(request != 0);     PEGASUS_ASSERT(request != 0);
  
     Message* response = 0;     Message* response = 0;
       Boolean remoteNameSpaceRequest=false;
  
     //     //
     // Retrieve the ProviderManager routing information     // Retrieve the ProviderManager routing information
Line 191 
Line 193 
         ProviderIdContainer pidc = (ProviderIdContainer)         ProviderIdContainer pidc = (ProviderIdContainer)
             request->operationContext.get(ProviderIdContainer::NAME);             request->operationContext.get(ProviderIdContainer::NAME);
         providerModule = pidc.getModule();         providerModule = pidc.getModule();
           remoteNameSpaceRequest=pidc.isRemoteNameSpace();
     }     }
     else if (dynamic_cast<CIMIndicationRequestMessage*>(request) != 0)     else if (dynamic_cast<CIMIndicationRequestMessage*>(request) != 0)
     {     {
         // Provider information is in CIMIndicationRequestMessage         // Provider information is in CIMIndicationRequestMessage
         CIMIndicationRequestMessage* indReq =         CIMIndicationRequestMessage* indReq =
             dynamic_cast<CIMIndicationRequestMessage*>(request);             dynamic_cast<CIMIndicationRequestMessage*>(request);
         providerModule = indReq->providerModule;                  ProviderIdContainer pidc = indReq->operationContext.get(ProviderIdContainer::NAME);
           providerModule = pidc.getModule();
     }     }
     else if (request->getType() == CIM_ENABLE_MODULE_REQUEST_MESSAGE)     else if (request->getType() == CIM_ENABLE_MODULE_REQUEST_MESSAGE)
     {     {
Line 213 
Line 217 
             dynamic_cast<CIMDisableModuleRequestMessage*>(request);             dynamic_cast<CIMDisableModuleRequestMessage*>(request);
         providerModule = dmReq->providerModule;         providerModule = dmReq->providerModule;
     }     }
     else if (request->getType() == CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE)      else if ((request->getType() == CIM_STOP_ALL_PROVIDERS_REQUEST_MESSAGE) ||
                (request->getType() == CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE))
     {     {
         // This operation is not provider-specific         // This operation is not provider-specific
     }     }
Line 221 
Line 226 
     {     {
         // Error: Unrecognized message type.         // Error: Unrecognized message type.
         PEGASUS_ASSERT(0);         PEGASUS_ASSERT(0);
         CIMResponseMessage* resp = new CIMResponseMessage(          CIMResponseMessage* resp = request->buildResponse();
             0, request->messageId, CIMException(),          resp->cimException = PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED,
             request->queueIds.copyAndPop());              "Unknown message type.");
         resp->synch_response(request);  
         OperationResponseHandler handler(request, resp);  
         handler.setStatus(CIM_ERR_FAILED, "Unknown message type.");  
         response = resp;         response = resp;
     }     }
  
Line 248 
Line 250 
             }             }
         }         }
  
         response = new CIMStopAllProvidersResponseMessage(          response = request->buildResponse();
             request->messageId,      }
             CIMException(),      else if(request->getType() == CIM_NOTIFY_CONFIG_CHANGE_REQUEST_MESSAGE)
             request->queueIds.copyAndPop());      {
           // Do not need to forward this request to in-process provider
           // managers
           response = request->buildResponse();
     }     }
     else     else
     {     {
Line 263 
Line 268 
  
         // Look up the appropriate ProviderManager by InterfaceType         // Look up the appropriate ProviderManager by InterfaceType
         ProviderManager* pm = _lookupProviderManager(interfaceType);         ProviderManager* pm = _lookupProviderManager(interfaceType);
         response = pm->processMessage(request);          if (remoteNameSpaceRequest && !pm->supportsRemoteNameSpaces()) {
              CIMResponseMessage* resp = request->buildResponse();
              resp->cimException = PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED,
                  "Remote Namespace operations not supported for interface type "+interfaceType);
              response = resp;
           }
           else response = pm->processMessage(request);
     }     }
  
     // preserve message key     // preserve message key
Line 312 
Line 323 
         // another temporary solution for converting a generic file name into         // another temporary solution for converting a generic file name into
         // a file name useable by each platform.         // a file name useable by each platform.
  
 #if defined(ENABLE_DEFAULT_PROVIDER_MANAGER)  #if defined(PEGASUS_ENABLE_DEFAULT_PROVIDER_MANAGER)
         if (interfaceType == "C++Default")         if (interfaceType == "C++Default")
         {         {
             ProviderManagerContainer* pmc = new ProviderManagerContainer(             ProviderManagerContainer* pmc = new ProviderManagerContainer(


Legend:
Removed from v.1.5  
changed lines
  Added in v.1.10

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2