not enough information... skip it
442 const Strings_t::const_iterator endLib = libs.end();
445 const bool isGaudiSvc = (
std::find( libs.begin(), endLib, gaudiSvc ) != endLib );
449 cout <<
"ERROR: ApplicationMgr can not be created. Check environment" <<
endl;
455 Registry&
registry = Registry::instance();
466 for ( Strings_t::const_iterator iLib=libs.begin(); iLib != endLib; ++iLib ) {
488 it != factories.
end(); ++it ) {
489 const string ident = *it;
490 if ( bkgNames.
find(ident) != bkgNames.
end() ) {
492 cout <<
"\t==> skipping [" << ident <<
"]..." <<
endl;
497 const Registry::FactoryInfo info = registry.getInfo(*it);
498 const string rtype = info.rtype;
501 if (info.properties.find(
"ReflexName") != info.properties.end())
509 cout <<
"WARNING: library [" << *iLib <<
"] exposes factory ["
510 << ident <<
"] which is declared in ["
511 << DsoUtils::dsoName(info.ptr) <<
"] !!" <<
endl;
517 if ( ident ==
"ApplicationMgr" ) type =
"ApplicationMgr";
518 else if ( rtype ==
typeid(
IInterface*).
name() ) type =
"IInterface";
519 else if ( rtype ==
typeid(
IAlgorithm*).
name() ) type =
"Algorithm";
520 else if ( rtype ==
typeid(
IService* ).
name() ) type =
"Service";
521 else if ( rtype ==
typeid(
IAlgTool* ).
name() ) type =
"AlgTool";
522 else if ( rtype ==
typeid(
IAuditor* ).
name() ) type =
"Auditor";
523 else if ( rtype ==
typeid(
IConverter*).
name() ) type =
"Converter";
524 else if ( rtype ==
typeid(
DataObject*).
name() ) type =
"DataObject";
525 else type =
"Unknown", known =
false;
530 if ( type ==
"IInterface" ) {
536 if ( type ==
"Converter" || type ==
"DataObject" ) {
543 <<
" Component [" << ident <<
"] is skipped !"
548 cout <<
" - component: " << info.className <<
" (";
549 if (info.className != name)
550 cout << name <<
": ";
553 string cname =
"DefaultName";
556 if ( type ==
"Algorithm" ) {
559 else if ( type ==
"Service") {
562 else if ( type ==
"AlgTool") {
563 prop =
SmartIF<IAlgTool>(AlgTool::Factory::create(ident, cname, type, dummySvc));
567 else if ( type ==
"Auditor") {
570 else if ( type ==
"ApplicationMgr") {
578 cout <<
"ERROR: Error instantiating " << name
579 <<
" from " << *iLib << endl;
580 cout <<
"ERROR: Got exception: " << e.
what() << endl;
585 cout <<
"ERROR: Error instantiating " << name
586 <<
" from " << *iLib << endl;
596 cout <<
"ERROR: could not cast IInterface* object to an IProperty* !\n"
597 <<
"ERROR: return type from PluginSvc is [" << rtype <<
"]...\n"
598 <<
"ERROR: NO Configurable will be generated for ["
609 fs::path(*iLib+
"Conf.py") ).
string();
611 fs::path(*iLib+
".confdb") ).
string();
613 std::fstream py( pyName, std::ios_base::out|std::ios_base::trunc );
614 std::fstream db( dbName, std::ios_base::out|std::ios_base::trunc );
617 if (!userModule.
empty())
618 py <<
"from " << userModule <<
" import *" <<endl;
627 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...
virtual const std::vector< Property * > & getProperties() const =0
Get list of properties.
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
int genComponent(const std::string &libName, const std::string &componentName, const std::string &componentType, const vector< Property * > &properties)
void * ImageHandle
Definition of an image handle.
stringstream m_pyBuf
buffer of auto-generated configurables
GAUDIPS_API Logger & logger()
Return the current logger instance.
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.
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
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.