Go to the documentation of this file.
33 #ifndef __XPLC_XPLC_H__
34 #define __XPLC_XPLC_H__
36 #if defined(__GNUC__) && __GNUC__ > 3
37 # pragma GCC system_header
45 #include <xplc/core.h>
59 XPLC(): servmgr(XPLC_getServiceManager()) {}
76 return servmgr->getObject(uuid);
82 template<
class Interface>
84 return mutate<Interface>(servmgr->getObject(uuid));
97 template<
class Interface>
99 return mutate<Interface>(
create(cid));
112 template<
class Interface>
113 Interface*
create(
const char* aMoniker) {
114 return mutate<Interface>(
create(aMoniker));
Interface * create(const UUID &cid)
Templated variant of XPLC::create() that will do a getInterface() for you.
XPLC(IServiceManager *_servmgr)
Create an XPLC object using an existing service manager reference.
T * do_addRef(T *obj)
Used to addRef an object before passing it to something that would otherwise "steal" the reference.
IObject * create(const UUID &cid)
Object creation helper.
void addModuleDirectory(const char *directory)
Adds a directory to the module loader path.
Interface * get(const UUID &uuid)
Templated variant of XPLC::get() that will do a getInterface() for you.
The structure underlying UUIDs.
Interface * create(const char *aMoniker)
Templated variant of XPLC::create(const char*) that will do a getInterface() for you.
IObject * get(const UUID &uuid)
Obtain an XPLC object.