(file) Return to ProviderRegistrationProvider.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ControlProviders / ProviderRegistrationProvider

Diff for /pegasus/src/Pegasus/ControlProviders/ProviderRegistrationProvider/ProviderRegistrationProvider.cpp between version 1.114 and 1.114.2.1

version 1.114, 2008/12/16 18:56:34 version 1.114.2.1, 2010/07/07 07:34:37
Line 60 
Line 60 
 */ */
 static const CIMName _START_PROVIDER = CIMNameCast("Start"); static const CIMName _START_PROVIDER = CIMNameCast("Start");
  
   /**
      setting provider module group method
   */
   static const CIMName _SET_MODULEGROUPNAME = CIMNameCast("SetModuleGroupName");
   
   /**
      input param for setModuleGroupName name method
   */
   static const CIMName _PARAM_MODULEGROUPNAME = CIMNameCast("ModuleGroupName");
   
   
 ProviderRegistrationProvider::ProviderRegistrationProvider( ProviderRegistrationProvider::ProviderRegistrationProvider(
     ProviderRegistrationManager * providerRegistrationManager)     ProviderRegistrationManager * providerRegistrationManager)
 { {
Line 1067 
Line 1078 
         }         }
     }     }
  
   
     // if _PROPERTY_PROVIDERMODULE_NAME key not found     // if _PROPERTY_PROVIDERMODULE_NAME key not found
     if( !moduleFound)     if( !moduleFound)
     {     {
Line 1091 
Line 1103 
         // enable module         // enable module
         ret_value = _enableModule(objectReference, moduleName, al);         ret_value = _enableModule(objectReference, moduleName, al);
     }     }
       else if (methodName.equal(_SET_MODULEGROUPNAME))
       {
           String paramName;
           if (!inParameters.size() ||
               ((paramName = inParameters[0].getParameterName())
                   != _PARAM_MODULEGROUPNAME))
           {
               throw PEGASUS_CIM_EXCEPTION(CIM_ERR_INVALID_PARAMETER, paramName);
           }
           // set group
           String moduleGroupName;
           inParameters[0].getValue().get(moduleGroupName);
           ret_value = _setModuleGroupName(
               objectReference, moduleName, moduleGroupName, al);
       }
     else     else
     {     {
         throw PEGASUS_CIM_EXCEPTION(CIM_ERR_METHOD_NOT_AVAILABLE,         throw PEGASUS_CIM_EXCEPTION(CIM_ERR_METHOD_NOT_AVAILABLE,
Line 1105 
Line 1132 
     handler.complete();     handler.complete();
 } }
  
   Sint16 ProviderRegistrationProvider::_setModuleGroupName(
       const CIMObjectPath & moduleRef,
       const String & moduleName,
       const String & moduleGroupName,
       const AcceptLanguageList & al)
   {
       Sint32 disableRC = _disableModule (moduleRef, moduleName, false, al);
   
       if (disableRC == -1)
       {
           throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,
               MessageLoaderParms(
                   "ControlProviders.ProviderRegistrationProvider."
                       "ProviderRegistrationProvider."
                       "DISABLE_PROVIDER_FAILED",
                   "disable the provider failed."));
       }
   
       if (disableRC == -2)
       {
           throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,
               MessageLoaderParms(
                   "ControlProviders.ProviderRegistrationProvider."
                       "ProviderRegistrationProvider."
                       "DISABLE_PROVIDER_FAILED_PROVIDER_BUSY",
                   "disable the provider failed: Provider is busy."));
       }
   
       if (!_providerRegistrationManager->setProviderModuleGroupName(
           moduleName, moduleGroupName))
       {
           throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,
               MessageLoaderParms(
                   "ControlProviders.ProviderRegistrationProvider."
                       "ProviderRegistrationProvider."
                       "SET_PROVIDERMODULEGROUPNAME_FAILED",
                   "Failed to set the module group name."));
       }
   
       // Enable the module only if it was previously enabled.
       if (disableRC == 0)
       {
           try
           {
               _enableModule(moduleRef, moduleName, al);
           }
           catch(const Exception &e)
           {
               PEG_TRACE((TRC_CONTROLPROVIDER,Tracer::LEVEL1,
                   "Exception caught while enabling the provider module %s : %s",
                   (const char*)moduleName.getCString(),
                   (const char*)e.getMessage().getCString()));
           }
           catch(...)
           {
               PEG_TRACE((
                   TRC_CONTROLPROVIDER,
                   Tracer::LEVEL1,
                   "Unknown error occurred while"
                       " enabling the provider modules %s.",
                   (const char*)moduleName.getCString()));
           }
       }
   
       return 0;
   }
   
   
 // get provider manager service // get provider manager service
 MessageQueueService * ProviderRegistrationProvider::_getProviderManagerService() MessageQueueService * ProviderRegistrationProvider::_getProviderManagerService()
 { {


Legend:
Removed from v.1.114  
changed lines
  Added in v.1.114.2.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2