]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/AliHLTGlobalAgent.h
b58596768476609063ff2f0c3554ef492d9e280b
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalAgent.h
1 // $Id$
2
3 #ifndef ALIHLTGLOBALAGENT_H
4 #define ALIHLTGLOBALAGENT_H
5 //* This file is property of and copyright by the ALICE HLT Project        * 
6 //* ALICE Experiment at CERN, All rights reserved.                         *
7 //* See cxx source for full Copyright notice                               */
8
9 /** @file   AliHLTGlobalAgent.h
10     @author Matthias Richter
11     @date   
12     @brief  Agent of the libAliHLTGlobal library
13 */
14
15 #include "AliHLTModuleAgent.h"
16
17 class AliHLTOUTHandler;
18
19 /**
20  * @class AliHLTGlobalAgent
21  * This is the agent for the AliHLTGlobal library.
22  *
23  * @ingroup alihlt_system
24  */
25 class AliHLTGlobalAgent : public AliHLTModuleAgent {
26  public:
27   /**
28    * standard constructor. The agent is automatically registered in the
29    * global agent manager
30    */
31   AliHLTGlobalAgent();
32   /** destructor */
33   virtual ~AliHLTGlobalAgent();
34
35   int RegisterComponents(AliHLTComponentHandler* pHandler) const;
36
37   int GetHandlerDescription(AliHLTComponentDataType dt,
38                             AliHLTUInt32_t spec,
39                             AliHLTOUTHandlerDesc& desc) const;
40
41   AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt, AliHLTUInt32_t spec);
42
43   int DeleteOutputHandler(AliHLTOUTHandler* pInstance);
44
45  protected:
46
47  private:
48   /** copy constructor prohibited */
49   AliHLTGlobalAgent(const AliHLTGlobalAgent&);
50   /** assignment operator prohibited */
51   AliHLTGlobalAgent& operator=(const AliHLTGlobalAgent&);
52
53   ClassDef(AliHLTGlobalAgent, 0);
54 };
55
56 #endif