ACF $AcfVersion:0$
CGeneralTimeStamp.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtCore/QObject>
7#if QT_VERSION >= 0x040700
8 #include <QtCore/QElapsedTimer>
9#else
10 #include <QtCore/QDateTime>
11#endif
12
13// ACF includes
14#include <istd/ITimeStamp.h>
15
16
17namespace istd
18{
19
20
24class CGeneralTimeStamp: virtual public ITimeStamp
25{
26public:
28
29 double GetTimeTo(const CGeneralTimeStamp& timeStamp) const;
30
31 // reimplemented (istd::ITimeStamp)
32 virtual void Start(double elapsedTime = 0) override;
33 virtual QDateTime GetStartTime() const override;
34 virtual double GetElapsed() const override;
35 virtual double GetTimeTo(const ITimeStamp& timeStamp) const override;
36 virtual void WaitTo(double time) const override;
37 virtual double GetTimerResolution() const override;
38
39protected:
40#if QT_VERSION >= 0x040700
41 QElapsedTimer m_timer;
42#else
43 QDateTime m_timer;
44#endif
45
46 double m_timeShift = 0;
47};
48
49
50} // namespace istd
51
52
53
54
A general time stamp implementation.
virtual void WaitTo(double time) const override
Wait for specific timer elapsed value is reached.
virtual double GetTimeTo(const ITimeStamp &timeStamp) const override
Get time difference to second timer.
virtual void Start(double elapsedTime=0) override
Start the timer.
virtual double GetTimerResolution() const override
Return the timer resolution in seconds.
virtual double GetElapsed() const override
Return the time in seconds from start until this call.
virtual QDateTime GetStartTime() const override
Get point in time of latest start.
double GetTimeTo(const CGeneralTimeStamp &timeStamp) const
Common interface for timer implementations.
Definition ITimeStamp.h:22
Standard library.
Definition IComponent.h:17