source: trunk/MagicSoft/Mars/mbase/MTaskList.h@ 1540

Last change on this file since 1540 was 1540, checked in by tbretz, 22 years ago
*** empty log message ***
File size: 2.0 KB
Line 
1#ifndef MARS_MTaskList
2#define MARS_MTaskList
3
4///////////////////////////////////////////////////////////////////////
5// //
6// MTaskList //
7// //
8// Collection of tasks to be processed in the eventloop //
9// //
10///////////////////////////////////////////////////////////////////////
11
12#ifndef MARS_MTask
13#include "MTask.h"
14#endif
15
16class MLog;
17class MParList;
18class MInputStreamID;
19
20class MTaskList : public MTask
21{
22private:
23 static const TString gsDefName; // default name
24 static const TString gsDefTitle; // default title
25
26 TList *fTasks; // Container for the ordered list of different tasks
27 TList fTasksProcess; //! Task which overload the Process function
28 MParList *fParList; //! The parameter list given in PreProcess
29
30 enum { kIsOwner = BIT(14) };
31
32 void Remove(MTask *task);
33 Bool_t CheckClassForProcess(TClass *cls);
34
35 void StreamPrimitive(ofstream &out) const;
36
37public:
38 MTaskList(const char *name=NULL, const char *title=NULL);
39 MTaskList(MTaskList &ts);
40
41 ~MTaskList();
42
43 void SetLogStream(MLog *log);
44
45 Bool_t AddToList(MTask *task, const char *tType="All", MTask *where = NULL);
46
47 TObject *FindObject(const char *name) const;
48 TObject *FindObject(const TObject *obj) const;
49
50 Bool_t ReInit(MParList *pList=NULL);
51
52 Bool_t PreProcess(MParList *pList);
53 Bool_t Process();
54 Bool_t PostProcess();
55
56 void Print(Option_t *opt = "") const;
57 void PrintStatistics(const Int_t lvl=0, Bool_t title=kFALSE) const;
58 void SetOwner(Bool_t enable=kTRUE);
59
60 const TList *GetList() const { return fTasks; }
61
62 void GetNames(TObjArray &arr) const;
63 void SetNames(TObjArray &arr);
64
65 ClassDef(MTaskList, 1) //collection of tasks to be performed in the eventloop
66};
67
68#endif
Note: See TracBrowser for help on using the repository browser.