GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4TaskOwner.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 TGO4TASKOWNER_H
15 #define TGO4TASKOWNER_H
16 
17 #include "TGo4CommandReceiver.h"
18 #include "RtypesCore.h"
19 
20 class TMutex;
21 class TGo4Task;
22 class TGo4ServerTask;
23 
29  friend class TGo4Task;
30  friend class TGo4ServerTask;
31 
32  public:
33 
34  TGo4TaskOwner();
35 
36  TGo4TaskOwner(Bool_t isserver);
37 
38  virtual ~TGo4TaskOwner();
39 
40  Bool_t IsServer() const { return fbServerMode; }
41 
42  TGo4Task* GetTask() const { return fxTask; }
43 
47  virtual Int_t StartWorkThreads();
48 
52  virtual Int_t StopWorkThreads();
53 
58  virtual void Quit();
59 
60  const char *GetName() const;
61 
62  Bool_t IsConnected();
63 
64  Bool_t IsBeingQuit();
65 
67  TMutex *GetTaskManagerMutex();
68 
69 
70  protected:
71 
72  void SetTask(TGo4Task* task, Bool_t delold = kTRUE);
73 
74  private:
75 
79  TGo4Task* fxTask{nullptr};
80 
82  Bool_t fbServerMode{kFALSE};
83 };
84 
85 #endif //TGO4TASKOWNER_H
const char * GetName() const
TGo4Task * fxTask
Definition: TGo4TaskOwner.h:79
Bool_t IsConnected()
TGo4Task * GetTask() const
Definition: TGo4TaskOwner.h:42
virtual ~TGo4TaskOwner()
virtual void Quit()
virtual Int_t StopWorkThreads()
Bool_t IsServer() const
Definition: TGo4TaskOwner.h:40
Bool_t fbServerMode
Definition: TGo4TaskOwner.h:82
TMutex * GetTaskManagerMutex()
void SetTask(TGo4Task *task, Bool_t delold=kTRUE)
Bool_t IsBeingQuit()
virtual Int_t StartWorkThreads()