]>
Commit | Line | Data |
---|---|---|
310c7637 | 1 | //-*- Mode: C++ -*- |
3dd8541e | 2 | // @(#) $Id$ |
310c7637 | 3 | |
4 | #ifndef ALIHLTSHUTTLEINTERFACE_H | |
5 | #define ALIHLTSHUTTLEINTERFACE_H | |
6 | //* This file is property of and copyright by the ALICE HLT Project * | |
7 | //* ALICE Experiment at CERN, All rights reserved. * | |
8 | //* See cxx source for full Copyright notice * | |
9 | ||
10 | /** | |
11 | * @file AliHLTShuttleInterface.h | |
12 | * @author Matthias Richter | |
13 | * @date 2008-01-22 | |
14 | * @brief Pure virtual interface to the HLT shuttle methods | |
15 | */ | |
16 | ||
17 | // see below for class documentation | |
18 | // or | |
19 | // refer to README to build package | |
20 | // or | |
21 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
22 | ||
23 | #include "TObject.h" | |
24 | ||
25 | class AliHLTPreprocessor; | |
26 | class TMap; | |
27 | class AliCDBMetaData; | |
28 | class AliCDBEntry; | |
29 | ||
30 | /** | |
31 | * @class AliHLTShuttleInterface | |
32 | * This class implements the redirection of the shuttle access methods for | |
33 | * AliHLTModulePreprocessor classes. The AliHLTShuttleInterface has been | |
34 | * declared pure virtual to avoid dependencies between the libHLTshuttle and | |
35 | * the component libraries. It implements the same interface to the shuttle | |
36 | * as the AliPreprocessor. | |
37 | * | |
38 | * The AliHLTPreprocessor initializes each AliHLTModulePreprocessor with this | |
39 | * interface. From the interface methods of AliHLTModulePreprocessor classes, | |
40 | * the call is redirected via AliHLTShuttleInterface to the AliHLTPreprocessor, | |
41 | * which makes the methods publicly available AliPreprocessor. | |
42 | * | |
43 | * @author Matthias Richter | |
44 | */ | |
45 | class AliHLTShuttleInterface | |
46 | { | |
47 | public: | |
48 | /** Constructor*/ | |
49 | AliHLTShuttleInterface(); | |
50 | /** Destructor */ | |
51 | virtual ~AliHLTShuttleInterface(); | |
52 | ||
53 | /** Get the run no */ | |
54 | virtual Int_t PreprocessorGetRun() = 0; | |
55 | ||
56 | /** Get the start time */ | |
57 | virtual UInt_t PreprocessorGetStartTime() = 0; | |
58 | ||
59 | /** Get the end time */ | |
60 | virtual UInt_t PreprocessorGetEndTime() = 0; | |
61 | ||
62 | // the AliPreprocessor interface, all functions redirected via the | |
63 | // AliHLTPreprocessor | |
64 | virtual Bool_t PreprocessorStore(const char* pathLevel2, const char* pathLevel3, TObject* object, | |
65 | AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE) = 0; | |
66 | virtual Bool_t PreprocessorStoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object, | |
67 | AliCDBMetaData* metaData) = 0; | |
68 | virtual Bool_t PreprocessorStoreReferenceFile(const char* localFile, const char* gridFileName) = 0; | |
69 | ||
70 | virtual Bool_t PreprocessorStoreRunMetadataFile(const char* localFile, const char* gridFileName) = 0; | |
71 | ||
72 | virtual const char* PreprocessorGetFile(Int_t system, const char* id, const char* source) = 0; | |
73 | ||
74 | virtual TList* PreprocessorGetFileSources(Int_t system, const char* id = 0) = 0; | |
75 | ||
76 | virtual TList* PreprocessorGetFileIDs(Int_t system, const char* source) = 0; | |
77 | ||
78 | virtual const char* PreprocessorGetRunParameter(const char* param) = 0; | |
79 | ||
80 | virtual AliCDBEntry* PreprocessorGetFromOCDB(const char* pathLevel2, const char* pathLevel3) = 0; | |
81 | ||
82 | virtual const char* PreprocessorGetRunType() = 0; | |
83 | ||
84 | virtual void PreprocessorLog(const char* message) = 0; | |
85 | ||
86 | protected: | |
87 | ||
88 | private: | |
89 | /** copy constructor prohibited */ | |
90 | AliHLTShuttleInterface(const AliHLTShuttleInterface&); | |
91 | /** assignment operator prohibited */ | |
92 | AliHLTShuttleInterface& operator=(const AliHLTShuttleInterface&); | |
93 | ||
94 | ClassDef(AliHLTShuttleInterface, 0); | |
95 | }; | |
96 | #endif |