logging class extended and macros for easy log messages introduced, code changed...
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTSystem.h
CommitLineData
f23a6e1a 1// @(#) $Id$
2
3#ifndef ALIHLTSYSTEM_H
4#define ALIHLTSYSTEM_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8/* AliHLTComponentHandler
9 global HLT module management
10 */
11
12
13#include "AliL3RootTypes.h"
5ec8e281 14#include "AliHLTLogging.h"
15#include <TList.h>
f23a6e1a 16
5ec8e281 17class AliHLTComponentHandler;
18class AliHLTConfiguration;
85465857 19class AliHLTConfigurationHandler;
5ec8e281 20class AliHLTTask;
f23a6e1a 21
5ec8e281 22class AliHLTSystem : public AliHLTLogging {
23 public:
f23a6e1a 24 AliHLTSystem();
25 virtual ~AliHLTSystem();
26
f23a6e1a 27 AliHLTComponentHandler* fpComponentHandler;
85465857 28 AliHLTConfigurationHandler* fpConfigurationHandler;
f23a6e1a 29
5ec8e281 30 /* add a configuration to the end of the list
31 */
32 int AddConfiguration(AliHLTConfiguration* pConf);
33
34 /* add a configuration to the list after the specified configuration
35 */
36 int InsertConfiguration(AliHLTConfiguration* pConf, AliHLTConfiguration* pPrec);
37
38 /* remove a configuration from the list
39 */
40 int DeleteConfiguration(AliHLTConfiguration* pConf);
41
42 /* build a task list from the configuration list
43 */
44 int BuildTaskList(AliHLTConfiguration* pConf);
45
46 int CleanTaskList();
47
48 int InsertTask(AliHLTTask* pTask);
49
50 AliHLTTask* FindTask(const char* id);
51
52 void PrintTaskList();
53
54 /* run the task list
55 */
56 int Run();
57
58 protected:
59 int ProcessTask();
60 int StartEvent();
61 int ProcessEvent();
62 int StopEvent();
63
64 private:
65 TList fConfList;
66 int fbListChanged;
67
68 TList fTaskList;
f23a6e1a 69
5ec8e281 70 private:
71 ClassDef(AliHLTSystem, 0);
f23a6e1a 72};
73#endif
74