X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fplatform%2Futil%2Ftimeutils.h;h=3b1ef700c8f4213ca1a1f2af3ee15e5e6f5d71e7;hb=3b2bd169c03f74ccca35d9e211bbbc1308c33675;hp=d2992e75d0d46bebefe4e50741cae358ecbe1865;hpb=b492c10e731625d7c000654de2372b54339f7c8d;p=deb_libcec.git diff --git a/src/lib/platform/util/timeutils.h b/src/lib/platform/util/timeutils.h index d2992e7..3b1ef70 100644 --- a/src/lib/platform/util/timeutils.h +++ b/src/lib/platform/util/timeutils.h @@ -103,4 +103,23 @@ namespace PLATFORM { return (T)GetTimeMs() / (T)1000.0; } + + class CTimeout + { + public: + CTimeout(void) : m_iTarget(0) {} + CTimeout(uint32_t iTimeout) { Init(iTimeout); } + + bool IsSet(void) const { return m_iTarget > 0; } + void Init(uint32_t iTimeout) { m_iTarget = GetTimeMs() + iTimeout; } + + uint32_t TimeLeft(void) const + { + uint64_t iNow = GetTimeMs(); + return (iNow > m_iTarget) ? 0 : (uint32_t)(m_iTarget - iNow); + } + + private: + uint64_t m_iTarget; + }; };