interfaces/reals/real_timer.h (29 lines of code) (raw):

// Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. #ifndef REAL_TIMER_H #define REAL_TIMER_H #include "macro_utils/macro_utils.h" #include "c_pal/timer.h" #define R2(X) REGISTER_GLOBAL_MOCK_HOOK(X, real_##X); #define REGISTER_TIMER_GLOBAL_MOCK_HOOK() \ MU_FOR_EACH_1(R2, \ timer_create_new, \ timer_start, \ timer_get_elapsed, \ timer_global_get_elapsed_ms, \ timer_destroy \ ) #ifdef __cplusplus extern "C" { #endif TIMER_HANDLE real_timer_create_new(void); int real_timer_start(TIMER_HANDLE handle); double real_timer_get_elapsed(TIMER_HANDLE handle); double real_timer_get_elapsed_ms(TIMER_HANDLE handle); void real_global_timer_state_reset(void); double real_timer_global_get_elapsed_s(void); double real_timer_global_get_elapsed_ms(void); double real_timer_global_get_elapsed_us(void); void real_timer_destroy(TIMER_HANDLE handle); #ifdef __cplusplus } #endif #endif // REAL_TIMER_H