load additional libraries which might be required by module agent implementations
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 16 Mar 2007 12:03:42 +0000 (12:03 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 16 Mar 2007 12:03:42 +0000 (12:03 +0000)
HLT/BASE/AliHLTModuleAgent.cxx
HLT/BASE/AliHLTSystem.cxx

index c881cda..448b896 100644 (file)
@@ -152,7 +152,7 @@ int AliHLTModuleAgent::Unregister(AliHLTModuleAgent* pAgent)
   AliHLTLogging log;
   if (!pAgent) return -EINVAL;
   if (fgAgentList.FindObject(pAgent)!=NULL) {
-    log.Logging(kHLTLogDebug, "AliHLTModuleAgent::Unregister", "", "module agent %s (%p) unregistered", pAgent->GetName(), pAgent);
+    log.Logging(kHLTLogDebug, "AliHLTModuleAgent::Unregister", "", "module agent %s (%p) removed", pAgent->GetName(), pAgent);
     fgAgentList.Remove(pAgent);
   } else {
   }
index 178e00e..f386761 100644 (file)
@@ -539,10 +539,17 @@ int AliHLTSystem::LoadConfigurations(AliRunLoader* runloader)
   }
   int iResult=0;
   AliHLTModuleAgent* pAgent=AliHLTModuleAgent::GetFirstAgent();
-  while (pAgent) {
-    HLTDebug("load configurations for agent %s (%p)", pAgent->GetName(), pAgent);
-    pAgent->CreateConfigurations(fpConfigurationHandler, runloader);
-    pAgent=AliHLTModuleAgent::GetNextAgent();
+  while (pAgent && iResult>=0) {
+    const char* deplibs=pAgent->GetRequiredComponentLibraries();
+    if (deplibs) {
+      HLTDebug("load libraries \'%s\' %s for agent %s (%p)", deplibs, pAgent->GetName(), pAgent);
+      iResult=LoadComponentLibraries(deplibs);
+    }
+    if (iResult>=0) {
+      HLTDebug("load configurations for agent %s (%p)", pAgent->GetName(), pAgent);
+      pAgent->CreateConfigurations(fpConfigurationHandler, runloader);
+      pAgent=AliHLTModuleAgent::GetNextAgent();
+    }
   }
   return iResult;
 }