The Gaudi Framework  v30r3 (a5ef0a68)
PluginServiceDetailsV1.h File Reference
#include "Gaudi/Details/PluginServiceCommon.h"
#include <map>
#include <set>
#include <sstream>
#include <string>
#include <typeinfo>
#include <utility>
#include <mutex>
Include dependency graph for PluginServiceDetailsV1.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Gaudi::PluginService::v1::Details::Factory< T >
 Class providing default factory functions. More...
 
class  Gaudi::PluginService::v1::Details::Registry
 In-memory database of the loaded factories. More...
 
struct  Gaudi::PluginService::v1::Details::Registry::FactoryInfo
 
class  Gaudi::PluginService::v1::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
 See Gaudi::PluginService.
 
 Gaudi::PluginService::v1
 
 Gaudi::PluginService::v1::Details
 

Macros

#define _PS_V1_INTERNAL_FACTORY_REGISTER_CNAME(name, serial)   _register_##_##serial
 
#define _PS_V1_INTERNAL_DECLARE_FACTORY_WITH_CREATOR(type, typecreator, id, factory, serial)
 
#define _PS_V1_INTERNAL_DECLARE_FACTORY(type, id, factory, serial)
 

Functions

GAUDIPS_API void * Gaudi::PluginService::v1::Details::getCreator (const std::string &id, const std::string &type)
 Function used to load a specific factory function. More...
 
template<typename F >
Gaudi::PluginService::v1::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::v1::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::v1::Details::demangle ()
 Return a canonical name for the template argument. More...
 
GAUDIPS_API Logger & Gaudi::PluginService::v1::Details::logger ()
 Return the current logger instance. More...
 
GAUDIPS_API void Gaudi::PluginService::v1::Details::setLogger (Logger *logger)
 Set the logger instance to use. More...
 
GAUDIPS_API void Gaudi::PluginService::v1::SetDebug (int debugLevel)
 Backward compatibility with Reflex. More...
 
GAUDIPS_API int Gaudi::PluginService::v1::Debug ()
 Backward compatibility with Reflex. More...
 

Macro Definition Documentation

#define _PS_V1_INTERNAL_DECLARE_FACTORY (   type,
  id,
  factory,
  serial 
)
Value:
serial )
Class providing default factory functions.
#define _PS_V1_INTERNAL_DECLARE_FACTORY_WITH_CREATOR(type, typecreator, id, factory, serial)

Definition at line 253 of file PluginServiceDetailsV1.h.

#define _PS_V1_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>; } \
_PS_V1_INTERNAL_FACTORY_REGISTER_CNAME( type, serial )() \
{ \
using ::Gaudi::PluginService::v1::Details::Registry; \
Registry::instance().add<s_t, type>( id, creator() ); \
} \
}
#define _PS_V1_INTERNAL_FACTORY_REGISTER_CNAME(name, serial)

Definition at line 236 of file PluginServiceDetailsV1.h.

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

Definition at line 234 of file PluginServiceDetailsV1.h.