]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/BASE/util/AliHLTAgentUtil.h
correct compilation warnings
[u/mrichter/AliRoot.git] / HLT / BASE / util / AliHLTAgentUtil.h
1 // @(#) $Id$
2
3 #ifndef ALIHLTAGENTUTIL_H
4 #define ALIHLTAGENTUTIL_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /** @file   AliHLTAgentUtil.h
9     @author Matthias Richter
10     @date   
11     @brief  Agent of the libAliHLTUtil library
12 */
13
14 #include "AliHLTModuleAgent.h"
15
16 class AliHLTOUTHandler;
17
18 /**
19  * @class AliHLTAgentUtil
20  * This is the agent for the AliHLTUtil library.
21  *
22  * @ingroup alihlt_system
23  */
24 class AliHLTAgentUtil : public AliHLTModuleAgent {
25  public:
26   /**
27    * standard constructor. The agent is automatically registered in the
28    * global agent manager
29    */
30   AliHLTAgentUtil();
31   /** destructor */
32   virtual ~AliHLTAgentUtil();
33
34   /**
35    * Register all configurations belonging to this module with the
36    * AliHLTConfigurationHandler. The agent can adapt the configurations
37    * to be registered to the current AliRoot setup by checking the
38    * runloader.
39    * @param handler   [in] the configuration handler
40    * @param rawReader [in] AliRoot RawReader instance 
41    * @param runloader [in] AliRoot runloader
42    * @return neg. error code if failed
43    */
44   int CreateConfigurations(AliHLTConfigurationHandler* handler,
45                            AliRawReader* rawReader=NULL,
46                            AliRunLoader* runloader=NULL) const;
47
48   /**
49    * Get the top configurations belonging to this module.
50    * A top configuration describes a processing chain. It can simply be
51    * described by the last configuration(s) in the chain. 
52    * The agent can adapt the configurations to be registered to the current
53    * AliRoot setup by checking the runloader.
54    * @param rawReader [in] AliRoot RawReader instance 
55    * @param runloader [in] AliRoot runloader
56    * @return string containing the top configurations separated by blanks
57    */
58   const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
59                                       AliRunLoader* runloader=NULL) const;
60   /**
61    * Component libraries which the configurations of this agent depend on.
62    * @return list of component libraries as a blank-separated string.
63    */
64   const char* GetRequiredComponentLibraries() const;
65
66   /**
67    * Register components for the AliHLTUtil library.
68    * @param pHandler  [in] instance of the component handler          
69    */
70   int RegisterComponents(AliHLTComponentHandler* pHandler) const;
71
72   int GetHandlerDescription(AliHLTComponentDataType dt,
73                             AliHLTUInt32_t spec,
74                             AliHLTOUTHandlerDesc& desc) const;
75
76   AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt, AliHLTUInt32_t spec);
77
78   int DeleteOutputHandler(AliHLTOUTHandler* pInstance);
79
80  protected:
81
82  private:
83   /** copy constructor prohibited */
84   AliHLTAgentUtil(const AliHLTAgentUtil&);
85   /** assignment operator prohibited */
86   AliHLTAgentUtil& operator=(const AliHLTAgentUtil&);
87
88   /** the one and only handler for compstat blocks */
89   AliHLTOUTHandler* fCompStatDataHandler; //!transient
90   
91   ClassDef(AliHLTAgentUtil, 1);
92 };
93
94 #endif