3 #define GAUDI_PLUGIN_SERVICE_V2 14 static Registry& cxxreg = Registry::instance();
19 const Registry::FactoryMap& fmap =
static_cast<const Registry*
>(
self.registry )->
factories();
20 return int( fmap.size() );
24 const Registry* reg =
static_cast<const Registry*
>(
self.registry );
26 if ( n >= static_cast<int>(
factories.size() ) )
return {
self,
nullptr};
31 Registry& reg = Registry::instance();
32 return reg.getInfo(
self.
id ).library.c_str();
36 Registry& reg = Registry::instance();
38 cache =
demangle( reg.getInfo(
self.id ).factory.type() );
43 Registry& reg = Registry::instance();
45 cache = reg.getInfo(
self.
id ).getprop(
"ClassName" );
50 Registry& reg = Registry::instance();
51 const Registry::FactoryInfo& fi = reg.getInfo(
self.
id );
52 return int( fi.properties.size() );
57 Registry& reg = Registry::instance();
58 const Registry::FactoryInfo& fi = reg.getInfo( cprop.id );
59 if ( n < static_cast<int>( fi.properties.size() ) ) cprop.key = next(
begin( fi.properties ), n )->first.c_str();
66 Registry& reg = Registry::instance();
67 const Registry::FactoryInfo& fi = reg.getInfo(
self.
id );
68 auto prop = fi.properties.find(
self.key );
69 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)
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)
cgaudi_pluginsvc_t registry
int cgaudi_factory_get_property_size(cgaudi_factory_t self)
cgaudi_factory_t cgaudi_pluginsvc_get_factory_at(cgaudi_pluginsvc_t self, int n)
const char * cgaudi_factory_get_type(cgaudi_factory_t self)
std::string demangle(const std::string &id)
AttribStringParser::Iterator begin(const AttribStringParser &parser)
const char * cgaudi_factory_get_library(cgaudi_factory_t self)