#include <SC.h>
Inheritance diagram for efpsc::SC:
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::Config * | m_config |
my own configuration | |
efpsc::Config * | m_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 |
|
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 }
|
|
D'tor virtualisation 00054 { 00055 //delete Hlt::MyFrame::instance(); 00056 m_pesaAppMgr->release() ; 00057 }
|
|
C'tor. (Nothing happens here...) |
|
D'tor virtualisation |
|
Configures the framework
Implements efhlt::Interface. |
|
Configures the framework
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 }
|
|
prepares the HLT framework for a run
Implements efhlt::Interface. |
|
prepares the HLT framework for a 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 }
|
|
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. |
|
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 }
|
|
Unconfigures the framework, releasing all acquired resources. Implements efhlt::Interface. |
|
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 }
|
|
my own configuration
|
|
my own configuration
|
|
< helpers
|
|
< helpers
|
|
|
|
|
|
|
|
|
|
|