]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/BASE/AliHLTConfigurationHandler.h
Minor cleanup of code.
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTConfigurationHandler.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTCONFIGURATIONHANDLER_H
5 #define ALIHLTCONFIGURATIONHANDLER_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   AliHLTConfigurationHandler.h
11     @author Matthias Richter
12     @date   
13     @brief  Global handling of HLT configurations.
14 */
15
16 // see below for class documentation
17 // or
18 // refer to README to build package
19 // or
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
21
22 #include <TList.h>
23
24 #include "AliHLTLogging.h"
25 class AliHLTConfiguration;
26
27 /**
28  * @class AliHLTConfigurationHandler
29  * @brief Global Handling of HLT configurations.
30  *
31  * This class implements the global handling of @ref AliHLTConfiguration objects.
32  * It is a list of all configuartion descriptor currently available in the system.
33  * Each @ref AliHLTConfiguration object is registerd automatically with the
34  * handler and put into the list.
35  *
36  * @note This class is only used for the @ref alihlt_system.
37  *
38  * @ingroup alihlt_system
39  */
40 class AliHLTConfigurationHandler : public AliHLTLogging {
41  public:
42   /** standard constructor */
43   AliHLTConfigurationHandler();
44   
45   //AliHLTConfigurationHandler(AliHLTConfiguration* pConf);
46
47   /** destructor */
48   virtual ~AliHLTConfigurationHandler();
49
50   /*****************************************************************************
51    * registration
52    */
53
54   /**
55    * Register a configuration to the global list of configurations.
56    * @param pConf     The configuration to register
57    */
58   int RegisterConfiguration(AliHLTConfiguration* pConf);
59
60   /**
61    * Create a configuration and register it.
62    * @param id
63    * @param component
64    * @param sources
65    * @param arguments
66    */
67   int CreateConfiguration(const char* id, const char* component, const char* sources, const char* arguments);
68
69   /**
70    * Remove a configuration from the global list.
71    * @param pConf     The configuration to remove
72    */
73   int RemoveConfiguration(AliHLTConfiguration* pConf);
74
75   /**
76    * Remove a configuration from the global list.
77    * @param id     The configuration to remove
78    */
79   int RemoveConfiguration(const char* id);
80
81   /**
82    * Find a configuration from the global list.
83    * @param id     Id of the configuration to find
84    */
85   AliHLTConfiguration* FindConfiguration(const char* id);
86
87   /**
88    * Print the registered configurations to the logging function.
89    */
90   void PrintConfigurations();
91
92
93  private:
94   /** the list of registered configurations */
95   TList fgListConfigurations;                              // see above
96
97   ClassDef(AliHLTConfigurationHandler, 1);
98 };
99
100 #endif