| Index: base/clock.h
|
| diff --git a/base/clock.h b/base/clock.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9fef254e0200c3ce740fd666d8dfc441bbbb9670
|
| --- /dev/null
|
| +++ b/base/clock.h
|
| @@ -0,0 +1,40 @@
|
| +// 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_CLOCK_H_
|
| +#define BASE_CLOCK_H_
|
| +
|
| +#include "base/base_export.h"
|
| +#include "base/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/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/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() = 0;
|
| +};
|
| +
|
| +} // namespace base
|
| +
|
| +#endif // BASE_CLOCK_H_
|
|
|