24 #include <xplc/core.h> 26 #include <xplc/factory.h> 29 #include "statichandler.h" 30 #include "moduleloader.h" 33 #include "modulemgr.h" 68 handler->
addObject(XPLC_staticServiceHandler, handler2);
84 handler->
addObject(XPLC_categoryManager, obj);
90 handler->
addObject(XPLC_moduleLoader, obj);
96 handler->
addObject(XPLC_moduleManagerFactory, obj);
103 handler->
addObject(XPLC_monikers, monikers);
115 ServiceManager::~ServiceManager() {
119 next = handlers->next;
124 if(singleton ==
this)
135 if(node->handler == aHandler)
138 if(node->intercept) {
159 if(node->handler == aHandler)
182 if(node->handler == aHandler)
206 if(node->handler == aHandler) {
223 obj = handler->handler->
getObject(aUuid);
231 handler = handler->next;
The basic interface which is included by all other XPLC interfaces and objects.
Service handler for statically linked components.
The XPLC service manager interface.
virtual unsigned int release()=0
Indicate that you are finished using this object.
virtual void addLastHandler(IServiceHandler *)
Register a handler to be handled by this manager, explicitly adding it to the end of the list (lowest...
The structure underlying UUIDs.
virtual void registerObject(const char *prefix, const UUID &uuid)=0
Register an object to be retrieved with a moniker.
Interface to an object which can be used to find other objects, given their UUIDs.
Various utility functions, macros and templates.
An interface for registering objects so they can be retrieved using a moniker.
virtual void addObject(const UUID &, IObject *)=0
Adds an object to the static service handler.
#define UUID_MAP_ENTRY(iface)
Add an entry to an interface map.
#define UUID_MAP_BEGIN(component)
Start the interface map for "component".
virtual void addHandler(IServiceHandler *)
Register a handler to be handled by this manager.
virtual IObject * getObject(const UUID &)
Get the object corresponding to the given UUID.
virtual IObject * getObject(const UUID &)=0
Get the object corresponding to the given UUID.
virtual unsigned int addRef()=0
Indicate you are using this object.
#define UUID_MAP_END
Marks the end of an interface map.
virtual void addFirstHandler(IServiceHandler *)
Register a handler to be handled by this manager, explicitly adding it to the beginning of the list (...
virtual void removeHandler(IServiceHandler *)
Remove a handler from the list.