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