Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

efpsc::SC Class Reference

#include <SC.h>

Inheritance diagram for efpsc::SC:

efhlt::Interface efhlt::Interface List of all members.

Public Member Functions

virtual bool configure (const std::string &config)
virtual bool configure (const std::string &config)
virtual bool prepareForRun (int run_number)
virtual bool prepareForRun (int run_number)
virtual bool process (const uint32_t *&feStore, const uint32_t *&sdStore, std::string &efDecision_s, std::vector< uint32_t > &efBitPattern)
virtual bool process (const uint32_t *&feStore, const uint32_t *&sdStore, std::string &efDecision_s, std::vector< uint32_t > &efBitPattern)
 SC ()
 SC ()
virtual bool unconfigure (void)
virtual bool unconfigure (void)
virtual ~SC ()
virtual ~SC ()

Private Attributes

efpsc::Configm_config
 my own configuration
efpsc::Configm_config
 my own configuration
IEventProcessor * m_eventLoopMgr
 < helpers
IEventProcessor * m_eventLoopMgr
 < helpers
bool m_isCreated
std::string m_nameEventLoopMgr
int m_outLev
IInterface * m_pesaAppMgr
IInterface * m_pesaAppMgr

Constructor & Destructor Documentation

efpsc::SC::SC  ) 
 

C'tor. (Nothing happens here...)

00034              :
00035   m_eventLoopMgr(0),
00036   m_config(0),
00037   m_pesaAppMgr(0),
00038   m_isCreated(false),
00039   m_outLev(5),
00040   m_nameEventLoopMgr("EFEventLoopMgr")
00041 {
00042    ::setenv("SCOutputLevel","3",1);
00043    char* ss=::getenv("SCOutputLevel");
00044    //if(ss!=NULL)std::cout<<ss<<std::endl;
00045    //else std::cout<<"****************"<<std::endl;
00046     //char* outlev=::getenv("SCOutputLevel");
00047     //std::cout<<outlev<<std::endl;
00048     //m_outLev=atoi(outlev);    
00049     //std::cout<<m_outLev<<std::endl;
00050     //Hlt::MyFrame::instance();
00051 }

efpsc::SC::~SC  )  [virtual]
 

D'tor virtualisation

00054 {
00055   //delete Hlt::MyFrame::instance();
00056   m_pesaAppMgr->release() ;
00057 }

efpsc::SC::SC  ) 
 

C'tor. (Nothing happens here...)

virtual efpsc::SC::~SC  )  [virtual]
 

D'tor virtualisation


Member Function Documentation

virtual bool efpsc::SC::configure const std::string &  config  )  [virtual]
 

Configures the framework

Parameters:
config Is the only configuration parameter passed. The actual configuration implementation has to parse it, if that is the case in order to find its own way through the framework's configuration system.

Implements efhlt::Interface.

bool efpsc::SC::configure const std::string &  config  )  [virtual]
 

Configures the framework

Parameters:
config Is the only configuration parameter passed. The actual configuration implementation has to parse it, if that is the case in order to find its own way through the framework's configuration system.

Implements efhlt::Interface.

