libElysianVMU 1.6.0
Full-featured, accurate, cross-platform library emulating the Dreamcast's Visual Memory Unit
Loading...
Searching...
No Matches
evmu_api.h
Go to the documentation of this file.
1/*! \file
2 * \brief Top-level defines for EVMU API macros
3 *
4 * This file contains common, top-level macro declarations
5 * used throughout the codebase.
6 *
7 * \author 2023 Falco Girgis
8 * \copyright MIT License
9 */
10
11#ifndef EVMU_API_H
12#define EVMU_API_H
13
14#include <gimbal/core/gimbal_ctx.h>
15#include <gimbal/core/gimbal_logger.h>
16
17//! Define used for adding attributes to export public symbols
18#define EVMU_EXPORT GBL_EXPORT
19//! Define used for inlining a funcion within a C header file
20#define EVMU_INLINE GBL_INLINE
21
22/*! \name Logging
23 * \brief Macros used for logging to the "evmu" domain
24 * @{
25 */
26//! Writes a message to the log with the \ref GBL_LOG_VERBOSE flag within the "evmu" domain.
27#define EVMU_LOG_VERBOSE(...) GBL_LOG_VERBOSE("evmu", __VA_ARGS__)
28//! Writes a message to the log with the \ref GBL_LOG_DEBUG flag within the "evmu" domain.
29#define EVMU_LOG_DEBUG(...) GBL_LOG_DEBUG("evmu", __VA_ARGS__)
30//! Writes a message to the log with the \ref GBL_LOG_INFO flag within the "evmu" domain.
31#define EVMU_LOG_INFO(...) GBL_LOG_INFO("evmu", __VA_ARGS__)
32//! Writes a message to the log with the \ref GBL_LOG_WARN flag within the "evmu" domain.
33#define EVMU_LOG_WARN(...) GBL_LOG_WARN("evmu", __VA_ARGS__)
34//! Writes a message to the log with the \ref GBL_LOG_ERROR flag within the "evmu" domain.
35#define EVMU_LOG_ERROR(...) GBL_LOG_ERROR("evmu", __VA_ARGS__)
36//! Pushes a level to the log stack within the "evmu" domain. See \ref GBL_LOG_PUSH().
37#define EVMU_LOG_PUSH() GBL_LOG_PUSH()
38//! Pops n levels from the log stack within the "evmu" domain. See \ref GBL_LOG_POP().
39#define EVMU_LOG_POP(n) GBL_LOG_POP(n)
40//! @}
41
42GBL_DECLS_BEGIN
43
44GBL_DECLS_END
45
46#endif // EVMU_API_H
#define GBL_LOG_ERROR(domain,...)
#define GBL_LOG_INFO(domain,...)
#define GBL_LOG_PUSH()
#define GBL_LOG_DEBUG(domain,...)
#define GBL_LOG_VERBOSE(domain,...)
#define GBL_LOG_WARN(domain,...)
#define GBL_LOG_POP(n)