]>
Commit | Line | Data |
---|---|---|
2b545cdd | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
6634349e | 3 | |
4 | #ifndef ALIHLTMISC_H | |
5 | #define ALIHLTMISC_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 | ||
2b545cdd | 10 | /// @file AliHLTMisc.h |
11 | /// @author Matthias Richter | |
12 | /// @date | |
13 | /// @brief Definition of various glue functions implemented in dynamically | |
14 | /// loaded libraries | |
15 | ||
16 | #include "TObject.h" | |
17 | ||
18 | class AliCDBManager; | |
19 | class AliCDBEntry; | |
20 | ||
21 | class AliHLTMisc : public TObject { | |
22 | public: | |
23 | AliHLTMisc(); | |
24 | ~AliHLTMisc(); | |
25 | ||
26 | template<class T> | |
27 | static T* LoadInstance(const T* dummy, const char* classname, const char* library); | |
28 | ||
29 | static AliHLTMisc& Instance(); | |
30 | ||
31 | virtual int InitCDB(const char* cdbpath); | |
32 | ||
33 | virtual int SetCDBRunNo(int runNo); | |
34 | ||
35 | virtual AliCDBEntry* LoadOCDBEntry(const char* path, int runNo=-1, int version = -1, int subVersion = -1); | |
36 | ||
37 | virtual TObject* ExtractObject(AliCDBEntry* entry); | |
38 | ||
39 | private: | |
40 | static AliHLTMisc* fgInstance; | |
41 | ||
42 | ClassDef(AliHLTMisc, 0) | |
43 | }; | |
6634349e | 44 | |
45 | #define ALIHLTMISC_LIBRARY "libHLTrec.so" | |
46 | #define ALIHLTMISC_INIT_CDB "AliHLTMiscInitCDB" | |
47 | #define ALIHLTMISC_SET_CDB_RUNNO "AliHLTMiscSetCDBRunNo" | |
48 | ||
49 | #ifdef __cplusplus | |
50 | extern "C" { | |
51 | #endif | |
52 | ||
53 | /** | |
54 | * Init the CDB access for the running instance. | |
55 | * The method is used from the C wrapper interface utilized by the on-line | |
56 | * framework. The path of the (H)CDB is set to the specified path.<br> | |
57 | * When running from AliRoot, the CDB path is set in the startup of the | |
703bcca6 | 58 | * reconstruction.<br> |
59 | * If cdbpath is nil or empty and the CDB is not already initialized, the | |
162637e4 | 60 | * CDB storage is set to local://$ALICE_ROOT/OCDB and the run no to 0. |
6634349e | 61 | * @param cdbpath path to the CDB |
62 | * @return neg. error code if failed | |
63 | * @note function implemented in libHLTrec | |
64 | */ | |
65 | int AliHLTMiscInitCDB(const char* cdbpath); | |
66 | typedef int (*AliHLTMiscInitCDB_t)(const char* cdbpath); | |
67 | ||
6634349e | 68 | /** |
69 | * Init the Run no for the CDB access. | |
7e914051 | 70 | * @param runNo the run no |
6634349e | 71 | * @return neg. error code if failed |
72 | * @note function implemented in libHLTrec | |
73 | */ | |
74 | int AliHLTMiscSetCDBRunNo(int runNo); | |
75 | typedef int (*AliHLTMiscSetCDBRunNo_t)(int runNo); | |
76 | ||
77 | #ifdef __cplusplus | |
78 | } | |
79 | #endif | |
80 | #endif //ALIHLTMISC_H |