23 #include <xplc/core.h>
27 #define MONIKER_SEPARATOR_CHAR ':'
35 MonikerService::~MonikerService() {
55 char* name = strdup(aName);
56 char* rest = strchr(name, MONIKER_SEPARATOR_CHAR);
66 if(strcmp(name, node->name) == 0) {
67 servmgr = XPLC_getServiceManager();
75 moniker = mutate<IMoniker>(obj);
105 if(strcmp(aName, node->name) == 0)
virtual void registerObject(const char *, const UUID &)
Register an object to be retrieved with a moniker.
virtual IObject * getObject(const UUID &)=0
Get the object corresponding to the given UUID.
#define UUID_MAP_ENTRY(iface)
Add an entry to an interface map.
#define UUID_MAP_BEGIN(component)
Start the interface map for "component".
virtual unsigned int release()=0
Indicate that you are finished using this object.
#define UUID_MAP_END
Marks the end of an interface map.
The structure underlying UUIDs.
virtual IObject * resolve(const char *moniker)=0
Given a moniker string, return the IObject it refers to, or NULL if no objects match.
virtual IObject * resolve(const char *)
Given a moniker string, return the IObject it refers to, or NULL if no objects match.