This commit was generated by cvs2svn to compensate for changes in r12269,
[u/mrichter/AliRoot.git] / SHUTTLE / AliShuttle.h
1 #ifndef ALI_SHUTTLE_H
2 #define ALI_SHUTTLE_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9
10 //
11 // This class is the main manager for 
12 // AliShuttle. It organizes the data retrieval
13 // from DCS and call the interface methods of
14 // AliCDBPreProcessor.
15 //
16
17 #include <TObject.h>
18 #include <TMap.h>
19
20 class AliShuttleConfig;
21 class AliCDBStorage;
22 class AliCDBMetaData;
23 class AliCDBParam;
24 class AliCDBPreProcessor;
25
26 class AliShuttle: public TObject {
27 public:
28         AliShuttle(const AliShuttleConfig* config, const char* cdbStorageURI,
29                 UInt_t timeout = 5000, Int_t retries = 5);
30         AliShuttle(const AliShuttleConfig* config, const AliCDBParam* param,
31                 UInt_t timeout = 5000, Int_t retries = 5);
32         virtual ~AliShuttle();
33
34         void RegisterCDBPreProcessor(AliCDBPreProcessor* processor);
35         
36         void Process(Int_t run, UInt_t startTime, UInt_t endTime);
37         void Process(Int_t run, UInt_t startTime, UInt_t endTime,
38                 const char* detector);
39
40         Int_t GetCurrentRun() const {return fCurrentRun;};
41         UInt_t GetCurrentStartTime() const {return fCurrentStartTime;};
42         UInt_t GetCurrentEndTime() const {return fCurrentEndTime;};
43
44         Bool_t Store(const char* detector, const char* detSpec,
45                         TObject* object, AliCDBMetaData* metaData);
46
47 private:
48         const AliShuttleConfig* fConfig;
49         AliCDBStorage* fStorage;
50         UInt_t fTimeout;
51         Int_t fRetries;
52         
53         TMap fPreProcessorMap;  
54
55         Int_t fCurrentRun;
56         UInt_t fCurrentStartTime;
57         UInt_t fCurrentEndTime;
58
59         Bool_t GetValueSet(const char* host, Int_t port, const char* alias,
60                         TList& result);
61         
62         ClassDef(AliShuttle, 0);
63 };
64
65 #endif