#95494: Change AliLog message in AliAltroRawStreamV3.cxx (additional reduction of...
[u/mrichter/AliRoot.git] / SHUTTLE / AliShuttleStatus.h
1 #ifndef ALISHUTTLESTATUS_H
2 #define ALISHUTTLESTATUS_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 //
10 // This class stores the status of the Shuttle processing for a given run and a given detector
11 //
12
13 #include <TObject.h>
14
15 class AliShuttleStatus : public TObject
16 {
17 public:
18   enum Status {
19     kInvalid = 0,
20     kStarted,
21     kDCSStarted,
22     kDCSError,
23     kPPStarted,
24     kPPTimeOut,
25     kPPOutOfMemory,
26     kPPError,
27     kPPDone,
28     kStoreStarted,
29     kStoreError,
30     kDone, // final
31     kFailed,  // final
32     kStoreDelayed,
33     kFXSError,
34     kSkipped, // final
35     kOCDBError
36   };
37
38   AliShuttleStatus();
39   AliShuttleStatus(const AliShuttleStatus& c);
40
41   ~AliShuttleStatus();
42
43   AliShuttleStatus& operator=(const AliShuttleStatus& c);
44   virtual void Copy(TObject& c) const;
45
46   AliShuttleStatus(Status status);
47
48   UInt_t GetTimeStamp() const { return fTimeStamp; }
49   void SetTimeStamp(UInt_t timeStamp) { fTimeStamp = timeStamp; }
50
51   Status GetStatus() const { return fStatus; }
52   const char* GetStatusName() const { return GetStatusName(fStatus); }
53   void SetStatus(Status status);
54
55   Int_t GetCount() const { return fCount; }
56   void SetCount(Int_t count) { fCount = count; }
57   void IncreaseCount() { fCount++; }
58
59   static const char* GetStatusName(Status status);
60
61 protected:
62   UInt_t fTimeStamp;    // timestamp of the last change
63   Status fStatus;       // status of the processing
64   Int_t fCount;         // number of retries
65
66   ClassDef(AliShuttleStatus, 1);
67 };
68
69 #endif