Chromium Code Reviews| Index: webrtc/base/fakeclock.h |
| diff --git a/webrtc/base/fakeclock.h b/webrtc/base/fakeclock.h |
| index 2b3afdde05f684926621bcc95c2f917bfb7bd60f..da41d8dec4a7e65755004fda0f195d712ccafcfc 100644 |
| --- a/webrtc/base/fakeclock.h |
| +++ b/webrtc/base/fakeclock.h |
| @@ -19,6 +19,8 @@ namespace rtc { |
| // Fake clock for use with unit tests, which does not tick on its own. |
| // Starts at time 0. |
| +// |
| +// TODO(deadbeef): Unify with webrtc::SimulatedClock. |
| class FakeClock : public ClockInterface { |
| public: |
| ~FakeClock() override {} |
| @@ -38,6 +40,20 @@ class FakeClock : public ClockInterface { |
| uint64_t time_ GUARDED_BY(lock_) = 0u; |
| }; |
| +// Helper class which creates and sets a fake clock as the global clock in |
| +// its constructor, and unsets and deletes it in its destructor. |
| +class ScopedFakeClock { |
|
pthatcher1
2016/06/01 22:38:14
Does this work in C++?
class ScopedFakeClock : Fa
Taylor Brandstetter
2016/06/01 23:28:37
Done.
|
| + public: |
| + ScopedFakeClock() { SetClock(&clock_); } |
| + |
| + ~ScopedFakeClock() { SetClock(nullptr); } |
|
pthatcher1
2016/06/01 22:38:14
Should we do this?
public:
ScopedFakeClock() { o
Taylor Brandstetter
2016/06/01 23:28:37
I hadn't *intended* for there to be multiple fake
|
| + |
| + FakeClock& clock() { return clock_; } |
| + |
| + private: |
| + FakeClock clock_; |
| +}; |
| + |
| } // namespace rtc |
| #endif // WEBRTC_BASE_FAKECLOCK_H_ |