4 #include <Gaudi/PluginService.h>
13 return { (
void*)(&cxxreg) };
20 return int(fmap.size());
23 constexpr
struct select1st_t {
24 template <
typename S,
typename T>
27 template <
typename S,
typename T>
36 std::vector<Registry::KeyType> keys;
40 return {
self, keys[
n].c_str() };
88 cprop.key = itr->first.c_str();
105 return prop != fi.
properties.end() ? prop->second.c_str() :
nullptr;
cgaudi_property_t cgaudi_factory_get_property_at(cgaudi_factory_t self, int n)
const char * cgaudi_factory_get_classname(cgaudi_factory_t self)
const FactoryInfo & getInfo(const std::string &id) const
Retrieve the FactoryInfo object for an id.
constexpr struct select1st_t select1st
cgaudi_pluginsvc_t cgaudi_pluginsvc_instance()
const char * cgaudi_property_get_value(cgaudi_property_t self)
const char * cgaudi_property_get_key(cgaudi_property_t self)
int cgaudi_pluginsvc_get_factory_size(cgaudi_pluginsvc_t self)
const char * cgaudi_factory_get_rtype(cgaudi_factory_t self)
const FactoryMap & factories() const
Return the known factories (loading the list if not yet done).
cgaudi_pluginsvc_t registry
int cgaudi_factory_get_property_size(cgaudi_factory_t self)
S & operator()(std::pair< S, T > &p) const
cgaudi_factory_t cgaudi_pluginsvc_get_factory_at(cgaudi_pluginsvc_t self, int n)
const S & operator()(const std::pair< S, T > &p) const
static Registry & instance()
Retrieve the singleton instance of Registry.
const char * cgaudi_factory_get_type(cgaudi_factory_t self)
In-memory database of the loaded factories.
std::map< KeyType, FactoryInfo > FactoryMap
Type used for the database implementation.
const char * cgaudi_factory_get_library(cgaudi_factory_t self)