ROOT logo
#ifndef HTASK_H
#define HTASK_H

#include "TNamed.h"

 
typedef Int_t TaskControl; 
const TaskControl  kSTOP = -1;
const TaskControl  kGOFORWARD  = 0; 
const TaskControl  kGOBACKWARD = 1;



class HTask : public TNamed {
protected:
  HTask* owner;
  Bool_t manual;
  Bool_t isInitialised;
  Bool_t isConnected; 
  Bool_t fIsTimed;     // timer flag

public:
  virtual Bool_t connectTask(HTask *task,Int_t n)=0;

public:
  HTask(void) {}
  HTask(const Text_t name[],const Text_t title[]): TNamed(name,title), manual(kFALSE),
  isInitialised(kFALSE), isConnected(kFALSE) {}
  virtual ~HTask(void) {}
  virtual HTask *next(Int_t &errCode)=0;
  virtual HTask *getTask(const Char_t *name)=0;
  virtual Bool_t init(void)=0;
  virtual Bool_t reinit(void) {return kTRUE;}

  virtual Bool_t finalize(void)=0;
  virtual void getConnections(){;}
  virtual HTask* getComposite()=0; 
  virtual HTask* getOwner(){return owner;}
  virtual void setOwner(HTask* atask){owner=atask;}
  virtual Bool_t setConnections(){ return kTRUE;}
  void setManual(){ manual=kTRUE;}
  //void error(void);
  virtual void isTimed(Bool_t)=0;
  virtual void resetTimer()=0;
  virtual void printTimer()=0;
  ClassDef(HTask,1) //ABC for a task
};


#endif /* !HTASK_H */





 htask.h:1
 htask.h:2
 htask.h:3
 htask.h:4
 htask.h:5
 htask.h:6
 htask.h:7
 htask.h:8
 htask.h:9
 htask.h:10
 htask.h:11
 htask.h:12
 htask.h:13
 htask.h:14
 htask.h:15
 htask.h:16
 htask.h:17
 htask.h:18
 htask.h:19
 htask.h:20
 htask.h:21
 htask.h:22
 htask.h:23
 htask.h:24
 htask.h:25
 htask.h:26
 htask.h:27
 htask.h:28
 htask.h:29
 htask.h:30
 htask.h:31
 htask.h:32
 htask.h:33
 htask.h:34
 htask.h:35
 htask.h:36
 htask.h:37
 htask.h:38
 htask.h:39
 htask.h:40
 htask.h:41
 htask.h:42
 htask.h:43
 htask.h:44
 htask.h:45
 htask.h:46
 htask.h:47
 htask.h:48
 htask.h:49
 htask.h:50
 htask.h:51
 htask.h:52
 htask.h:53
 htask.h:54
 htask.h:55