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

Diff for /pegasus/src/Pegasus/ProviderManager2/Attic/ProviderManagerService.cpp between version 1.24.2.2 and 1.36

version 1.24.2.2, 2004/02/19 01:01:54 version 1.36, 2004/04/30 10:10:41
Line 42 
Line 42 
 #include <Pegasus/Common/Tracer.h> #include <Pegasus/Common/Tracer.h>
 #include <Pegasus/Common/Logger.h> #include <Pegasus/Common/Logger.h>
 #include <Pegasus/Common/Destroyer.h> #include <Pegasus/Common/Destroyer.h>
 #include <Pegasus/ProviderManager/OperationResponseHandler.h>  #include <Pegasus/ProviderManager2/OperationResponseHandler.h>
  
 #include <Pegasus/Config/ConfigManager.h> #include <Pegasus/Config/ConfigManager.h>
  
Line 66 
Line 66 
  
     ProviderManagerContainer(const String & physicalName, const String & logicalName, const String & interfaceName) : _manager(0)     ProviderManagerContainer(const String & physicalName, const String & logicalName, const String & interfaceName) : _manager(0)
     {     {
         #if defined(PEGASUS_OS_TYPE_WINDOWS)          _physicalName=ProviderManager::_resolvePhysicalName(physicalName);
         _physicalName = physicalName + String(".dll");  
         #elif defined(PEGASUS_OS_HPUX) && defined(PEGASUS_PLATFORM_HPUX_PARISC_ACC)  
         _physicalName = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));  
         _physicalName.append(String("/lib") + physicalName + String(".sl"));  
         #elif defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_HPUX_PARISC_ACC)  
         _physicalName = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));  
         _physicalName.append(String("/lib") + physicalName + String(".so"));  
         #elif defined(PEGASUS_OS_OS400)  
         _physicalName = physicalName;  
         #else  
         _physicalName = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));  
         _physicalName.append(String("/lib") + physicalName + String(".so"));  
         #endif  
  
         _logicalName = logicalName;         _logicalName = logicalName;
  
Line 168 
Line 155 
 } }
  
 ProviderManagerService* ProviderManagerService::providerManagerService=NULL; ProviderManagerService* ProviderManagerService::providerManagerService=NULL;
   CIMRepository* ProviderManagerService::_repository=NULL;
  
 ProviderManagerService::ProviderManagerService(void) ProviderManagerService::ProviderManagerService(void)
     : MessageQueueService(PEGASUS_QUEUENAME_PROVIDERMANAGER_CPP)     : MessageQueueService(PEGASUS_QUEUENAME_PROVIDERMANAGER_CPP)
Line 175 
Line 163 
     providerManagerService=this;     providerManagerService=this;
 } }
  
 ProviderManagerService::ProviderManagerService(ProviderRegistrationManager * providerRegistrationManager)  ProviderManagerService::ProviderManagerService(
           ProviderRegistrationManager * providerRegistrationManager,
           CIMRepository * repository)
     : MessageQueueService(PEGASUS_QUEUENAME_PROVIDERMANAGER_CPP)     : MessageQueueService(PEGASUS_QUEUENAME_PROVIDERMANAGER_CPP)
 { {
     providerManagerService=this;     providerManagerService=this;
       _repository=repository;
   
     SetProviderRegistrationManager(providerRegistrationManager);     SetProviderRegistrationManager(providerRegistrationManager);
  
     // ATTN: this section is a temporary solution to populate the list of enabled     // ATTN: this section is a temporary solution to populate the list of enabled
Line 212 
Line 204 
        new ProviderManagerContainer("CMPIProviderManager", "CMPI", "CMPI"));        new ProviderManagerContainer("CMPIProviderManager", "CMPI", "CMPI"));
     #endif     #endif
     #endif     #endif
   
       #if defined(ENABLE_JMPI_PROVIDER_MANAGER)
       #if defined(PEGASUS_OS_OS400)
       _providerManagers.append(
          new ProviderManagerContainer("QSYS/QYCMJMPIPM", "JMPI", "JMPI"));
       #else
       _providerManagers.append(
          new ProviderManagerContainer("JMPIProviderManager", "JMPI", "JMPI"));
       #endif
       #endif
     // END TEMP SECTION     // END TEMP SECTION
 } }
  
Line 275 
Line 277 
  
         _incomingQueue.enqueue(request->op);         _incomingQueue.enqueue(request->op);
  
         _thread_pool->allocate_and_awaken((void *)this, ProviderManagerService::handleCimOperation);           while (!_thread_pool->allocate_and_awaken(
                        (void *)this, ProviderManagerService::handleCimOperation))
            {
                pegasus_yield();
            }
     }     }
     else     else
     {     {
Line 454 
Line 460 
 { {
     CIMNamespaceName nameSpace;     CIMNamespaceName nameSpace;
     CIMName className;     CIMName className;
       CIMName method;
  
     const CIMOperationRequestMessage * p =     const CIMOperationRequestMessage * p =
        dynamic_cast<const CIMOperationRequestMessage *>(message);        dynamic_cast<const CIMOperationRequestMessage *>(message);
  
     if (p) {     if (p) {
        nameSpace=p->nameSpace;        nameSpace=p->nameSpace;
   
        if (p->providerType==ProviderType::ASSOCIATION)        if (p->providerType==ProviderType::ASSOCIATION)
           className=((CIMAssociatorsRequestMessage*)p)->assocClass;           className=((CIMAssociatorsRequestMessage*)p)->assocClass;
        else className=p->className;        else className=p->className;
  
        ProviderName name(         if (p->providerType==ProviderType::METHOD)
            CIMObjectPath(String::EMPTY, nameSpace, className).toString(),            method=((CIMInvokeMethodRequestMessage*)p)->methodName;
            String::EMPTY,  
            String::EMPTY,         ProviderName name(nameSpace,
            String::EMPTY,             className,
            p->providerType);             p->providerType,
              method);
   
        // find provider manager        // find provider manager
        name = ProviderRegistrar().findProvider(name,false);        name = ProviderRegistrar().findProvider(name,false);
        it=name.getInterfaceName();        it=name.getInterfaceName();
Line 508 
Line 518 
  
 void ProviderManagerService::unload_idle_providers(void) void ProviderManagerService::unload_idle_providers(void)
 { {
       for(Uint32 i = 0, n = _providerManagers.size(); i < n; i++)
       {
         ProviderManagerContainer *pmc=_providerManagers[i];
              pmc->getProviderManager()->unload_idle_providers();
       }
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
   


Legend:
Removed from v.1.24.2.2  
changed lines
  Added in v.1.36

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2