- adapted to AliRoot logging system, messages printed out via AliRoot
[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
b22e91eb 16/**
17 * @class AliHLTConfigurationHandler
18 * @brief Global Handling of HLT configurations.
19 *
20 * This class implements the global handling of @ref AliHLTConfiguration objects.
21 * It is a list of all configuartion descriptor currently available in the system.
22 * Each @ref AliHLTConfiguration object is registerd automatically with the
23 * handler and put into the list.
24 *
25 * @note This class is only used for the @ref alihlt_system.
26 *
27 * @ingroup alihlt_system
28 */
c38ba6f9 29class AliHLTConfigurationHandler : public AliHLTLogging {
30 public:
b22e91eb 31 /** standard constructor */
c38ba6f9 32 AliHLTConfigurationHandler();
b22e91eb 33
c38ba6f9 34 //AliHLTConfigurationHandler(AliHLTConfiguration* pConf);
b22e91eb 35
36 /** destructor */
c38ba6f9 37 virtual ~AliHLTConfigurationHandler();
38
39 /*****************************************************************************
40 * registration
41 */
42
b22e91eb 43 /**
44 * Register a configuration to the global list of configurations.
45 * @param pConf The configuration to register
46 */
c38ba6f9 47 int RegisterConfiguration(AliHLTConfiguration* pConf);
48
b22e91eb 49 /**
50 * Create a configuration and register it.
51 * @param id
52 * @param component
53 * @param sources
54 * @param arguments
55 */
c38ba6f9 56 int CreateConfiguration(const char* id, const char* component, const char* sources, const char* arguments);
57
b22e91eb 58 /**
59 * Remove a configuration from the global list.
60 * @param pConf The configuration to remove
61 */
c38ba6f9 62 int RemoveConfiguration(AliHLTConfiguration* pConf);
b22e91eb 63
64 /**
65 * Remove a configuration from the global list.
66 * @param id The configuration to remove
67 */
c38ba6f9 68 int RemoveConfiguration(const char* id);
69
b22e91eb 70 /**
71 * Find a configuration from the global list.
72 * @param id Id of the configuration to find
73 */
c38ba6f9 74 AliHLTConfiguration* FindConfiguration(const char* id);
75
b22e91eb 76 /**
77 * Print the registered configurations to the logging function.
78 */
c38ba6f9 79 void PrintConfigurations();
80
81
82 private:
b22e91eb 83 /** the list of registered configurations */
fc455fba 84 TList fgListConfigurations; // see above
c38ba6f9 85
fc455fba 86 ClassDef(AliHLTConfigurationHandler, 1);
c38ba6f9 87};
88
89#endif