Time.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <etk/types.hpp>
9 #include <echrono/Clock.hpp>
10 #include <echrono/Duration.hpp>
11 
12 namespace ewol {
13  namespace event {
14  class Time {
15  private:
16  echrono::Clock m_timeSystem;
17  echrono::Clock m_timeUpAppl;
18  echrono::Duration m_timeDelta;
19  echrono::Duration m_timeDeltaCall;
20  public:
21  Time(const echrono::Clock& _timeSystem,
22  const echrono::Clock& _timeUpAppl,
23  const echrono::Duration& _timeDelta,
24  const echrono::Duration& _timeDeltaCall) :
25  m_timeSystem(_timeSystem),
26  m_timeUpAppl(_timeUpAppl),
27  m_timeDelta(_timeDelta),
28  m_timeDeltaCall(_timeDeltaCall){
29 
30  };
31  public:
32  void setTime(const echrono::Clock& _timeSystem) {
33  m_timeSystem = _timeSystem;
34  };
35  inline const echrono::Clock& getTime() const {
36  return m_timeSystem;
37  };
38  void setApplWakeUpTime(const echrono::Clock& _timeUpAppl) {
39  m_timeUpAppl = _timeUpAppl;
40  };
41  inline const echrono::Clock& getApplWakeUpTime() const {
42  return m_timeUpAppl;
43  };
44  inline echrono::Duration getApplUpTime() const {
45  return m_timeSystem-m_timeUpAppl;
46  };
47  void setDelta(const echrono::Duration& _timeDelta) {
48  m_timeDelta = _timeDelta;
49  };
50  inline const echrono::Duration& getDeltaDuration() const {
51  return m_timeDelta;
52  };
53  inline float getDelta() const {
54  return m_timeDelta.toSeconds();
55  };
56  void setDeltaCall(const echrono::Duration& _timeDeltaCall) {
57  m_timeDeltaCall = _timeDeltaCall;
58  };
59  inline const echrono::Duration& getDeltaCallDuration() const {
60  return m_timeDeltaCall;
61  };
62  inline float getDeltaCall() const {
63  return m_timeDeltaCall.toSeconds();
64  };
65  };
66  std::ostream& operator <<(std::ostream& _os, const ewol::event::Time& _obj);
67  }
68 }
69 
Definition: Time.hpp:14
Definition: Area.hpp:16