12345678910111213141516171819202122232425262728293031323334353637383940 |
- // Copyright (c) 2012 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 BASE_TIME_CLOCK_H_
- #define BASE_TIME_CLOCK_H_
- #include "base/base_export.h"
- #include "base/time/time.h"
- namespace base {
- // A Clock is an interface for objects that vend Times. It is
- // intended to be able to test the behavior of classes with respect to
- // time.
- //
- // See DefaultClock (base/time/default_clock.h) for the default
- // implementation that simply uses Time::Now().
- //
- // (An implementation that uses Time::SystemTime() should be added as
- // needed.)
- //
- // See SimpleTestClock (base/test/simple_test_clock.h) for a simple
- // test implementation.
- //
- // See TickClock (base/time/tick_clock.h) for the equivalent interface for
- // TimeTicks.
- class BASE_EXPORT Clock {
- public:
- virtual ~Clock();
- // Now() must be safe to call from any thread. The caller cannot
- // make any ordering assumptions about the returned Time. For
- // example, the system clock may change to an earlier time.
- virtual Time Now() const = 0;
- };
- } // namespace base
- #endif // BASE_TIME_CLOCK_H_
|