00060 { 
00061   //if(0==Hlt::MyFrame::instance()){
00062   //    std::cout<<"Error while create MyFrame"<<std::endl;
00063       //exit(1);
00064   //}
00065 
00066   //EFPSC_DBG1("efpsc::SC::configure", 
00067     // "SC configuration started.");
00068   if(m_outLev<=3) std::cout<<"efpsc::SC::configure  "<<"SC configuration started."<<std::endl;
00069   m_config = new efpsc::Config(config);
00070 
00071   // Create an instance of the Pesa application manager
00072   //EFPSC_DBG1("efpsc::SC::configure", 
00073 //           "---> Create Pesa Application Manager");
00074   if(m_outLev<=2) std::cout<<"efpsc::SC::configure  "<<"---> Create Pesa Application Manager:"
00075           <<m_isCreated<<std::endl;
00076   if(!m_isCreated){
00077     if ((m_config->dllName().size() != 0) &&  (m_config->factoryName().size() != 0)) {
00078       m_pesaAppMgr = Gaudi::createApplicationMgr(m_config->dllName(),m_config->factoryName());
00079       if(m_outLev<=3)std::cout<<"Gaudi::createApplicationMgr(m_config->dllName(),m_config->factoryName())"
00080                                    <<std::endl;
00081     } else {
00082       m_pesaAppMgr = Gaudi::createApplicationMgr();
00083       if(m_outLev<=3)std::cout<<"Gaudi::createApplicationMgr()"<<std::endl;
00084     }
00085   }
00086  
00087   // configure Pesa
00088 //  EFPSC_DBG1("efpsc::SC::configure", 
00089 //           "---> Configure Pesa Property Manager");
00090   if(m_outLev<=2) std::cout<<"efpsc::SC::configure  "<<"---> Configure Pesa Property Manager"<<std::endl;
00091   StatusCode sc ;
00092   SmartIF<IProperty> propMgr ( IID_IProperty, m_pesaAppMgr );
00093   SmartIF<IAppMgrUI> appMgr  ( IID_IAppMgrUI, m_pesaAppMgr );
00094   if( !appMgr.isValid() || !propMgr.isValid() ) {
00095     //EFPSC_ERROR("efpsc::SC::configure",
00096     //          "While creating the ApplicationMgr");
00097     if(m_outLev<=5) std::cout<<"efpsc::SC::configure  "<<"While creating the ApplicationMgr"<<std::endl;
00098     return false;
00099   }
00100 
00101   // Get the input configuration file from arguments (default "jobOptions.txt")
00102   std::string opts = "jobOptions.txt";
00103   ::setenv("efJobPath","",1);
00104   if (m_config->jobOptionsPath().size() != 0) {
00105     opts = m_config->jobOptionsPath() ;
00106     if (opts.rfind("/") < opts.size()) {
00107       ::setenv("efJobPath",opts.substr(0,opts.rfind("/")).c_str(),1);
00108     }
00109   }
00110   //EFPSC_DBG1("efpsc::SC::configure", "---> Pesa JobOptions file is = " << opts);
00111   //EFPSC_DBG1("efpsc::SC::configure", "---> Pesa JobOptions path    = " << ::getenv("efJobPath"));
00112   if(m_outLev<=2) std::cout<<"efpsc::SC::configure  "<<"---> Pesa JobOptions file is = " << opts<<std::endl
00113                                 <<"                      "<<"---> Pesa JobOptions path    = " 
00114                                 << ::getenv("efJobPath")<<std::endl;
00115   propMgr->setProperty( "JobOptionsPath", opts );
00116 
00117   propMgr->setProperty( "EventLoop",m_nameEventLoopMgr );     
00118 
00119   
00120 
00121   // Select the MessageSvc Type
00122   if (m_config->messageSvcType().size() != 0) {
00123     propMgr->setProperty( "MessageSvcType", m_config->messageSvcType());
00124   }
00125 
00126   // No EventSelector will be used
00127   if (m_config->evtSel().size() != 0) {
00128     propMgr->setProperty( "EvtSel", m_config->evtSel());
00129   } else {
00130     propMgr->setProperty( "EvtSel", "NONE" );
00131   }
00132   //EFPSC_DBG1("efpsc::SC::configure", "finish property set--->start configure ");
00133   //EFPSC_DBG1("efpsc::SC::configure", "Configuring ApplicationMgr: "
00134 //           << appMgr->stateName() << " Status : " << sc.getCode());
00135   if(m_outLev<=3) std::cout<<"efpsc::SC::configure  "<<"finish property set--->start configure"<<std::endl;
00136   if(m_outLev<=2) std::cout<<"efpsc::SC::configure  "<<"Configuring ApplicationMgr: "
00137                                 << appMgr->stateName() << " Status : " << sc.getCode()<<std::endl;
00138   // Configure the application manager
00139   if( opts.substr( opts.length() - 3, 3 ) == ".py" ) {
00140 
00141      //EFPSC_ERROR("efpsc::SC::configure", 
00142 //               "Error: Don't support python config files");
00143      if(m_outLev<=5) std::cout<<"efpsc::SC::configure  "
00144                                    <<"Error: Don't support python config files"<<std::endl;
00145      return false;
00146     // ----------------------------
00147     // Configuration with .py files
00148     // ----------------------------
00149 
00150     // Try to initialize the Python interpreter
00151     /*if ( ! Py_IsInitialized() ) {
00152       Py_Initialize();
00153 
00154       // check
00155       if ( ! Py_IsInitialized() ) {
00156         EFPSC_ERROR("efpsc::SC::configure",
00157                     "Error: Python could not been intialized.");
00158         Py_Finalize();
00159         return false;
00160       }
00161 
00162       // import basic python modules (used throughout)
00163       std::string pyBasicFile = "SC/SCPythonSetup.py" ;
00164       if (m_config->pythonSetupFile().size() != 0) {
00165         pyBasicFile = m_config->pythonSetupFile() ;
00166       }
00167 
00168       pyBasicFile = PathResolver::find_file(pyBasicFile, "PYTHONPATH");
00169       FILE* infile = fopen( pyBasicFile.c_str() , "r" );
00170       if ( PyRun_SimpleFile(infile,const_cast<char*>(pyBasicFile.c_str())) != 0 ) {
00171         EFPSC_ERROR("efpsc::SC::configure",
00172                     "Error: Basic Python configuration failed.");
00173         Py_Finalize();
00174         return false;
00175       }
00176 
00177       std::string pyExecFile = "include( \""+std::string(opts)+"\" )" ;
00178       if ( PyRun_SimpleString(const_cast<char*>(pyExecFile.c_str())) != 0 ) {
00179         EFPSC_ERROR("efpsc::SC::configure",
00180                     "Error: Python job configuration script failed.");
00181         Py_Finalize();
00182         return false;
00183       }
00184     }*/
00185   } else {
00186     // -----------------------------
00187     // Configuration with .txt files
00188     // -----------------------------
00189     sc = appMgr->configure();
00190     if( sc.isFailure() ) {
00191       //EFPSC_DBG1("efpsc::SC::configure",
00192 //                "While configuring the ApplicationMgr");
00193       if(m_outLev<=5) std::cout<<"efpsc::SC::configure  "<<"While configuring the ApplicationMgr"<<std::endl;
00194       return false;
00195     }
00196   }
00197  // EFPSC_DBG1("efpsc::SC::configure", "Configuring ApplicationMgr: "
00198 //           << appMgr->stateName() << " Status : " << sc.getCode());
00199   if(m_outLev<=2) std::cout<<"efpsc::SC::configure  "<<"Configuring ApplicationMgr: "
00200                                 << appMgr->stateName() << " Status : " << sc.getCode()<<std::endl;
00201   // Initialize the application manager
00202   sc = appMgr->initialize();
00203   //EFPSC_DBG1("efpsc::SC::configure", "Initialize ApplicationMgr : " 
00204 //           << appMgr->stateName() 
00205 //           << " Status : " << sc.getCode());
00206   if(m_outLev<=2) std::cout<<"efpsc::SC::configure  "<<"Initialize ApplicationMgr : " 
00207              << appMgr->stateName() << " Status : " << sc.getCode()<<std::endl;
00208   if( sc.isFailure() ) {
00209     EFPSC_ERROR("efpsc::SC::configure", "While intializing the ApplicationMgr");
00210     return false;
00211   }
00212 
00213   // Find the basename for the EventLoopMgr  
00214   std::string value ;
00215   //std::cout<<"value = "<<value<<std::endl;
00216   sc = propMgr->getProperty( "EventLoop", value );
00217   //std::cout<<"value = "<<value<<std::endl;
00218   if( sc.isFailure() ) {
00219     //EFPSC_DBG1("efpsc::SC::configure", "While retrieving Property EventLoop ");
00220     if(m_outLev<=4) std::cout<<"efpsc::SC::configure  "<<"While retrieving Property EventLoop "<<std::endl;
00221   } else {
00222     m_nameEventLoopMgr.assign(value, value.find_first_of("\"")+1,
00223                               value.find_last_of("\"")-value.find_first_of("\"")-1) ;
00224   }
00225 
00226   SmartIF<ISvcLocator> svcLoc( IID_ISvcLocator, m_pesaAppMgr );
00227   if (svcLoc.isValid()) {
00228     //EFPSC_DBG1("efpsc::SC::configure","Name for EventLoopManager:"<<m_nameEventLoopMgr);
00229     if(m_outLev<=2) std::cout<<"efpsc::SC::configure  "<<"Name for EventLoopManager:"
00230                                   <<m_nameEventLoopMgr<<std::endl;
00231     StatusCode sc ;
00232     IEventProcessor* processingMgr = 0 ;
00233     
00234     sc = svcLoc->service( m_nameEventLoopMgr , processingMgr);
00235     m_eventLoopMgr=processingMgr;
00236 
00237     if( !sc.isSuccess() )  {
00238       //EFPSC_ERROR("efpsc::SC::configure", " Error Retrieving Processing manager!") ;
00239       if(m_outLev<=5) std::cout<<"efpsc::SC::configure  "<<"Error Retrieving Processing manager!"<<std::endl;
00240       return false;
00241     }
00242 
00243   } else {
00244     //EFPSC_ERROR("efpsc::SC::configure", " Error Retrieving Service Locator!") ;
00245     if(m_outLev<=5) std::cout<<"efpsc::SC::configure  "<<"Error Retrieving Service Locator!"<<std::endl;
00246     return false;
00247   }
00248 
00249   m_isCreated=true;
00250   //EFPSC_DBG1("efpsc::SC::configure","SC configuration finished.");
00251   if(m_outLev<=3) std::cout<<"efpsc::SC::configure  "<<"SC configuration finished."<<std::endl;
00252   return true;
00253 }

