(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.28.2.3 and 1.29

version 1.28.2.3, 2006/10/18 19:16:12 version 1.29, 2006/02/24 19:16:28
Line 342 
Line 342 
         try         try
         {         {
             // Look up the appropriate ProviderManager by InterfaceType             // Look up the appropriate ProviderManager by InterfaceType
             pm = _getProviderManager(interfaceType);              pm = _lookupProviderManager(interfaceType);
         }         }
         catch (const CIMException& e)         catch (const CIMException& e)
         {         {
Line 378 
Line 378 
 } }
  
 // ATTN: May need to add interfaceVersion parameter to further constrain lookup // ATTN: May need to add interfaceVersion parameter to further constrain lookup
 ProviderManager* BasicProviderManagerRouter::_getProviderManager(  ProviderManager* BasicProviderManagerRouter::_lookupProviderManager(
     const String& interfaceType)     const String& interfaceType)
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,
         "BasicProviderManagerRouter::_getProviderManager");          "BasicProviderManagerRouter::_lookupProviderManager");
  
     //     //
     // Search for this InterfaceType in the table of loaded ProviderManagers     // Search for this InterfaceType in the table of loaded ProviderManagers
Line 390 
Line 390 
     {     {
         ReadLock tableLock(_providerManagerTableLock);         ReadLock tableLock(_providerManagerTableLock);
  
         ProviderManager* pm = _lookupProviderManager(interfaceType);          // find provider manager for specified provider interface type
         if (pm)          for(Uint32 i = 0, n = _providerManagerTable.size(); i < n; i++)
           {
               if (interfaceType == _providerManagerTable[i]->getInterfaceName())
         {         {
                   ProviderManagerContainer* pmc=_providerManagerTable[i];
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
             return pm;                  return pmc->getProviderManager();
               }
         }         }
     }     }
  
Line 404 
Line 408 
     {     {
         WriteLock tableLock(_providerManagerTableLock);         WriteLock tableLock(_providerManagerTableLock);
  
         ProviderManager* pm = _lookupProviderManager(interfaceType);  
         if (pm)  
         {  
             PEG_METHOD_EXIT();  
             return pm;  
         }  
   
         // ATTN: this section is a temporary solution to populate the list of         // ATTN: this section is a temporary solution to populate the list of
         // enabled provider managers for a given distribution.  It includes         // enabled provider managers for a given distribution.  It includes
         // another temporary solution for converting a generic file name into         // another temporary solution for converting a generic file name into
Line 447 
Line 444 
 #endif #endif
  
 #if defined(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER) #if defined(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER)
         if (  interfaceType == "JMPI"          if (interfaceType == "JMPI")
            || interfaceType == "JMPIExperimental"  
            )  
         {         {
             ProviderManagerContainer* pmc = new ProviderManagerContainer(             ProviderManagerContainer* pmc = new ProviderManagerContainer(
                 LIBRARY_NAME_JMPIPM,                 LIBRARY_NAME_JMPIPM,
                 interfaceType,                  "JMPI",
                 interfaceType,                  "JMPI",
                 _indicationCallback,                 _indicationCallback,
                 _responseChunkCallback,                 _responseChunkCallback,
                 _subscriptionInitComplete);                 _subscriptionInitComplete);
Line 471 
Line 466 
     return 0;     return 0;
 } }
  
 // NOTE: The caller must lock _providerManagerTableLock before calling this  
 // method.  
 ProviderManager* BasicProviderManagerRouter::_lookupProviderManager(  
     const String& interfaceType)  
 {  
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,  
         "BasicProviderManagerRouter::_lookupProviderManager");  
   
     //  
     // Search for this InterfaceType in the table of loaded ProviderManagers  
     //  
     for (Uint32 i = 0, n = _providerManagerTable.size(); i < n; i++)  
     {  
         if (interfaceType == _providerManagerTable[i]->getInterfaceName())  
         {  
             ProviderManagerContainer* pmc = _providerManagerTable[i];  
             PEG_METHOD_EXIT();  
             return pmc->getProviderManager();  
         }  
     }  
   
     // Not found  
     PEG_METHOD_EXIT();  
     return 0;  
 }  
   
 Boolean BasicProviderManagerRouter::hasActiveProviders() Boolean BasicProviderManagerRouter::hasActiveProviders()
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,


Legend:
Removed from v.1.28.2.3  
changed lines
  Added in v.1.29

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2