13 #define GAUDI_PLUGIN_SERVICE_V2 24 static Registry& cxxreg = Registry::instance();
29 const Registry::FactoryMap& fmap = static_cast<const Registry*>(
self.
registry )->factories();
30 return int( fmap.size() );
34 const Registry* reg = static_cast<const Registry*>(
self.
registry );
36 if (
n >= static_cast<int>(
factories.size() ) )
return {
self,
nullptr};
41 Registry& reg = Registry::instance();
42 return reg.getInfo(
self.
id ).library.c_str();
46 Registry& reg = Registry::instance();
48 cache =
demangle( reg.getInfo(
self.id ).factory.type() );
53 Registry& reg = Registry::instance();
55 cache = reg.getInfo(
self.
id ).getprop(
"ClassName" );
60 Registry& reg = Registry::instance();
61 const Registry::FactoryInfo& fi = reg.getInfo(
self.
id );
62 return int( fi.properties.size() );
67 Registry& reg = Registry::instance();
68 const Registry::FactoryInfo& fi = reg.getInfo( cprop.id );
69 if (
n < static_cast<int>( fi.properties.size() ) ) cprop.key = next(
begin( fi.properties ),
n )->first.c_str();
76 Registry& reg = Registry::instance();
77 const Registry::FactoryInfo& fi = reg.getInfo(
self.
id );
78 auto prop = fi.properties.find(
self.key );
79 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)