Gaudi Framework, version v25r0

Home   Generated: Mon Feb 17 2014
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Macros | Functions
capi_pluginservice.h File Reference
#include <stdint.h>
Include dependency graph for capi_pluginservice.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cgaudi_pluginsvc_t
 
struct  cgaudi_factory_t
 
struct  cgaudi_property_t
 

Macros

#define CGAUDI_IMPORT
 
#define CGAUDI_EXPORT
 
#define CGAUDI_LOCAL
 
#define CGAUDI_API   CGAUDI_EXPORT
 

Functions

CGAUDI_API cgaudi_pluginsvc_t cgaudi_pluginsvc_instance (void)
 
CGAUDI_API int cgaudi_pluginsvc_get_factory_size (cgaudi_pluginsvc_t self)
 
CGAUDI_API cgaudi_factory_t cgaudi_pluginsvc_get_factory_at (cgaudi_pluginsvc_t self, int n)
 
CGAUDI_API const char * cgaudi_factory_get_library (cgaudi_factory_t self)
 
CGAUDI_API const char * cgaudi_factory_get_type (cgaudi_factory_t self)
 
CGAUDI_API const char * cgaudi_factory_get_rtype (cgaudi_factory_t self)
 
CGAUDI_API const char * cgaudi_factory_get_classname (cgaudi_factory_t self)
 
CGAUDI_API int cgaudi_factory_get_property_size (cgaudi_factory_t self)
 
CGAUDI_API cgaudi_property_t cgaudi_factory_get_property_at (cgaudi_factory_t self, int n)
 
CGAUDI_API const char * cgaudi_property_get_key (cgaudi_property_t self)
 
CGAUDI_API const char * cgaudi_property_get_value (cgaudi_property_t self)
 

Macro Definition Documentation

#define CGAUDI_API   CGAUDI_EXPORT

Definition at line 36 of file capi_pluginservice.h.

#define CGAUDI_EXPORT

Definition at line 32 of file capi_pluginservice.h.

#define CGAUDI_IMPORT

Definition at line 31 of file capi_pluginservice.h.

#define CGAUDI_LOCAL

Definition at line 33 of file capi_pluginservice.h.

Function Documentation

CGAUDI_API const char* cgaudi_factory_get_classname ( cgaudi_factory_t  self)

Definition at line 73 of file capi_pluginservice.cpp.

{
Registry &reg = Registry::instance();
std::string id = self.id;
const Registry::FactoryInfo& fi = reg.getInfo(id);
return fi.className.c_str();
}
CGAUDI_API const char* cgaudi_factory_get_library ( cgaudi_factory_t  self)

Definition at line 46 of file capi_pluginservice.cpp.

{
Registry &reg = Registry::instance();
std::string id = self.id;
const Registry::FactoryInfo& fi = reg.getInfo(id);
return fi.library.c_str();
}
CGAUDI_API cgaudi_property_t cgaudi_factory_get_property_at ( cgaudi_factory_t  self,
int  n 
)

Definition at line 92 of file capi_pluginservice.cpp.

{
cprop.registry = self.registry;
cprop.id = self.id;
cprop.key = NULL;
Registry &reg = Registry::instance();
std::string id = cprop.id;
const Registry::FactoryInfo& fi = reg.getInfo(id);
int i = 0;
itr = fi.properties.begin(),
iend = fi.properties.end();
itr != iend;
itr++, i++) {
if (i == n) {
cprop.key = itr->first.c_str();
return cprop;
}
}
return cprop;
}
CGAUDI_API int cgaudi_factory_get_property_size ( cgaudi_factory_t  self)

Definition at line 82 of file capi_pluginservice.cpp.

{
Registry &reg = Registry::instance();
std::string id = self.id;
const Registry::FactoryInfo& fi = reg.getInfo(id);
return int(fi.properties.size());
}
CGAUDI_API const char* cgaudi_factory_get_rtype ( cgaudi_factory_t  self)

Definition at line 64 of file capi_pluginservice.cpp.

{
Registry &reg = Registry::instance();
std::string id = self.id;
const Registry::FactoryInfo& fi = reg.getInfo(id);
return fi.rtype.c_str();
}
CGAUDI_API const char* cgaudi_factory_get_type ( cgaudi_factory_t  self)

Definition at line 55 of file capi_pluginservice.cpp.

{
Registry &reg = Registry::instance();
std::string id = self.id;
const Registry::FactoryInfo& fi = reg.getInfo(id);
return fi.type.c_str();
}
CGAUDI_API cgaudi_factory_t cgaudi_pluginsvc_get_factory_at ( cgaudi_pluginsvc_t  self,
int  n 
)

Definition at line 26 of file capi_pluginservice.cpp.

{
const Registry *reg = ((const Registry*)self.registry);
keys.reserve(reg->factories().size());
itr = reg->factories().begin(),
iend= reg->factories().end();
itr != iend;
itr++) {
keys.push_back(itr->first);
}
const char *key = keys[n].c_str();
fac.registry = self;
fac.id = key;
return fac;
}
CGAUDI_API int cgaudi_pluginsvc_get_factory_size ( cgaudi_pluginsvc_t  self)

Definition at line 18 of file capi_pluginservice.cpp.

{
const Registry::FactoryMap &fmap = ((const Registry*)self.registry)->factories();
return int(fmap.size());
}
CGAUDI_API cgaudi_pluginsvc_t cgaudi_pluginsvc_instance ( void  )

Definition at line 9 of file capi_pluginservice.cpp.

{
static Registry& cxxreg = Registry::instance();
reg.registry = (void*)(&cxxreg);
return reg;
}
CGAUDI_API const char* cgaudi_property_get_key ( cgaudi_property_t  self)

Definition at line 116 of file capi_pluginservice.cpp.

{
return self.key;
}
CGAUDI_API const char* cgaudi_property_get_value ( cgaudi_property_t  self)

Definition at line 122 of file capi_pluginservice.cpp.

{
Registry &reg = Registry::instance();
std::string id = self.id;
const Registry::FactoryInfo& fi = reg.getInfo(id);
Registry::KeyType key = self.key;
if (prop == fi.properties.end()) {
return NULL;
}
return prop->second.c_str();
}

Generated at Mon Feb 17 2014 14:37:54 for Gaudi Framework, version v25r0 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004