moved HLT preprocessor to libHLTshuttle; added HLT module preprocessor framework...
[u/mrichter/AliRoot.git] / HLT / shuttle / AliHLTModulePreprocessor.cxx
1 // $Id: AliHLTModulePreprocessor.cxx 23039 2007-12-13 20:53:02Z richterm $
2
3 //**************************************************************************
4 //* This file is property of and copyright by the ALICE HLT Project        * 
5 //* ALICE Experiment at CERN, All rights reserved.                         *
6 //*                                                                        *
7 //* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
8 //*                  for The ALICE HLT Project.                            *
9 //*                                                                        *
10 //* Permission to use, copy, modify and distribute this software and its   *
11 //* documentation strictly for non-commercial purposes is hereby granted   *
12 //* without fee, provided that the above copyright notice appears in all   *
13 //* copies and that both the copyright notice and this permission notice   *
14 //* appear in the supporting documentation. The authors make no claims     *
15 //* about the suitability of this software for any purpose. It is          *
16 //* provided "as is" without express or implied warranty.                  *
17 //**************************************************************************
18
19 /**
20  * @file   AliHLTModulePreprocessor.cxx
21  * @author Matthias Richter
22  * @date   2008-01-22
23  * @brief  Base class for HLT module preprocessors
24  */
25
26 #include <cassert>
27 #include "AliHLTModulePreprocessor.h"
28 #include "AliHLTPreprocessor.h"
29
30 ClassImp(AliHLTModulePreprocessor)
31
32 AliHLTModulePreprocessor::AliHLTModulePreprocessor() 
33   :
34   fpContainer(NULL)
35 {
36   // see header file for class documentation
37   // or
38   // refer to README to build package
39   // or
40   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
41 }
42
43 AliHLTModulePreprocessor::~AliHLTModulePreprocessor() 
44 {
45   // see header file for function documentation
46 }
47
48 void AliHLTModulePreprocessor::SetContainer(AliHLTPreprocessor* pContainer)
49 {
50   assert(fpContainer==NULL || fpContainer==pContainer || pContainer==NULL);
51   fpContainer=pContainer;
52 }
53
54 Int_t AliHLTModulePreprocessor::GetRun()
55 {
56   // see header file for function documentation
57
58   assert(fpContainer);
59   if (!fpContainer) return 0;
60   return fpContainer->GetRun();
61 }
62
63 UInt_t AliHLTModulePreprocessor::GetStartTime()
64 {
65   // see header file for function documentation
66
67   assert(fpContainer);
68   if (!fpContainer) return 0;
69   return fpContainer->GetStartTime();
70 }
71
72 UInt_t AliHLTModulePreprocessor::GetEndTime()
73 {
74   // see header file for function documentation
75
76   assert(fpContainer);
77   if (!fpContainer) return 0;
78   return fpContainer->GetEndTime();
79 }
80
81 Bool_t AliHLTModulePreprocessor::Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
82                                  AliCDBMetaData* metaData, Int_t validityStart, Bool_t validityInfinite)
83 {
84   // see header file for function documentation
85
86   assert(fpContainer);
87   if (!fpContainer) return 0;
88   return fpContainer->Store(pathLevel2, pathLevel3, object, metaData, validityStart, validityInfinite);
89 }
90
91 Bool_t AliHLTModulePreprocessor::StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
92                                               AliCDBMetaData* metaData)
93 {
94   // see header file for function documentation
95
96   assert(fpContainer);
97   if (!fpContainer) return 0;
98   return fpContainer->StoreReferenceData(pathLevel2, pathLevel3, object, metaData);
99 }
100
101 Bool_t AliHLTModulePreprocessor::StoreReferenceFile(const char* localFile, const char* gridFileName)
102 {
103   // see header file for function documentation
104
105   assert(fpContainer);
106   if (!fpContainer) return 0;
107   return fpContainer->StoreReferenceFile(localFile, gridFileName);
108 }
109
110 Bool_t AliHLTModulePreprocessor::StoreRunMetadataFile(const char* localFile, const char* gridFileName)
111 {
112   // see header file for function documentation
113
114   assert(fpContainer);
115   if (!fpContainer) return 0;
116   return fpContainer->StoreRunMetadataFile(localFile, gridFileName);
117 }
118     
119 const char* AliHLTModulePreprocessor::GetFile(Int_t system, const char* id, const char* source)
120 {
121   // see header file for function documentation
122
123   assert(fpContainer);
124   if (!fpContainer) return 0;
125   return fpContainer->GetFile(system, id, source);
126 }
127
128 TList* AliHLTModulePreprocessor::GetFileSources(Int_t system, const char* id)
129 {
130   // see header file for function documentation
131
132   assert(fpContainer);
133   if (!fpContainer) return 0;
134   return fpContainer->GetFileSources(system, id);
135 }
136
137 TList* AliHLTModulePreprocessor::GetFileIDs(Int_t system, const char* source)
138 {
139   // see header file for function documentation
140
141   assert(fpContainer);
142   if (!fpContainer) return 0;
143   return fpContainer->GetFileIDs(system, source);
144 }
145
146 const char* AliHLTModulePreprocessor::GetRunParameter(const char* param)
147 {
148   // see header file for function documentation
149
150   assert(fpContainer);
151   if (!fpContainer) return 0;
152   return fpContainer->GetRunParameter(param);
153 }
154
155 AliCDBEntry* AliHLTModulePreprocessor::GetFromOCDB(const char* pathLevel2, const char* pathLevel3)
156 {
157   // see header file for function documentation
158
159   assert(fpContainer);
160   if (!fpContainer) return 0;
161   return fpContainer->GetFromOCDB(pathLevel2, pathLevel3);
162 }
163
164 const char* AliHLTModulePreprocessor::GetRunType()
165 {
166   // see header file for function documentation
167
168   assert(fpContainer);
169   if (!fpContainer) return 0;
170   return fpContainer->GetRunType();
171 }
172
173 void AliHLTModulePreprocessor::Log(const char* message)
174 {
175   // see header file for function documentation
176
177   assert(fpContainer);
178   if (!fpContainer) return;
179   fpContainer->Log(message);
180 }