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 */
8 /** @file AliHLTConfigurationHandler.h
9 @author Matthias Richter
11 @brief Global handling of HLT configurations.
14 /* #include <cerrno> */
17 /* #include "AliHLTDataTypes.h" */
18 /* #include "AliHLTLogging.h" */
19 /* #include "AliHLTDataBuffer.h" */
22 * @class AliHLTConfigurationHandler
23 * @brief Global Handling of HLT configurations.
25 * This class implements the global handling of @ref AliHLTConfiguration objects.
26 * It is a list of all configuartion descriptor currently available in the system.
27 * Each @ref AliHLTConfiguration object is registerd automatically with the
28 * handler and put into the list.
30 * @note This class is only used for the @ref alihlt_system.
32 * @ingroup alihlt_system
34 class AliHLTConfigurationHandler : public AliHLTLogging {
36 /** standard constructor */
37 AliHLTConfigurationHandler();
39 //AliHLTConfigurationHandler(AliHLTConfiguration* pConf);
42 virtual ~AliHLTConfigurationHandler();
44 /*****************************************************************************
49 * Register a configuration to the global list of configurations.
50 * @param pConf The configuration to register
52 int RegisterConfiguration(AliHLTConfiguration* pConf);
55 * Create a configuration and register it.
61 int CreateConfiguration(const char* id, const char* component, const char* sources, const char* arguments);
64 * Remove a configuration from the global list.
65 * @param pConf The configuration to remove
67 int RemoveConfiguration(AliHLTConfiguration* pConf);
70 * Remove a configuration from the global list.
71 * @param id The configuration to remove
73 int RemoveConfiguration(const char* id);
76 * Find a configuration from the global list.
77 * @param id Id of the configuration to find
79 AliHLTConfiguration* FindConfiguration(const char* id);
82 * Print the registered configurations to the logging function.
84 void PrintConfigurations();
88 /** the list of registered configurations */
89 static TList fListConfigurations;
90 /** the list of dynamic configurations (for proper cleanup) */
91 static TList fListDynamicConfigurations;
93 ClassDef(AliHLTConfigurationHandler, 0);