Minor bugfixes and extensions for the onlineDiplay Interface
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveHOMERManager.cxx
index faab683b437f35af456a01ec1223fffed308e48e..55c02e8ce3b44b9a455696187e626a9f981fc1e1 100644 (file)
@@ -17,6 +17,8 @@
    using namespace std;
 #endif
 
+#include "unistd.h"
+
 #include "AliEveHOMERManager.h"
 
 
@@ -32,7 +34,9 @@ ClassImp(AliEveHOMERManager)
 AliEveHOMERManager::AliEveHOMERManager() :
   AliHLTHOMERManager(), 
   TEveElementList("Homer Manager"),
-  fSrcList(NULL) {
+  fSrcList(NULL),
+  fRetryCount(1),
+  fRetrySleeptime(10) {
   // see header file for class documentation
   // or
   // refer to README to build package
@@ -80,23 +84,47 @@ Int_t AliEveHOMERManager::CreateEveSourcesList() {
   fSrcList->CreateByType();
     
   return iResult;
 }
 
-
 //##################################################################################
-Int_t AliEveHOMERManager::ConnectEVEtoHOMER() {
+Int_t AliEveHOMERManager::CreateEveSourcesListLoop() {
   // see header file for class documentation
 
   Int_t iResult = 0;
+
+  for ( Int_t retry = 0; retry < fRetryCount ; retry++ ) {
   
-  fStateHasChanged = fSrcList->GetSelectedSources();
+    iResult = CreateEveSourcesList();
+    if (!iResult) 
+      break;
+    
+    else if (iResult == 1) {
+      HLTWarning( Form("Couldn't find active services, sleeping %d s", fRetryCount) ) ;
+    }   
+    else if (iResult == 2) {
+      HLTWarning( Form("Services List empty, sleeping %d s", fRetryCount) ) ;
+    }
+    else {
+      HLTError( Form("Other problem ... \n") ); 
+      return iResult;
+    } 
+    
+    sleep(fRetrySleeptime);
+  }
+
+  if ( iResult ) {
+    HLTWarning( Form("Couldn't find active services.") );
+    return iResult;
+  } 
   
-  cout<<"In ConnectEVEtoHOMER"<<endl;
+  return iResult;
+}
 
-  iResult = ConnectHOMER();
+//##################################################################################
+Int_t AliEveHOMERManager::ConnectEVEtoHOMER( TString detector ) {
+  // see header file for class documentation
 
+  fStateHasChanged = fSrcList->GetSelectedSources();
   
-  return iResult;
+  return ConnectHOMER(detector);
 }