StdAir Logo  1.00.8
C++ Standard Airline IT Object Library
ProgressStatus.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BAS_PROGRESSSTATUS_HPP
2 #define __STDAIR_BAS_PROGRESSSTATUS_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 // Boost Progress
10 #include <boost/progress.hpp>
11 // StdAir
16 
17 namespace stdair {
18 
27  struct ProgressStatus : public StructAbstract {
28  public:
29  // //////////////// Getters /////////////////
31  const Count_T& count() const {
32  return _currentNb;
33  }
34 
36  const Count_T& getCurrentNb() const {
37  return _currentNb;
38  }
39 
41  const Count_T& getExpectedNb() const {
42  return _expectedNb;
43  }
44 
46  const Count_T& getActualNb() const {
47  return _actualNb;
48  }
49 
52  if (_actualNb == 0) {
53  return 0;
54  }
55  Percentage_T lPercentage =
56  (static_cast<Percentage_T> (_currentNb)
57  / static_cast<Percentage_T> (_actualNb));
58  lPercentage *= MAXIMUM_PROGRESS_STATUS;
59  return lPercentage;
60  }
61 
62 
63  // //////////////// Setters /////////////////
65  void setCurrentNb (const Count_T& iCurrentNb) {
66  _currentNb = iCurrentNb;
67  }
68 
70  void setExpectedNb (const Count_T& iExpectedNb) {
71  _expectedNb = iExpectedNb;
72  }
73 
75  void setActualNb (const Count_T& iActualNb) {
76  _actualNb = iActualNb;
77  }
78 
80  void reset();
81 
83  Count_T operator+= (Count_T iIncrement) {
84  _currentNb += iIncrement;
85  return _currentNb;
86  }
87 
90  ++_currentNb;
91  return _currentNb;
92  }
93 
94 
95  public:
96  // //////////////// Display Support Methods /////////////////
98  const std::string describe() const;
99 
101  const std::string toString() const;
102 
103 
104  public:
112  ProgressStatus (const Count_T& iCurrentNb, const Count_T& iExpectedNb,
113  const Count_T& iActualNb);
114 
123  ProgressStatus (const Count_T& iExpectedNb, const Count_T& iActualNb);
124 
133  ProgressStatus (const Count_T& iActualNb);
134 
140  ProgressStatus();
141 
146 
147  private:
148  // //////////////// Attributes /////////////////
150  Count_T _currentNb;
151 
153  Count_T _expectedNb;
154 
156  Count_T _actualNb;
157  };
158 
159 }
160 #endif // __STDAIR_BAS_PROGRESSSTATUS_HPP
stdair::ProgressStatus::operator+=
Count_T operator+=(Count_T iIncrement)
Definition: ProgressStatus.hpp:83
stdair::ProgressPercentage_T
float ProgressPercentage_T
Definition: stdair_basic_types.hpp:152
stdair::ProgressStatus::toString
const std::string toString() const
Definition: ProgressStatus.cpp:63
stdair::ProgressStatus::reset
void reset()
Definition: ProgressStatus.cpp:50
stdair::ProgressStatus::setCurrentNb
void setCurrentNb(const Count_T &iCurrentNb)
Definition: ProgressStatus.hpp:65
stdair::ProgressStatus::setExpectedNb
void setExpectedNb(const Count_T &iExpectedNb)
Definition: ProgressStatus.hpp:70
stdair::ProgressStatus::getActualNb
const Count_T & getActualNb() const
Definition: ProgressStatus.hpp:46
stdair::ProgressStatus::getExpectedNb
const Count_T & getExpectedNb() const
Definition: ProgressStatus.hpp:41
stdair::ProgressStatus::getCurrentNb
const Count_T & getCurrentNb() const
Definition: ProgressStatus.hpp:36
Logger.hpp
stdair
Handle on the StdAir library context.
Definition: BasChronometer.cpp:9
stdair::ProgressStatus::count
const Count_T & count() const
Definition: ProgressStatus.hpp:31
stdair::ProgressStatus::operator++
Count_T operator++()
Definition: ProgressStatus.hpp:89
stdair::ProgressStatus::progress
const ProgressPercentage_T progress() const
Definition: ProgressStatus.hpp:51
StructAbstract.hpp
BasConst_Event.hpp
stdair::MAXIMUM_PROGRESS_STATUS
const Percentage_T MAXIMUM_PROGRESS_STATUS
stdair::ProgressStatus::ProgressStatus
ProgressStatus()
Definition: ProgressStatus.cpp:36
stdair_basic_types.hpp
stdair::Count_T
unsigned int Count_T
Definition: stdair_basic_types.hpp:95
stdair::ProgressStatus::setActualNb
void setActualNb(const Count_T &iActualNb)
Definition: ProgressStatus.hpp:75
stdair::StructAbstract
Base class for the light structures.
Definition: StructAbstract.hpp:16
stdair::ProgressStatus::describe
const std::string describe() const
Definition: ProgressStatus.cpp:56
stdair::ProgressStatus
Definition: ProgressStatus.hpp:27
stdair::Percentage_T
double Percentage_T
Definition: stdair_basic_types.hpp:73