+ /**
+ * Activate all module agents with this component handler.
+ * The function loops over all available module agents and activates
+ * each agent with this component handler. During activation, the
+ * dynamic component registration is carried out by the agents version
+ * of @ref AliHLTModuleAgent::RegisterComponents
+ *
+ * Agents are identified by an id which is a string containing the
+ * module name. Libraries follow the naming scheme libAliHLT<MOD>.so
+ * If the library name is provided and the specific agent found in the
+ * list, only that one is activated. All pending agents otherwize.
+ * @param library library to activate the agent for
+ * @param blackList blank separated list of module ids
+ */
+ int ActivateAgents(const char* library=NULL, const char* blackList=NULL);
+
+ /**
+ * Compound descriptor for component libraries
+ */
+ struct AliHLTLibHandle {
+ AliHLTLibHandle() : fHandle(NULL), fName(NULL), fMode(kDynamic) {}
+ /** dlopen handle */
+ void* fHandle; //! transient
+ /** name of the library, casted to TString* before use */
+ void* fName; //! transient
+ /** library mode: kStatic means never unloaded */
+ TLibraryMode fMode; //! transient
+ };
+
+ /**
+ * Find a specific library among the loaded libraries.
+ * @param library library name/path
+ * @return pointer to AliHLTLibHandle
+ */
+ AliHLTLibHandle* FindLibrary(const char* library);
+
+ /**
+ * Unload a component shared library.
+ * All components will be de-registered when the last instance of the
+ * library was unloaded.
+ * @param handle handle to the library to unload
+ * @return 0 if succeeded, neg. error code if failed
+ */
+ int UnloadLibrary(AliHLTComponentHandler::AliHLTLibHandle &handle);
+