123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #ifndef BASE_TIME_TIME_OVERRIDE_H_
- #define BASE_TIME_TIME_OVERRIDE_H_
- #include "base/base_export.h"
- #include "base/macros.h"
- #include "base/time/time.h"
- namespace base {
- using TimeNowFunction = decltype(&Time::Now);
- using TimeTicksNowFunction = decltype(&TimeTicks::Now);
- using ThreadTicksNowFunction = decltype(&ThreadTicks::Now);
- namespace subtle {
- class BASE_EXPORT ScopedTimeClockOverrides {
- public:
-
- ScopedTimeClockOverrides(TimeNowFunction time_override,
- TimeTicksNowFunction time_ticks_override,
- ThreadTicksNowFunction thread_ticks_override);
-
- ~ScopedTimeClockOverrides();
- static bool overrides_active() { return overrides_active_; }
- private:
- static bool overrides_active_;
- DISALLOW_COPY_AND_ASSIGN(ScopedTimeClockOverrides);
- };
- BASE_EXPORT Time TimeNowIgnoringOverride();
- BASE_EXPORT Time TimeNowFromSystemTimeIgnoringOverride();
- BASE_EXPORT TimeTicks TimeTicksNowIgnoringOverride();
- BASE_EXPORT ThreadTicks ThreadTicksNowIgnoringOverride();
- }
- namespace internal {
- extern TimeNowFunction g_time_now_function;
- extern TimeNowFunction g_time_now_from_system_time_function;
- extern TimeTicksNowFunction g_time_ticks_now_function;
- extern ThreadTicksNowFunction g_thread_ticks_now_function;
- }
- }
- #endif
|