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 */
10 /** @file AliHLTConfigurationHandler.h
11 @author Matthias Richter
13 @brief Global handling of HLT configurations.
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
24 #include "AliHLTLogging.h"
25 class AliHLTConfiguration;
28 * @class AliHLTConfigurationHandler
29 * @brief Global Handling of HLT configurations.
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.
36 * @note This class is only used for the @ref alihlt_system.
38 * @ingroup alihlt_system
40 class AliHLTConfigurationHandler : public AliHLTLogging {
42 /** standard constructor */
43 AliHLTConfigurationHandler();
45 //AliHLTConfigurationHandler(AliHLTConfiguration* pConf);
48 virtual ~AliHLTConfigurationHandler();
50 /*****************************************************************************
55 * Create an instance from the global sigleton.
56 * Instance has to be destroyed by the Destroy function
58 static AliHLTConfigurationHandler* CreateHandler();
61 * Destroy an instance of the global singleton retrieved by
62 * AliHLTConfigurationHandler::CreateHandler()
66 /*****************************************************************************
71 * Register a configuration to the global list of configurations.
72 * @param pConf The configuration to register
74 int RegisterConfiguration(AliHLTConfiguration* pConf);
77 * Create a configuration and register it.
83 int CreateConfiguration(const char* id, const char* component, const char* sources, const char* arguments);
86 * Remove a configuration from the global list.
87 * @param pConf The configuration to remove
89 int RemoveConfiguration(AliHLTConfiguration* pConf);
92 * Remove a configuration from the global list.
93 * @param id The configuration to remove
95 int RemoveConfiguration(const char* id);
98 * Find a configuration from the global list.
99 * @param id Id of the configuration to find
101 AliHLTConfiguration* FindConfiguration(const char* id);
104 * Print the registered configurations to the logging function.
106 void PrintConfigurations();
110 /** the list of registered configurations */
111 TList fgListConfigurations; // see above
113 /** the global singleton */
114 static AliHLTConfigurationHandler* fgpInstance; //!transient
115 /** number of used instances of the global singleton */
116 static int fgNofInstances; //!transient
118 ClassDef(AliHLTConfigurationHandler, 2);