From bdd7f6fd0998a45487892fe435a6ce7ccfb3b9de Mon Sep 17 00:00:00 2001 From: richterm Date: Thu, 6 May 2010 18:40:35 +0000 Subject: [PATCH] - start DIS serving added to server loop - DIS update called on AliHLTDimService::Update - service name prepended by server name --- HLT/BASE/AliHLTDimServer.cxx | 8 +++++--- HLT/BASE/AliHLTDimServer.h | 13 +++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/HLT/BASE/AliHLTDimServer.cxx b/HLT/BASE/AliHLTDimServer.cxx index 2973d4ea0d0..3068cd155a1 100644 --- a/HLT/BASE/AliHLTDimServer.cxx +++ b/HLT/BASE/AliHLTDimServer.cxx @@ -250,7 +250,7 @@ void* AliHLTDimServer::ServerLoop() while ((obj=next())!=NULL) { AliHLTDimService* pService=dynamic_cast(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() diff --git a/HLT/BASE/AliHLTDimServer.h b/HLT/BASE/AliHLTDimServer.h index 43c900fdd2a..e698038e050 100644 --- a/HLT/BASE/AliHLTDimServer.h +++ b/HLT/BASE/AliHLTDimServer.h @@ -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 -- 2.43.0