The Gaudi Framework  v29r0 (ff2e7097)
PluginServiceDetails.h File Reference
#include <map>
#include <set>
#include <sstream>
#include <string>
#include <typeinfo>
#include <utility>
Include dependency graph for PluginServiceDetails.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Gaudi::PluginService::Details::Factory< T >
 Class providing default factory functions. More...
 
class  Gaudi::PluginService::Details::Registry
 In-memory database of the loaded factories. More...
 
struct  Gaudi::PluginService::Details::Registry::FactoryInfo
 
class  Gaudi::PluginService::Details::Logger
 Simple logging class, just to provide a default implementation. More...
 

Namespaces

 Gaudi
 Helper functions to set/get the application return code.
 
 Gaudi::PluginService
 
 Gaudi::PluginService::Details
 

Macros

#define GAUDIPS_IMPORT
 
#define GAUDIPS_EXPORT
 
#define GAUDIPS_LOCAL
 
#define GAUDIPS_API   GAUDIPS_IMPORT
 
#define _INTERNAL_FACTORY_REGISTER_CNAME(name, serial)   _register_##_##serial
 
#define _INTERNAL_DECLARE_FACTORY_WITH_CREATOR(type, typecreator, id, factory, serial)
 
#define _INTERNAL_DECLARE_FACTORY(type, id, factory, serial)    _INTERNAL_DECLARE_FACTORY_WITH_CREATOR( type, ::Gaudi::PluginService::Details::Factory<type>, id, factory, serial )
 

Functions

GAUDIPS_API void * Gaudi::PluginService::Details::getCreator (const std::string &id, const std::string &type)
 Function used to load a specific factory function. More...
 
template<typename F >
Gaudi::PluginService::Details::getCreator (const std::string &id)
 Convoluted implementation of getCreator with an embedded reinterpret_cast, used to avoid the warning. More...
 
GAUDIPS_API std::string Gaudi::PluginService::Details::demangle (const std::type_info &id)
 Return a canonical name for type_info object (implementation borrowed from GaudiKernel/System). More...
 
template<typename T >
std::string Gaudi::PluginService::Details::demangle ()
 Return a canonical name for the template argument. More...
 
GAUDIPS_API Logger & Gaudi::PluginService::Details::logger ()
 Return the current logger instance. More...
 
GAUDIPS_API void Gaudi::PluginService::Details::setLogger (Logger *logger)
 Set the logger instance to use. More...
 
GAUDIPS_API void Gaudi::PluginService::SetDebug (int debugLevel)
 Backward compatibility with Reflex. More...
 
GAUDIPS_API int Gaudi::PluginService::Debug ()
 Backward compatibility with Reflex. More...
 

Macro Definition Documentation

#define _INTERNAL_DECLARE_FACTORY (   type,
  id,
  factory,
  serial 
)    _INTERNAL_DECLARE_FACTORY_WITH_CREATOR( type, ::Gaudi::PluginService::Details::Factory<type>, id, factory, serial )

Definition at line 275 of file PluginServiceDetails.h.

#define _INTERNAL_DECLARE_FACTORY_WITH_CREATOR (   type,
  typecreator,
  id,
  factory,
  serial 
)
Value:
namespace \
{ \
{ \
public: \
typedef factory s_t; \
typedef typecreator f_t; \
static s_t::FuncType creator() { return &f_t::create<s_t>; } \
_INTERNAL_FACTORY_REGISTER_CNAME( type, serial )() \
{ \
using ::Gaudi::PluginService::Details::Registry; \
Registry::instance().add<s_t, type>( id, creator() ); \
} \
}
#define _INTERNAL_FACTORY_REGISTER_CNAME(name, serial)

Definition at line 258 of file PluginServiceDetails.h.

#define _INTERNAL_FACTORY_REGISTER_CNAME (   name,
  serial 
)    _register_##_##serial

Definition at line 256 of file PluginServiceDetails.h.

#define GAUDIPS_API   GAUDIPS_IMPORT

Definition at line 44 of file PluginServiceDetails.h.

#define GAUDIPS_EXPORT

Definition at line 37 of file PluginServiceDetails.h.

#define GAUDIPS_IMPORT
Author
Marco Clemencic marco.nosp@m..cle.nosp@m.menci.nosp@m.c@ce.nosp@m.rn.ch

Definition at line 36 of file PluginServiceDetails.h.

#define GAUDIPS_LOCAL

Definition at line 38 of file PluginServiceDetails.h.