| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Namespaces | Macros | Functions
PluginServiceDetails.h File Reference
`#include <string>`
`#include <sstream>`
`#include <map>`
`#include <set>`
`#include <typeinfo>`
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
namespace | Gaudi
| : AIDA interfaces visibility
namespace | Gaudi::PluginService
namespace | 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)

## Functions
GAUDIPS_API void * | Gaudi::PluginService::Details::getCreator (const std::string &id, const std::string &type)
| Function used to load a specific factory function.
template<typename F >
F | Gaudi::PluginService::Details::getCreator (const std::string &id)
| Convoluted implementation of getCreator with an embedded reinterpret_cast, used to avoid the warning <verbatim> warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object </verbatim> It is an ugly trick but works.
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).
template<typename T >
std::string | Gaudi::PluginService::Details::demangle ()
| Return a canonical name for the template argument.
GAUDIPS_API Logger & | Gaudi::PluginService::Details::logger ()
| Return the current logger instance.
GAUDIPS_API void | Gaudi::PluginService::Details::setLogger (Logger *logger)
| Set the logger instance to use.
GAUDIPS_API void | Gaudi::PluginService::SetDebug (int debugLevel)
| Backward compatibility with Reflex.
GAUDIPS_API int | Gaudi::PluginService::Debug ()
| Backward compatibility with Reflex.

## Macro Definition Documentation

#define _INTERNAL_DECLARE_FACTORY | ( |  | type,
|  |  | id,
|  |  | factory,
|  |  | serial
| ) |  |

Value:
_INTERNAL_DECLARE_FACTORY_WITH_CREATOR(type, \
::Gaudi::PluginService::Details::Factory<type>, \
id, factory, serial)

Definition at line 271 of file PluginServiceDetails.h.

#define _INTERNAL_DECLARE_FACTORY_WITH_CREATOR | ( |  | type,
|  |  | typecreator,
|  |  | id,
|  |  | factory,
|  |  | serial
| ) |  |

Value:
namespace { \
class _INTERNAL_FACTORY_REGISTER_CNAME(type, serial) { \
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()); \
} \
} _INTERNAL_FACTORY_REGISTER_CNAME(s_ ## type, serial); \
}

Definition at line 256 of file PluginServiceDetails.h.

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

Definition at line 253 of file PluginServiceDetails.h.

#define GAUDIPS_API GAUDIPS_IMPORT

Definition at line 43 of file PluginServiceDetails.h.

#define GAUDIPS_EXPORT

Definition at line 36 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 35 of file PluginServiceDetails.h.

#define GAUDIPS_LOCAL

Definition at line 37 of file PluginServiceDetails.h.