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

Diff for /pegasus/src/Pegasus/ProviderManager2/Default/DefaultProviderManager.cpp between version 1.10 and 1.10.2.2

version 1.10, 2003/11/27 01:28:35 version 1.10.2.2, 2004/02/19 01:01:54
Line 49 
Line 49 
 #include <Pegasus/ProviderManager2/Default/OperationResponseHandler.h> #include <Pegasus/ProviderManager2/Default/OperationResponseHandler.h>
  
 #include <Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h> #include <Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h>
   #include <Pegasus/ProviderManager2/ProviderManagerService.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 260 
Line 261 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::INSTANCE);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 370 
Line 371 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::INSTANCE);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 482 
Line 483 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::INSTANCE);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 589 
Line 590 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::INSTANCE);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 696 
Line 697 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::INSTANCE);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 807 
Line 808 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::INSTANCE);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 1057 
Line 1058 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::ASSOCIATION);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 1162 
Line 1163 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::ASSOCIATION);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 1272 
Line 1273 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::ASSOCIATION);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 1604 
Line 1605 
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             String::EMPTY,             String::EMPTY,
             0);              ProviderType::METHOD);
  
         // resolve provider name         // resolve provider name
         name = _resolveProviderName(name);         name = _resolveProviderName(name);
Line 2119 
Line 2120 
  
     response->dest = request->queueIds.top();     response->dest = request->queueIds.top();
  
     /*       EnableIndicationsResponseHandler *handler =
     // ATTN: need pointer to Provider Manager Server!          new EnableIndicationsResponseHandler(request, response,
     //EnableIndicationsResponseHandler *handler =                request->provider, ProviderManagerService::providerManagerService);
     //    new EnableIndicationsResponseHandler(request, response, this);  
  
     try     try
     {     {
         // get the provider file name and logical name         String physicalName=_resolvePhysicalName(
         Triad<String, String, String> triad =            request->providerModule.getProperty(
             _getProviderRegPair(request->provider, request->providerModule);                request->providerModule.findProperty("Location")).getValue().toString());
   
          ProviderName name(String::EMPTY,
                  request->provider.getProperty(request->providerModule.findProperty
                      ("Name")).getValue ().toString (),
                  physicalName,
                  request->providerModule.getProperty(request->providerModule.findProperty
                       ("InterfaceType")).getValue().toString(),
                  0);
  
         // get cached or load new provider module         // get cached or load new provider module
         //Provider provider =  
         OpProviderHolder ph =         OpProviderHolder ph =
             providerManager.getProvider(triad.first, triad.second, triad.third);              providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY);
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
             "Calling provider.enableIndications: " +             "Calling provider.enableIndications: " +
             ph.GetProvider().getName());             ph.GetProvider().getName());
         ph.GetProvider().protect();  
           pm_service_op_lock op_lock(&ph.GetProvider());
   
         ph.GetProvider().enableIndications(*handler);         ph.GetProvider().enableIndications(*handler);
  
  
Line 2153 
Line 2162 
     {     {
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
             "Exception: " + e.getMessage());             "Exception: " + e.getMessage());
   
         response->cimException = CIMException(e);         response->cimException = CIMException(e);
     }     }
     catch(Exception & e)     catch(Exception & e)
     {     {
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
             "Exception: " + e.getMessage());             "Exception: " + e.getMessage());
         //l10n  
         //response->cimException = CIMException(CIM_ERR_FAILED, "Internal Error");  
         response->cimException = CIMException(CIM_ERR_FAILED, MessageLoaderParms(         response->cimException = CIMException(CIM_ERR_FAILED, MessageLoaderParms(
             "ProviderManager.DefaultProviderManager.INTERNAL_ERROR",             "ProviderManager.DefaultProviderManager.INTERNAL_ERROR",
             "Internal Error"));             "Internal Error"));
Line 2169 
Line 2177 
     {     {
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
             "Exception: Unknown");             "Exception: Unknown");
         //l10n  
         //response->cimException = CIMException(CIM_ERR_FAILED, "Unknown Error");  
         response->cimException = CIMException(CIM_ERR_FAILED, MessageLoaderParms(         response->cimException = CIMException(CIM_ERR_FAILED, MessageLoaderParms(
             "ProviderManager.DefaultProviderManager.UNKNOWN_ERROR",             "ProviderManager.DefaultProviderManager.UNKNOWN_ERROR",
             "Unknown Error"));             "Unknown Error"));
     }     }
     */  
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
Line 2209 
Line 2214 
  
     try     try
     {     {
         ProviderName name(         String physicalName=_resolvePhysicalName(
             String::EMPTY,                request->providerModule.getProperty(
             String::EMPTY,                   request->providerModule.findProperty("Location")).getValue().toString());
             String::EMPTY,  
             String::EMPTY,         ProviderName name(String::EMPTY,
                  request->provider.getProperty(request->providerModule.findProperty
                      ("Name")).getValue ().toString (),
                  physicalName,
                  request->providerModule.getProperty(request->providerModule.findProperty
                       ("InterfaceType")).getValue().toString(),
             0);             0);
         /*  
         ProviderName name(  
             String::EMPTY,  
             String::EMPTY,  
             objectPath.toString());  
   
         // resolve provider name  
         name = _resolveProviderName(name);  
         */  
  
         // get cached or load new provider module         // get cached or load new provider module
         OpProviderHolder ph =         OpProviderHolder ph =
             providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY);             providerManager.getProvider(name.getPhysicalName(), name.getLogicalName(), String::EMPTY);
  
         /*  
         // get the provider file name and logical name  
         Triad<String, String, String> triad =  
             getProviderRegistrar()->_getProviderRegPair(request->provider, request->providerModule);  
   
         // get cached or load new provider module  
         //Provider provider =  
         OpProviderHolder ph =  
             providerManager.getProvider(triad.first, triad.second, triad.third);  
         */  
   
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,
             "Calling provider.disableIndications: " +             "Calling provider.disableIndications: " +
             ph.GetProvider().getName());             ph.GetProvider().getName());