virtual bool efpsc::SC::prepareForRun int  run_number  )  [virtual]
 

prepares the HLT framework for a run

Parameters:
run_number The Run number to be used for this run.

Implements efhlt::Interface.

bool efpsc::SC::prepareForRun int  run_number  )  [virtual]
 

prepares the HLT framework for a run

Parameters:
run_number The Run number to be used for this run.

Implements efhlt::Interface.

00330 {
00331   // This is a placeholder method
00332   if(m_eventLoopMgr){
00333     SmartIF<IEFEventLoopMgr> processor_psc(IID_IEFEventLoopMgr, m_eventLoopMgr);
00334     StatusCode sc = processor_psc->prepareForRun(run_number);
00335     if(sc.isSuccess()) return true;
00336   }
00337   return false;
00338 }

virtual bool efpsc::SC::process const uint32_t *&  feStore,
const uint32_t *&  sdStore,
std::string &  efDecision_s,
std::vector< uint32_t > &  efBitPattern
[virtual]
 

Process one event, taking as input a pointer to the RawEvent serialized in a contiguous memory region (feStore) and giving as output the yes/no decision and the address (sdStore) of the "local" memory region containing the serialized EF fragment

Implements efhlt::Interface.

bool efpsc::SC::process const uint32_t *&  feStore,
const uint32_t *&  sdStore,
std::string &  efDecision_s,
std::vector< uint32_t > &  efBitPattern
[virtual]
 

