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.
17 * @class AliHLTConfigurationHandler
18 * @brief Global Handling of HLT configurations.
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.
25 * @note This class is only used for the @ref alihlt_system.
27 * @ingroup alihlt_system
29 class AliHLTConfigurationHandler : public AliHLTLogging {
31 /** standard constructor */
32 AliHLTConfigurationHandler();
34 //AliHLTConfigurationHandler(AliHLTConfiguration* pConf);
37 virtual ~AliHLTConfigurationHandler();
39 /*****************************************************************************
44 * Register a configuration to the global list of configurations.
45 * @param pConf The configuration to register
47 int RegisterConfiguration(AliHLTConfiguration* pConf);
50 * Create a configuration and register it.
56 int CreateConfiguration(const char* id, const char* component, const char* sources, const char* arguments);
59 * Remove a configuration from the global list.
60 * @param pConf The configuration to remove
62 int RemoveConfiguration(AliHLTConfiguration* pConf);
65 * Remove a configuration from the global list.
66 * @param id The configuration to remove
68 int RemoveConfiguration(const char* id);
71 * Find a configuration from the global list.
72 * @param id Id of the configuration to find
74 AliHLTConfiguration* FindConfiguration(const char* id);
77 * Print the registered configurations to the logging function.
79 void PrintConfigurations();
83 /** the list of registered configurations */
84 static TList fgListConfigurations; // see above
85 /** the list of dynamic configurations (for proper cleanup) */
86 static TList fgListDynamicConfigurations; // see above
88 ClassDef(AliHLTConfigurationHandler, 0);