diff options
Diffstat (limited to 'cc/timer.h')
-rw-r--r-- | cc/timer.h | 40 |
1 files changed, 39 insertions, 1 deletions
@@ -1,3 +1,41 @@ -// Copyright 2012 The Chromium Authors. All rights reserved. +// Copyright 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. + +#ifndef CCTimer_h +#define CCTimer_h + +namespace cc { + +class CCThread; +class CCTimerTask; + +class CCTimerClient { +public: + virtual ~CCTimerClient() { } + + virtual void onTimerFired() = 0; +}; + +class CCTimer { +public: + CCTimer(CCThread*, CCTimerClient*); + ~CCTimer(); + + // If a previous task is pending, it will be replaced with the new one. + void startOneShot(double intervalSeconds); + void stop(); + + bool isActive() const { return m_task; } + +private: + friend class CCTimerTask; + + CCTimerClient* m_client; + CCThread* m_thread; + CCTimerTask* m_task; // weak pointer +}; + +} // namespace cc + +#endif |