]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/AliHLTConfigurationHandler.h
Air with increased transport cuts close to qb28.
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTConfigurationHandler.h
CommitLineData
c38ba6f9 1// $Id$
2
3#ifndef ALIHLTCONFIGURATIONHANDLER_H
4#define ALIHLTCONFIGURATIONHANDLER_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8/** @file AliHLTConfigurationHandler.h
9 @author Matthias Richter
10 @date
b22e91eb 11 @brief Global handling of HLT configurations.
c38ba6f9 12*/
13
c38ba6f9 14#include <TList.h>
c38ba6f9 15
52c1c164 16class AliHLTConfiguration;
17
b22e91eb 18/**
19 * @class AliHLTConfigurationHandler
20 * @brief Global Handling of HLT configurations.
21 *
22 * This class implements the global handling of @ref AliHLTConfiguration objects.
23 * It is a list of all configuartion descriptor currently available in the system.
24 * Each @ref AliHLTConfiguration object is registerd automatically with the
25 * handler and put into the list.
26 *
27 * @note This class is only used for the @ref alihlt_system.
28 *
29 * @ingroup alihlt_system
30 */
c38ba6f9 31class AliHLTConfigurationHandler : public AliHLTLogging {
32 public:
b22e91eb 33 /** standard constructor */
c38ba6f9 34 AliHLTConfigurationHandler();
b22e91eb 35
c38ba6f9 36 //AliHLTConfigurationHandler(AliHLTConfiguration* pConf);
b22e91eb 37
38 /** destructor */
c38ba6f9 39 virtual ~AliHLTConfigurationHandler();
40
41 /*****************************************************************************
42 * registration
43 */
44
b22e91eb 45 /**
46 * Register a configuration to the global list of configurations.
47 * @param pConf The configuration to register
48 */
c38ba6f9 49 int RegisterConfiguration(AliHLTConfiguration* pConf);
50
b22e91eb 51 /**
52 * Create a configuration and register it.
53 * @param id
54 * @param component
55 * @param sources
56 * @param arguments
57 */
c38ba6f9 58 int CreateConfiguration(const char* id, const char* component, const char* sources, const char* arguments);
59
b22e91eb 60 /**
61 * Remove a configuration from the global list.
62 * @param pConf The configuration to remove
63 */
c38ba6f9 64 int RemoveConfiguration(AliHLTConfiguration* pConf);
b22e91eb 65
66 /**
67 * Remove a configuration from the global list.
68 * @param id The configuration to remove
69 */
c38ba6f9 70 int RemoveConfiguration(const char* id);
71
b22e91eb 72 /**
73 * Find a configuration from the global list.
74 * @param id Id of the configuration to find
75 */
c38ba6f9 76 AliHLTConfiguration* FindConfiguration(const char* id);
77
b22e91eb 78 /**
79 * Print the registered configurations to the logging function.
80 */
c38ba6f9 81 void PrintConfigurations();
82
83
84 private:
b22e91eb 85 /** the list of registered configurations */
fc455fba 86 TList fgListConfigurations; // see above
c38ba6f9 87
fc455fba 88 ClassDef(AliHLTConfigurationHandler, 1);
c38ba6f9 89};
90
91#endif