ROOT logo
// $Id: SEvTaskState.h 2088 2008-11-23 20:26:46Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#ifndef GledCore_SEvTaskState_H
#define GledCore_SEvTaskState_H

#include <Gled/GledTypes.h>
#include <TObject.h>

class SEvTaskState : public TObject {
  MAC_RNR_FRIENDS(SEvTaskState);

private:
  void _init();

protected:
  Char_t	mState;	// X{GS} Can be 'W'aiting, 'R'unning or 'F'inished
  Int_t		mNAll;	// X{GS}
  Int_t		mNOK;	// X{GS}
  Int_t		mNFail;	// X{GS}
  Int_t		mNProc;	// X{GS}

public:
  SEvTaskState() : TObject() { _init(); }

  void Reinit();
  void Reinit(Int_t n);

  void Finalize();

  void IncNAll (Int_t dn) { mNAll  += dn; }
  void IncNOK  (Int_t dn) { mNOK   += dn; }
  void IncNFail(Int_t dn) { mNFail += dn; }
  void IncNProc(Int_t dn) { mNProc += dn; }

  Int_t GetNLeft() const { return mNAll - mNOK - mNFail - mNProc; }
  Int_t GetNToDo() const { return mNAll - mNOK - mNFail; }
  Int_t GetNDone() const { return mNOK + mNFail; }

  SEvTaskState& operator+=(const SEvTaskState& s);

#include "SEvTaskState.h7"
  ClassDef(SEvTaskState, 1);
}; // endclass SEvTaskState

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