Process one event, taking as input a pointer to the RawEvent serialized in a contiguous memory region (feStore) and giving as output the yes/no decision and the address (sdStore) of the "local" memory region containing the serialized EF fragment

Implements efhlt::Interface.

00341 {
00342   //std::cout<<"jak:"<<__FILE__<<std::endl;
00343   //EFPSC_DBG1("efpsc::SC::process", "***********************************************");
00344   //EFPSC_DBG1("efpsc::SC::process", "****************** NEW EVENT ******************");
00345   //EFPSC_DBG1("efpsc::SC::process", "***********************************************");
00346   if(m_outLev<=3)std::cout<<"efpsc::SC::process"<<" **************** NEW EVENT ****************"<<std::endl;
00347   //Test if FullEventFragment is valid
00348  // if(!fe->is_valid()){
00349  //   EFPSC_ERROR("efpsc::SC::process","FullEventFragment NOT valid! This event is not going to be processed!");
00350  //   return false;
00351  // }  else {
00352  //   EFPSC_DBG1("efpsc::SC::process", " FullEventFragment is valid." );
00353  // }
00354 
00355 
00356   // ExecuteEvent from the application manager
00357   StatusCode sc ;
00358   if ( 0 != m_eventLoopMgr ) {
00359     SmartIF<IEventProcessor> processor(IID_IEventProcessor, m_eventLoopMgr);
00360     
00361     if ( processor.isValid() ) {
00362       SmartIF<IService> processor_s(IID_IService, m_eventLoopMgr);
00363       //EFPSC_DBG1("efpsc::SC::process", " ---> Executing events for processor"<<processor_s->name());
00364       //std::cout<<"jak:"<<__FILE__<<std::endl;
00365 
00366       sc = processor->executeEvent((void*)feStore);
00367       
00368       //EFPSC_DBG1("efpsc::SC::Process","after executeEvent(fe)");
00369 
00370       //std::cout<<"jak:"<<__FILE__<<std::endl;
00371       if(m_outLev<=2)std::cout<<"efpsc::SC::process  "<<"after executeEvent(fe)"<<std::endl;
00372       if( sc.isFailure() ) {
00373         //EFPSC_DBG1("efpsc::SC::process", "Error for executeEvent in the ApplicationMgr " << processor_s->name());
00374         if(m_outLev<=4)std::cout<<"efpsc::SC::process  "<<"Error for executeEvent in the ApplicationMgr "
00375                                      << processor_s->name()<<std::endl;
00376       }
00377       else {
00378         SmartIF<IEFEventLoopMgr> processor_psc(IID_IEFEventLoopMgr, m_eventLoopMgr);
00379         //
00380         //--- ef Decision and Result from Pesa
00381         //
00382         //std::cout<<"jak:"<<__FILE__<<std::endl;
00383         efDecision_s = processor_psc->EF_Decision();
00384 
00385         //std::cout<<"jak:"<<__FILE__<<std::endl;
00386         //EFPSC_DBG1("efpsc::SC::Process","after EF_Decision. EFdecision is: "<<efDecision_s);
00387         if(m_outLev<=3)std::cout<<"efpsc::SC::process  "<<"after EF_Decision. EFdecision is: "
00388                                      <<efDecision_s<<std::endl;
00389         sdStore=(uint32_t*)processor_psc->EF_Fragment_Address();
00390         //std::cout<<"jak:"<<__FILE__<<std::endl;
00391         if(sdStore==NULL){
00392           //EFPSC_DBG1("efpsc::SC::process","EF_Fragment_Address() returns NULL pointer");
00393           if(m_outLev<=2)std::cout<<"efpsc::SC::process  "
00394                                        <<"EF_Fragment_Address() returns NULL pointer"<<std::endl;
00395         }
00396         //Hard coded (One must change it in the future):
00397         //EF_Decision==Accepted--> efDecision=2
00398         //EF_Decision==Rejected--> efDecision=1
00399         //EF_Decision==Error--> efDecision=0
00400         /*
00401         if(efDecision_s=="Accepted"){
00402           //efDecision=2;
00403           //Append EFResult to the Event Fragment
00404           EFPSC_DBG1("efpsc::SC::process", "EFResult is going to be appended to the Event Fragment");
00405         }else if(efDecision_s=="Rejected"){ 
00406           //efDecision=1;
00407           EFPSC_DBG1("efpsc::SC::process", "No EFResult is going to be appended to the Event Fragment");
00408 
00409         }else{
00410           //efDecision=0;
00411           EFPSC_DBG1("efpsc::SC::process", "an Error was obtained when running algorithms on the Event.");
00412           EFPSC_DBG1("efpsc::SC::process", "No EFResult is going to be appended to the Event Fragment");
00413         }
00414         */
00415         efBitPattern.resize(4, 0);  //zoujh: Just a place holder
00416         if(efDecision_s=="Junk") efBitPattern[0]=1<<0;
00417         //else if(efDecision_s=="GJunk") efBitPattern[0]=(1<<0)+(1<<1);
00418         else if(efDecision_s=="GJunk") efBitPattern[0]=(1<<1);
00419         else if(efDecision_s=="Beamgas") efBitPattern[0]=1<<2;
00420         //else if(efDecision_s=="GBeamgas") efBitPattern[0]=(1<<2)+(1<<3);
00421         else if(efDecision_s=="GBeamgas") efBitPattern[0]=(1<<3);
00422         else if(efDecision_s=="Cosmic") efBitPattern[0]=1<<4;
00423         //else if(efDecision_s=="GCosmic") efBitPattern[0]=(1<<4)+(1<<5);
00424         else if(efDecision_s=="GCosmic") efBitPattern[0]=(1<<5);
00425         else if(efDecision_s=="EBhabha") efBitPattern[0]=1<<6;
00426         //else if(efDecision_s=="GEBhabha") efBitPattern[0]=(1<<6)+(1<<7);
00427         else if(efDecision_s=="GEBhabha") efBitPattern[0]=(1<<7);
00428         else if(efDecision_s=="BBhabha") efBitPattern[0]=1<<8;
00429         //else if(efDecision_s=="GBBhabha") efBitPattern[0]=(1<<8)+(1<<9);
00430         else if(efDecision_s=="GBBhabha") efBitPattern[0]=(1<<9);
00431         else if(efDecision_s=="Dimuon") efBitPattern[0]=1<<10;
00432         //else if(efDecision_s=="GDimuon") efBitPattern[0]=(1<<10)+(1<<11);
00433         else if(efDecision_s=="GDimuon") efBitPattern[0]=(1<<11);
00434         else if(efDecision_s=="Diphoton") efBitPattern[0]=1<<12;
00435         //else if(efDecision_s=="GDiphoton") efBitPattern[0]=(1<<12)+(1<<13);
00436         else if(efDecision_s=="GDiphoton") efBitPattern[0]=(1<<13);
00437         else if(efDecision_s=="Hadron") efBitPattern[0]=1<<14;
00438         //else if(efDecision_s=="GHadron") efBitPattern[0]=(1<<14)+(1<<15);
00439         else if(efDecision_s=="GHadron") efBitPattern[0]=(1<<15);
00440         else if(efDecision_s=="Twophoton") efBitPattern[0]=1<<16;
00441         //else if(efDecision_s=="GTwophoton") efBitPattern[0]=(1<<16)+(1<<17);
00442         else if(efDecision_s=="GTwophoton") efBitPattern[0]=(17);
00443         else if(efDecision_s=="RandomTrg") efBitPattern[0]=1<<31;
00444         else if(efDecision_s=="Error")     efBitPattern[0]=1<<30;
00445         else if(efDecision_s=="Other")     efBitPattern[0]=1<<29;
00446         else  efBitPattern[0]=1<<28;
00447         efBitPattern[1]=processor_psc->EF_Algorithm_Tag();
00448         efBitPattern[2]=processor_psc->EF_Version();
00449         efBitPattern[3]=processor_psc->EF_Total_Energy();
00450         //EFPSC_DBG1("efpsc::SC::process", "**************end of psc process!**************"<<std::endl);
00451         if(m_outLev<=2)std::cout<<"efpsc::SC::process  "
00452                                      <<"**************end of psc process!**************"<<std::endl;
00453       }
00454     } 
00455     else {
00456       //EFPSC_DBG1("efpsc::SC::process", "executeEvent ApplicationMgr : no valid event processor ");
00457       if(m_outLev<=5)std::cout<<"efpsc::SC::process  "
00458                                    <<"executeEvent ApplicationMgr : no valid event processor "<<std::endl;
00459       return false;
00460     }
00461     
00462   } 
00463   else {
00464     return false;
00465   }
00466   return true;
00467 }

