24#include <xplc/utils.h>
27#define MONIKER_SEPARATOR_CHAR ':'
35MonikerService::~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)
An interface for registering objects so they can be retrieved using a moniker.
An interface for obtaining an IObject given a moniker string.
virtual IObject * resolve(const char *moniker)=0
Given a moniker string, return the IObject it refers to, or NULL if no objects match.
The basic interface which is included by all other XPLC interfaces and objects.
virtual unsigned int release()=0
Indicate that you are finished using this object.
virtual IObject * getObject(const UUID &)=0
Get the object corresponding to the given UUID.
The XPLC service manager interface.
virtual IObject * resolve(const char *)
Given a moniker string, return the IObject it refers to, or NULL if no objects match.
virtual void registerObject(const char *, const UUID &)
Register an object to be retrieved with a moniker.
#define UUID_MAP_END
Marks the end of an interface map.
#define UUID_MAP_BEGIN(component)
Start the interface map for "component".
#define UUID_MAP_ENTRY(iface)
Add an entry to an interface map.
The structure underlying UUIDs.