]>
Commit | Line | Data |
---|---|---|
6580df1c | 1 | //-*- Mode: C++ -*- |
2 | // @(#) $Id$ | |
3 | ||
4 | #ifndef ALIHLTHOMERLIBMANAGER_H | |
5 | #define ALIHLTHOMERLIBMANAGER_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 | /** @file AliHLTHOMERLibManager.h | |
11 | @author Matthias Richter | |
12 | @date | |
13 | @brief dynamic HLT HOMER reader/writer generation and destruction | |
14 | ||
15 | // see below for class documentation | |
16 | // or | |
17 | // refer to README to build package | |
18 | // or | |
19 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
20 | */ | |
21 | ||
22 | #include "AliHLTLogging.h" | |
23 | ||
24 | class AliHLTHOMERReader; | |
25 | class AliHLTHOMERWriter; | |
26 | ||
27 | /** | |
28 | * @class AliHLTHOMERLibManager | |
29 | * Handler of HLTOUT data for buffer input. | |
30 | */ | |
31 | class AliHLTHOMERLibManager : public AliHLTLogging { | |
32 | public: | |
33 | /** standard constructor */ | |
34 | AliHLTHOMERLibManager(); | |
35 | /** destructor */ | |
36 | virtual ~AliHLTHOMERLibManager(); | |
37 | ||
38 | /** | |
39 | * Open a HOMER reader. | |
40 | * Load HOMER library dynamically and create object working on the provided | |
41 | * buffer. | |
42 | */ | |
43 | AliHLTHOMERReader* OpenReader(const AliHLTUInt8_t* pBuffer, int size); | |
44 | ||
45 | /** | |
46 | * Delete a HOMER reader. | |
47 | * Clean-up of the object is done inside the HOMER library. | |
48 | */ | |
49 | int DeleteReader(AliHLTHOMERReader* pReader); | |
50 | ||
51 | /** | |
52 | * Open a HOMER writer. | |
53 | * Load HOMER library dynamically and create object working on the provided | |
54 | * buffer. | |
55 | */ | |
56 | AliHLTHOMERWriter* OpenWriter(); | |
57 | ||
58 | /** | |
59 | * Delete a HOMER writer. | |
60 | * Clean-up of the object is done inside the HOMER library. | |
61 | */ | |
62 | int DeleteWriter(AliHLTHOMERWriter* pWriter); | |
63 | ||
64 | protected: | |
65 | ||
66 | private: | |
67 | /** copy constructor prohibited */ | |
68 | AliHLTHOMERLibManager(const AliHLTHOMERLibManager&); | |
69 | /** assignment operator prohibited */ | |
70 | AliHLTHOMERLibManager& operator=(const AliHLTHOMERLibManager&); | |
71 | ||
72 | /** | |
73 | * Load the HOMER library. | |
74 | */ | |
75 | int LoadHOMERLibrary(); | |
76 | ||
77 | /** status of the loading of the HOMER library */ | |
78 | int fLibraryStatus; //!transient | |
79 | ||
80 | /** entry in the HOMER library */ | |
81 | void* fFctCreateReaderFromBuffer; //!transient | |
82 | ||
83 | /** entry in the HOMER library */ | |
84 | void* fFctDeleteReader; //!transient | |
85 | ||
86 | /** entry in the HOMER library */ | |
87 | void* fFctCreateWriter; //!transient | |
88 | ||
89 | /** entry in the HOMER library */ | |
90 | void* fFctDeleteWriter; //!transient | |
91 | ||
92 | ClassDef(AliHLTHOMERLibManager, 0) | |
93 | }; | |
94 | #endif |