virtual bool efpsc::SC::unconfigure void   )  [virtual]
 

Unconfigures the framework, releasing all acquired resources.

Implements efhlt::Interface.

bool efpsc::SC::unconfigure void   )  [virtual]
 

Unconfigures the framework, releasing all acquired resources.

Implements efhlt::Interface.

00256 {
00257   //EFPSC_DBG1("efpsc::SC::unconfigure",
00258 //           "SC UNconfiguration started.");
00259   if(m_outLev<=3) std::cout<<"efpsc::SC::unconfigure  "<<"SC UNconfiguration started."<<std::endl;
00260   StatusCode sc ;
00261   SmartIF<IAppMgrUI> appMgr  ( IID_IAppMgrUI, m_pesaAppMgr );
00262   if( !appMgr.isValid() ) {
00263 //    EFPSC_ERROR("efpsc::SC::unconfigure",
00264 //              "While unconfiguring the ApplicationMgr, no valid interface");
00265       if(m_outLev<=5) std::cout<<"efpsc::SC::unconfigure  "
00266                                     <<"While unconfiguring the ApplicationMgr, no valid interface"<<std::endl;
00267       return false;
00268   }
00269   SmartIF<ISvcLocator> svcLoc( IID_ISvcLocator, m_pesaAppMgr );
00270 
00271   //const std::list<IService*>* svclist=svcLoc->getServices();
00272   //for(std::list<IService*>::iterator it = svclist->begin(); it != svclist->end(); it++ ) {
00273   //     std::cout<<(*it)->name()<<std::endl;
00274   //}
00275 
00276   // Finalize the application manager
00277   sc = appMgr->finalize();
00278 
00279 //  EFPSC_DBG1("efpsc::SC::unconfigure", "Finalize ApplicationMgr: " 
00280 //           << appMgr->stateName() << " Status : " << sc.getCode());
00281   if(m_outLev<=2) std::cout<<"efpsc::SC::unconfigure  "<<"Finalize ApplicationMgr: " 
00282                                 << appMgr->stateName() << " Status : " << sc.getCode()<<std::endl;
00283   if( sc.isFailure() ) {
00284 //    EFPSC_ERROR("efpsc::SC::unconfigure",
00285 //              "---> While finalizing the ApplicationMgr ");
00286     if(m_outLev<=5) std::cout<<"efpsc::SC::unconfigure  "<<"While finalizing the ApplicationMgr"<<std::endl;
00287     return false;
00288   }
00289 
00290   // Terminate the application manager
00291   sc = appMgr->terminate();
00292 //  EFPSC_DBG1("efpsc::SC::unconfigure", "Terminate ApplicationMgr : " 
00293 //           << appMgr->stateName() << " Status : " << sc.getCode());
00294   if(m_outLev<=2) std::cout<<"efpsc::SC::unconfigure  "<<"Terminate ApplicationMgr : " 
00295              << appMgr->stateName() << " Status : " << sc.getCode()<<std::endl;
00296   if( sc.isFailure() ) {
00297     //EFPSC_ERROR("efpsc::SC::unconfigure","While terminating the ApplicationMgr");
00298     if(m_outLev<=5) std::cout<<"efpsc::SC::unconfigure  "<<"While terminating the ApplicationMgr"<<std::endl;
00299     return false;
00300   } 
00301 
00302   //IService* msgSvc=0;
00303   //svclist=svcLoc->getServices();
00304   //svclist->erase(svclist.begin(), svclist.end() );
00305   //std::cout<<svclist->size()<<std::endl;
00306   //if(svcLoc->existsService("MessageSvc")){
00307   //     svcLoc->getService("MessageSvc",msgSvc);
00308   //     std::cout<<"111"<<msgSvc->name()<<std::endl;
00309   //     std::list<IService*> svclist=svcLoc->getServices();
00310   //     for(std::list<IService*>::iterator it = svclist.begin(); it != svclist.end(); it++ ) {
00311   //         //std::cout<<(*it)->name()<<std::endl;
00312   //     }
00313   //     int a1=svclist.size();
00314   //     svclist->remove(msgSvc);
00315   //     int a2=svclist.size();
00316   //    if(svcLoc->existsService("MessageSvc"))std::cout<<"exist"<<a1<<","<<a2<<std::endl;
00317   //}
00318   //appMgr->release();   
00319   //if(msgSvc) msgSvc->release();
00320   //svcMgr->removeService("MessageSvc");
00321 
00322   delete m_config;
00323   m_config = 0;
00324   //EFPSC_DBG2("efpsc::SC::unconfigure", "SC UNconfiguration finished.");
00325   if(m_outLev<=3) std::cout<<"efpsc::SC::unconfigure  "<<"SC UNconfiguration finished."<<std::endl;
00326   return true;
00327 }


Member Data Documentation

efpsc::Config* efpsc::SC::m_config [private]
 

my own configuration

efpsc::Config* efpsc::SC::m_config [private]
 

my own configuration

IEventProcessor* efpsc::SC::m_eventLoopMgr [private]
 

< helpers

IEventProcessor* efpsc::SC::m_eventLoopMgr [private]
 

< helpers

bool efpsc::SC::m_isCreated [private]
 

std::string efpsc::SC::m_nameEventLoopMgr [private]
 

int efpsc::SC::m_outLev [private]
 

IInterface* efpsc::SC::m_pesaAppMgr [private]
 

IInterface* efpsc::SC::m_pesaAppMgr [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:19:12 2011 for BOSS6.5.5 by  doxygen 1.3.9.1