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 *
11 * @file AliHLTShuttleInterface.h
12 * @author Matthias Richter
14 * @brief Pure virtual interface to the HLT shuttle methods
17 // see below for class documentation
19 // refer to README to build package
21 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
25 class AliHLTPreprocessor;
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.
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.
43 * @author Matthias Richter
45 class AliHLTShuttleInterface
49 AliHLTShuttleInterface();
51 virtual ~AliHLTShuttleInterface();
54 virtual Int_t PreprocessorGetRun() = 0;
56 /** Get the start time */
57 virtual UInt_t PreprocessorGetStartTime() = 0;
59 /** Get the end time */
60 virtual UInt_t PreprocessorGetEndTime() = 0;
62 // the AliPreprocessor interface, all functions redirected via the
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;
70 virtual Bool_t PreprocessorStoreRunMetadataFile(const char* localFile, const char* gridFileName) = 0;
72 virtual const char* PreprocessorGetFile(Int_t system, const char* id, const char* source) = 0;
74 virtual TList* PreprocessorGetFileSources(Int_t system, const char* id = 0) = 0;
76 virtual TList* PreprocessorGetFileIDs(Int_t system, const char* source) = 0;
78 virtual const char* PreprocessorGetRunParameter(const char* param) = 0;
80 virtual AliCDBEntry* PreprocessorGetFromOCDB(const char* pathLevel2, const char* pathLevel3) = 0;
82 virtual const char* PreprocessorGetRunType() = 0;
84 virtual void PreprocessorLog(const char* message) = 0;
89 /** copy constructor prohibited */
90 AliHLTShuttleInterface(const AliHLTShuttleInterface&);
91 /** assignment operator prohibited */
92 AliHLTShuttleInterface& operator=(const AliHLTShuttleInterface&);
94 ClassDef(AliHLTShuttleInterface, 0);