]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- start DIS serving added to server loop
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 6 May 2010 18:40:35 +0000 (18:40 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 6 May 2010 18:40:35 +0000 (18:40 +0000)
- DIS update called on AliHLTDimService::Update
- service name prepended by server name

HLT/BASE/AliHLTDimServer.cxx
HLT/BASE/AliHLTDimServer.h

index 2973d4ea0d0d06c30f581b584ad668e4bec30646..3068cd155a1321a46c08398bdb22f63f4010dc9b 100644 (file)
@@ -250,7 +250,7 @@ void* AliHLTDimServer::ServerLoop()
   while ((obj=next())!=NULL) {
     AliHLTDimService* pService=dynamic_cast<AliHLTDimService*>(obj);
     if (!pService) continue;
-    const char* name=pService->GetName();
+    TString name=GetName(); name+="_"; name+=pService->GetName();
     const char* type="";
     void* buffer=pService->GetLocation();
     int size=0;
@@ -270,7 +270,7 @@ void* AliHLTDimServer::ServerLoop()
       log.LoggingVarargs(kHLTLogError, "AliHLTDimServer::AliHLTDimService", "ServerLoop" , __FILE__ , __LINE__ , "ignoring dim service %s: unknown type %d", name, pService->GetType());
     }
     if (type[0]!=0) {
-      int id=Interface()->DisAddService(name, type, buffer, size);
+      int id=Interface()->DisAddService(name.Data(), type, buffer, size);
       if (id<0) {
         log.LoggingVarargs(kHLTLogError, "AliHLTDimServer::AliHLTDimService", "ServerLoop" , __FILE__ , __LINE__ , "failed to add dim service %s: error %d", name, id);
       } else {
@@ -280,8 +280,8 @@ void* AliHLTDimServer::ServerLoop()
   }
 
   SetState(kStateRunning);
+  Interface()->DisStartServing(GetName());
   while (GetState()==kStateRunning) {
-    cout << "test" << endl;
     gSystem->Sleep(fUpdatePeriod);
   }
 
@@ -348,6 +348,8 @@ void AliHLTDimServer::AliHLTDimService::Update(AliHLTDimServicePoint_t& sp)
     if (bWarning) log.LoggingVarargs(kHLTLogError, "AliHLTDimServer::AliHLTDimService", "Update" , __FILE__ , __LINE__ , "Failed to update dim service %s: unknown type %d", GetName(), fType);
     bWarning=false;
   };
+
+  AliHLTDimServer::Interface()->DisUpdateService(fId);
 }
 
 AliHLTDimServer::AliHLTDimInterface::AliHLTDimInterface()
index 43c900fdd2a94ba8a484a72fbc5f73b6d11a0476..e698038e050091f16f87626ee8320eac9be4ea07 100644 (file)
@@ -80,6 +80,19 @@ public:
     }
   };
 
+  /** @class AliHLTDimServiceInt
+   * DIM service for a int value
+   */
+  class AliHLTDimServiceInt : public AliHLTDimService {
+  public:
+    AliHLTDimServiceInt();
+    ~AliHLTDimServiceInt();
+
+    void Update(int i) {
+      AliHLTDimServicePoint_t sp; sp.iVal=i; AliHLTDimService::Update(sp);
+    }
+  };
+
   /**
    * Register a service.
    * @param pService    the service to be registered