Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
feature_flags.h File Reference

Unified feature flags header for monitoring_system. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define KCENON_HAS_COMMON_SYSTEM   0
 
#define KCENON_MONITORING_ENABLE_LEGACY_ALIASES   1
 Enable legacy alias support (default: 1)
 
#define KCENON_HAS_COMMON_CONCEPTS   0
 Legacy alias definitions for backward compatibility.
 
#define KCENON_HAS_COMMON_DI   0
 Check if common_system DI container is available.
 
#define KCENON_HAS_COMMON_ILOGGER   0
 Check if common_system ILogger interface is available.
 
#define KCENON_HAS_COMMON_IMONITOR   0
 Check if common_system IMonitor interface is available.
 

Detailed Description

Unified feature flags header for monitoring_system.

This is the main entry point for all feature detection and integration flags in the monitoring_system library. Include this header to get access to all KCENON_* feature macros.

Header organization:

  • Includes common_system's feature_flags.h for base feature detection
  • Defines KCENON_HAS_COMMON_SYSTEM to indicate common_system availability
  • Provides legacy aliases for backward compatibility

Usage:

#if KCENON_HAS_COMMON_SYSTEM
#include <kcenon/common/concepts/event.h>
// Use common_system features
#endif
Unified feature flags header for monitoring_system.
See also
common_system feature_flags.h for base feature detection

Definition in file feature_flags.h.

Macro Definition Documentation

◆ KCENON_HAS_COMMON_CONCEPTS

#define KCENON_HAS_COMMON_CONCEPTS   0

Legacy alias definitions for backward compatibility.

These aliases map old macro names to the new KCENON_* convention. They are only defined if:

  1. KCENON_MONITORING_ENABLE_LEGACY_ALIASES is enabled (default: 1)
  2. The legacy macro is not already explicitly defined

This ensures that explicit user definitions (including explicit 0 values) are respected and not overwritten.

Note
Legacy aliases are planned for deprecation in v0.4.0 and removal in v1.0.0. Migrate to KCENON_* macros.

Check if common_system concepts are available

This macro evaluates to 1 if both common_system is available and C++20 concepts are supported.

Definition at line 130 of file feature_flags.h.

◆ KCENON_HAS_COMMON_DI

#define KCENON_HAS_COMMON_DI   0

Check if common_system DI container is available.

Definition at line 141 of file feature_flags.h.

◆ KCENON_HAS_COMMON_ILOGGER

#define KCENON_HAS_COMMON_ILOGGER   0

Check if common_system ILogger interface is available.

Definition at line 152 of file feature_flags.h.

◆ KCENON_HAS_COMMON_IMONITOR

#define KCENON_HAS_COMMON_IMONITOR   0

Check if common_system IMonitor interface is available.

Definition at line 163 of file feature_flags.h.

◆ KCENON_HAS_COMMON_SYSTEM

#define KCENON_HAS_COMMON_SYSTEM   0

Definition at line 46 of file feature_flags.h.

◆ KCENON_MONITORING_ENABLE_LEGACY_ALIASES

#define KCENON_MONITORING_ENABLE_LEGACY_ALIASES   1

Enable legacy alias support (default: 1)

When enabled, legacy macro names like BUILD_WITH_COMMON_SYSTEM are defined as aliases to the new KCENON_* macros. Disable this to ensure clean migration to the new naming convention.

Definition at line 62 of file feature_flags.h.