Line 2462 
Line 2452 
  
     // Unload providers     // Unload providers
     Array<CIMInstance> _pInstances = request->providers;     Array<CIMInstance> _pInstances = request->providers;
       String physicalName=_resolvePhysicalName(request->providerModule.getProperty(
                 request->providerModule.findProperty("Location")).getValue().toString());
  
     for(Uint32 i = 0, n = _pInstances.size(); i < n; i++)     for(Uint32 i = 0, n = _pInstances.size(); i < n; i++)
     {     {
         /* temp disabled by Chip          providerManager.unloadProvider(_pInstances[i].getProperty(
         // get the provider file name and logical name                                            request->providerModule.findProperty
         Triad<String, String, String> triad =                                            ("Name")).getValue ().toString (),
             getProviderRegistrar()->_getProviderRegPair(_pInstances[i], mInstance);                                         physicalName);
   
         providerManager.unloadProvider(triad.first, triad.second);  
         */  
     }     }
  
     if(!disableProviderOnly)     if(!disableProviderOnly)
Line 2682 
Line 2671 
     return(tableKey);     return(tableKey);
 } }
  
 ProviderName DefaultProviderManager::_resolveProviderName(const ProviderName & providerName)  String DefaultProviderManager::_resolvePhysicalName(const String  & name)
 { {
     ProviderName temp = findProvider(providerName);      String physicalName;
  
     String physicalName = temp.getPhysicalName();  
   
     // fully qualify physical provider name (module), if not already done so.  
     #if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC)     #if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC)
     physicalName = physicalName + String(".dll");      physicalName = name + String(".dll");
     #elif defined(PEGASUS_PLATFORM_LINUX_IX86_GNU) || defined(PEGASUS_PLATFORM_LINUX_IA86_GNU)     #elif defined(PEGASUS_PLATFORM_LINUX_IX86_GNU) || defined(PEGASUS_PLATFORM_LINUX_IA86_GNU)
     String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));     String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));
     physicalName = root + String("/lib") + physicalName + String(".so");      physicalName = root + String("/lib") + name + String(".so");
     #elif defined(PEGASUS_OS_HPUX)     #elif defined(PEGASUS_OS_HPUX)
     String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));     String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));
     physicalName = root + String("/lib") + moduleLocation + String(".sl");      physicalName = root + String("/lib") + name + String(".sl");
     #elif defined(PEGASUS_OS_OS400)     #elif defined(PEGASUS_OS_OS400)
     // do nothing      physicalName = name;
     #else     #else
     String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));     String root = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));
     physicalName = root + String("/lib") + physicalName + String(".so");      physicalName = root + String("/lib") + name + String(".so");
   
     #endif     #endif
  
       return physicalName;
   }
   
   ProviderName DefaultProviderManager::_resolveProviderName(const ProviderName & providerName)
   {
       ProviderName temp = findProvider(providerName);
   
       String physicalName = _resolvePhysicalName(temp.getPhysicalName());
   
     temp.setPhysicalName(physicalName);     temp.setPhysicalName(physicalName);
  
     return(temp);     return(temp);


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2