GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4TaskHandlerRunnable.h
Go to the documentation of this file.
1 // $Id$
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #ifndef TGO4TASKHANDLERRUNNABLE_H
15 #define TGO4TASKHANDLERRUNNABLE_H
16 
17 #include "TGo4Runnable.h"
18 
19 class TGo4Socket;
20 class TGo4ThreadManager;
21 class TGo4TaskHandler;
22 class TGo4ObjectQueue;
23 class TGo4BufferQueue;
24 
32 
33  public:
34 
35  TGo4TaskHandlerRunnable(const char *name, TGo4ThreadManager *man, TGo4TaskHandler *hand, Bool_t receivermode=kTRUE);
36 
37  virtual ~TGo4TaskHandlerRunnable();
38 
39  Int_t Run(void *ptr) override = 0;
40 
42 
43  protected:
44 
50  Bool_t CheckStopBuffer(TBuffer *buf, Int_t *result = nullptr);
51 
54  Bool_t CheckTransportOpen();
55 
58 
63 
66  Bool_t fbReceiverMode{kFALSE};
67 
70 
71  private:
73 };
74 
75 #endif //TGO4TASKHANDLERRUNNABLE_H
Bool_t CheckStopBuffer(TBuffer *buf, Int_t *result=nullptr)
Int_t Run(void *ptr) override=0
TGo4TaskHandler * GetTaskHandler()