common/reals/real_thandle_log_context_handle.h (17 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_THANDLE_LOG_CONTEXT_HANDLE_H #define REAL_THANDLE_LOG_CONTEXT_HANDLE_H #include "macro_utils/macro_utils.h" #include "c_logging/log_context.h" #include "c_pal/thandle_ptr.h" #include "c_pal/thandle_log_context_handle.h" typedef LOG_CONTEXT_HANDLE real_LOG_CONTEXT_HANDLE; /*real_LOG_CONTEXT_HANDLE is "the same type" as LOG_CONTEXT_HANDLE*/ THANDLE_PTR_DECLARE(real_LOG_CONTEXT_HANDLE) #define REGISTER_THANDLE_LOG_CONTEXT_HANDLE_GLOBAL_MOCK_HOOK() \ /*regular THANDLE hooks. Note: casts are needed because of C11's 6.7.2.3 Tags - Constraint 5 on "distinct types". The structs which are "distinct" here would be PTR(T) and PTR(real_T).*/ \ REGISTER_GLOBAL_MOCK_HOOK(THANDLE_MOVE(PTR(LOG_CONTEXT_HANDLE)), (THANDLE_MOVE_FUNCTION_TYPE(PTR(LOG_CONTEXT_HANDLE))) THANDLE_MOVE(PTR(real_LOG_CONTEXT_HANDLE))); \ REGISTER_GLOBAL_MOCK_HOOK(THANDLE_INITIALIZE(PTR(LOG_CONTEXT_HANDLE)), (THANDLE_INITIALIZE_FUNCTION_TYPE(PTR(LOG_CONTEXT_HANDLE))) THANDLE_INITIALIZE(PTR(real_LOG_CONTEXT_HANDLE))); \ REGISTER_GLOBAL_MOCK_HOOK(THANDLE_INITIALIZE_MOVE(PTR(LOG_CONTEXT_HANDLE)), (THANDLE_INITIALIZE_MOVE_FUNCTION_TYPE(PTR(LOG_CONTEXT_HANDLE))) THANDLE_INITIALIZE_MOVE(PTR(real_LOG_CONTEXT_HANDLE))); \ REGISTER_GLOBAL_MOCK_HOOK(THANDLE_ASSIGN(PTR(LOG_CONTEXT_HANDLE)), (THANDLE_ASSIGN_FUNCTION_TYPE(PTR(LOG_CONTEXT_HANDLE))) THANDLE_ASSIGN(PTR(real_LOG_CONTEXT_HANDLE))); \ /*create hook*/ \ REGISTER_GLOBAL_MOCK_HOOK(THANDLE_PTR_CREATE_WITH_MOVE(LOG_CONTEXT_HANDLE), (THANDLE_PTR_CREATE_WITH_MOVE_FUNCTION_TYPE(LOG_CONTEXT_HANDLE)) THANDLE_PTR_CREATE_WITH_MOVE(real_LOG_CONTEXT_HANDLE)); \ #endif /*REAL_THANDLE_LOG_CONTEXT_HANDLE_H*/