Monitoring System
0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
feature_flags.h
Go to the documentation of this file.
1
// BSD 3-Clause License
2
// Copyright (c) 2025, 🍀☀🌕🌥 🌊
3
// See the LICENSE file in the project root for full license information.
4
31
#pragma once
32
33
//==============================================================================
34
// Common System Integration
35
//==============================================================================
36
37
// Include common_system's feature flags if available
38
// This provides access to all KCENON_* feature macros from common_system
39
#if __has_include(<kcenon/common/config/feature_flags.h>)
40
#include <kcenon/common/config/feature_flags.h>
41
#ifndef KCENON_HAS_COMMON_SYSTEM
42
#define KCENON_HAS_COMMON_SYSTEM 1
43
#endif
44
#else
45
#ifndef KCENON_HAS_COMMON_SYSTEM
46
#define KCENON_HAS_COMMON_SYSTEM 0
47
#endif
48
#endif
49
50
//==============================================================================
51
// Monitoring System Feature Flags
52
//==============================================================================
53
61
#ifndef KCENON_MONITORING_ENABLE_LEGACY_ALIASES
62
#define KCENON_MONITORING_ENABLE_LEGACY_ALIASES 1
63
#endif
64
65
//==============================================================================
66
// Legacy Aliases
67
//==============================================================================
68
83
#if KCENON_MONITORING_ENABLE_LEGACY_ALIASES
84
85
//------------------------------------------------------------------------------
86
// Common system integration aliases
87
//------------------------------------------------------------------------------
88
89
// BUILD_WITH_COMMON_SYSTEM -> KCENON_HAS_COMMON_SYSTEM
90
#ifndef BUILD_WITH_COMMON_SYSTEM
91
#if KCENON_HAS_COMMON_SYSTEM
92
#define BUILD_WITH_COMMON_SYSTEM 1
93
#endif
94
#endif
95
96
// MONITORING_USING_COMMON_INTERFACES -> KCENON_HAS_COMMON_SYSTEM
97
#ifndef MONITORING_USING_COMMON_INTERFACES
98
#if KCENON_HAS_COMMON_SYSTEM
99
#define MONITORING_USING_COMMON_INTERFACES 1
100
#endif
101
#endif
102
103
//------------------------------------------------------------------------------
104
// Logger system integration aliases
105
//------------------------------------------------------------------------------
106
107
// BUILD_WITH_LOGGER_SYSTEM -> KCENON_WITH_LOGGER_SYSTEM (from common_system)
108
#ifndef BUILD_WITH_LOGGER_SYSTEM
109
#if defined(KCENON_WITH_LOGGER_SYSTEM) && KCENON_WITH_LOGGER_SYSTEM
110
#define BUILD_WITH_LOGGER_SYSTEM 1
111
#endif
112
#endif
113
114
#endif
// KCENON_MONITORING_ENABLE_LEGACY_ALIASES
115
116
//==============================================================================
117
// Feature Detection Helpers
118
//==============================================================================
119
126
#ifndef KCENON_HAS_COMMON_CONCEPTS
127
#if KCENON_HAS_COMMON_SYSTEM && defined(KCENON_HAS_CONCEPTS) && KCENON_HAS_CONCEPTS
128
#define KCENON_HAS_COMMON_CONCEPTS 1
129
#else
130
#define KCENON_HAS_COMMON_CONCEPTS 0
131
#endif
132
#endif
133
137
#ifndef KCENON_HAS_COMMON_DI
138
#if KCENON_HAS_COMMON_SYSTEM
139
#define KCENON_HAS_COMMON_DI 1
140
#else
141
#define KCENON_HAS_COMMON_DI 0
142
#endif
143
#endif
144
148
#ifndef KCENON_HAS_COMMON_ILOGGER
149
#if KCENON_HAS_COMMON_SYSTEM
150
#define KCENON_HAS_COMMON_ILOGGER 1
151
#else
152
#define KCENON_HAS_COMMON_ILOGGER 0
153
#endif
154
#endif
155
159
#ifndef KCENON_HAS_COMMON_IMONITOR
160
#if KCENON_HAS_COMMON_SYSTEM
161
#define KCENON_HAS_COMMON_IMONITOR 1
162
#else
163
#define KCENON_HAS_COMMON_IMONITOR 0
164
#endif
165
#endif
include
kcenon
monitoring
config
feature_flags.h
Generated by
1.12.0