3 #define GAUDI_PLUGIN_SERVICE_V2 15 static Registry& cxxreg = Registry::instance();
21 const Registry::FactoryMap& fmap =
static_cast<const Registry*
>(
self.registry )->
factories();
22 return int( fmap.size() );
27 const Registry* reg =
static_cast<const Registry*
>(
self.registry );
29 if ( n >= static_cast<int>(
factories.size() ) )
return {
self,
nullptr};
35 Registry& reg = Registry::instance();
36 return reg.getInfo(
self.
id ).library.c_str();
41 Registry& reg = Registry::instance();
43 cache =
demangle( reg.getInfo(
self.id ).factory.type() );
49 Registry& reg = Registry::instance();
51 cache = reg.getInfo(
self.
id ).getprop(
"ClassName" );
57 Registry& reg = Registry::instance();
58 const Registry::FactoryInfo& fi = reg.getInfo(
self.
id );
59 return int( fi.properties.size() );
65 Registry& reg = Registry::instance();
66 const Registry::FactoryInfo& fi = reg.getInfo( cprop.id );
67 if ( n < static_cast<int>( fi.properties.size() ) ) cprop.key = next(
begin( fi.properties ), n )->first.c_str();
75 Registry& reg = Registry::instance();
76 const Registry::FactoryInfo& fi = reg.getInfo(
self.
id );
77 auto prop = fi.properties.find(
self.key );
78 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)