Update to current CDB framework
[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;
19class AliHLTTask;
f23a6e1a 20
5ec8e281 21class AliHLTSystem : public AliHLTLogging {
22 public:
f23a6e1a 23 AliHLTSystem();
24 virtual ~AliHLTSystem();
25
f23a6e1a 26 AliHLTComponentHandler* fpComponentHandler;
f23a6e1a 27
5ec8e281 28 /* add a configuration to the end of the list
29 */
30 int AddConfiguration(AliHLTConfiguration* pConf);
31
32 /* add a configuration to the list after the specified configuration
33 */
34 int InsertConfiguration(AliHLTConfiguration* pConf, AliHLTConfiguration* pPrec);
35
36 /* remove a configuration from the list
37 */
38 int DeleteConfiguration(AliHLTConfiguration* pConf);
39
40 /* build a task list from the configuration list
41 */
42 int BuildTaskList(AliHLTConfiguration* pConf);
43
44 int CleanTaskList();
45
46 int InsertTask(AliHLTTask* pTask);
47
48 AliHLTTask* FindTask(const char* id);
49
50 void PrintTaskList();
51
52 /* run the task list
53 */
54 int Run();
55
56 protected:
57 int ProcessTask();
58 int StartEvent();
59 int ProcessEvent();
60 int StopEvent();
61
62 private:
63 TList fConfList;
64 int fbListChanged;
65
66 TList fTaskList;
f23a6e1a 67
5ec8e281 68 private:
69 ClassDef(AliHLTSystem, 0);
f23a6e1a 70};
71#endif
72