not enough information... skip it
405 const Strings_t::const_iterator endLib = libs.end();
408 const bool isGaudiSvc = (
std::find( libs.begin(), endLib, gaudiSvc ) != endLib );
412 cout <<
"ERROR: ApplicationMgr can not be created. Check environment" <<
endl;
418 Registry&
registry = Registry::instance();
429 for ( Strings_t::const_iterator iLib = libs.begin(); iLib != endLib; ++iLib ) {
431 LOG_INFO <<
":::: processing library: " << *iLib <<
"...";
451 const string ident = *it;
452 if ( bkgNames.
find( ident ) != bkgNames.
end() ) {
454 LOG_INFO <<
"\t==> skipping [" << ident <<
"]...";
459 const Registry::FactoryInfo info = registry.getInfo( *it );
460 const string rtype = info.rtype;
463 if ( info.properties.find(
"ReflexName" ) != info.properties.end() )
continue;
470 LOG_WARNING <<
"library [" << *iLib <<
"] exposes factory [" << ident <<
"] which is declared in [" 471 << DsoUtils::dsoName( info.ptr ) <<
"] !!";
477 if ( ident ==
"ApplicationMgr" )
478 type =
"ApplicationMgr";
494 type =
"Unknown", known =
false;
499 if ( type ==
"IInterface" ) {
505 if ( type ==
"Converter" || type ==
"DataObject" ) {
512 <<
" Component [" << ident <<
"] is skipped !";
516 LOG_INFO <<
" - component: " << info.className <<
" (" 517 << ( info.className != name ? ( name +
": " ) :
std::string() ) << type <<
")";
519 string cname =
"DefaultName";
522 if ( type ==
"Algorithm" ) {
524 }
else if ( type ==
"Service" ) {
526 }
else if ( type ==
"AlgTool" ) {
527 prop =
SmartIF<IAlgTool>( AlgTool::Factory::create( ident, cname, type, dummySvc ) );
530 }
else if ( type ==
"Auditor" ) {
532 }
else if ( type ==
"ApplicationMgr" ) {
538 LOG_ERROR <<
"Error instantiating " << name <<
" from " << *iLib;
543 LOG_ERROR <<
"Error instantiating " << name <<
" from " << *iLib;
553 LOG_ERROR <<
"could not cast IInterface* object to an IProperty* !";
554 LOG_ERROR <<
"return type from PluginSvc is [" << rtype <<
"]...";
555 LOG_ERROR <<
"NO Configurable will be generated for [" << name <<
"] !";
566 std::fstream py( pyName, std::ios_base::out | std::ios_base::trunc );
567 std::fstream db( dbName, std::ios_base::out | std::ios_base::trunc );
570 if ( !userModule.
empty() ) py <<
"from " << userModule <<
" import *" << endl;
579 return allGood ? EXIT_SUCCESS : EXIT_FAILURE;
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
The data converters are responsible to translate data from one representation into another...
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
void * ImageHandle
Definition of an image handle.
stringstream m_pyBuf
buffer of auto-generated configurables
GAUDIPS_API Logger & logger()
Return the current logger instance.
int genComponent(const std::string &libName, const std::string &componentName, const std::string &componentType, const vector< PropertyBase * > &properties)
bool m_importDataObjectHandles
GAUDI_API ISvcLocator * svcLocator()
General service interface definition.
Definition of the basic interface.
void genHeader(std::ostream &pyOut, std::ostream &dbOut)
stringstream m_dbBuf
buffer of generated configurables informations for the "Db" file The "Db" file is holding information...
The IAlgorithm is the interface implemented by the Algorithm base class.
virtual const std::vector< Gaudi::Details::PropertyBase * > & getProperties() const =0
Get list of properties.
string m_outputDirName
absolute path to the directory where genconf will store auto-generated files (Configurables and Confi...
virtual unsigned long release()=0
Release Interface instance.
bool m_importGaudiHandles
switch to decide if the generated configurables need to import GaudiHandles (ie: if one of the compon...
In-memory database of the loaded factories.
virtual unsigned long addRef()=0
Increment the reference count of Interface instance.
static GAUDI_API void disableChecking()
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
void genTrailer(std::ostream &pyOut, std::ostream &dbOut)
GAUDI_API const std::string getLastErrorString()
Get last system error as string.
Base class for all services.
A DataObject is the base class of any identifiable object on any data store.
The IAuditor is the interface implmented by the AlgAuditor base class.
std::string libNativeName(const std::string &libName)
void genBody(std::ostream &pyOut, std::ostream &dbOut)
GAUDI_API unsigned long loadDynamicLib(const std::string &name, ImageHandle *handle)
Load dynamic link library.