Skip to content

api/config.h

Namespaces

Name
cvedia
cvedia::rt
API for controlling the server and lifecycle management of runtime instances.
cvedia::rt::api
cvedia::rt::api::config

Functions

Name
void reset()
NODISCARD expected< void > loadJsonFromDisk(std::string const & jsonFile)
Load global state from disk.
NODISCARD expected< void > loadFromJsonString(std::string const & data)
NODISCARD expected< void > saveToDiskAsJson(std::string const & path)
expected< void > setNode(std::string const & nodePath, CValue const & value)
NODISCARD bool isNodeSet(std::string const & nodePath)
NODISCARD std::string asJsonString()
pCValue getNodeUnsafe()
Get global config.
pCValue getNodeUnsafe(std::string const & nodePath)
std::unique_lock< shared_mutex_class > getWriteLock()
std::shared_lock< shared_mutex_class > getReadLock()
uCVDictRoot getCVDict()
uCVDictRoot getCVDict(std::string const & path)
template <typename T >
expected< T >
getValue(std::string const & nodePath)
expected< cmap > getValue< cmap >(std::string const & nodePath)
expected< int > getValue< int >(std::string const & nodePath)
expected< float > getValue< float >(std::string const & nodePath)
expected< bool > getValue< bool >(std::string const & nodePath)
void addUserParameter(std::string key_name, std::string value)
Adds a global user parameter to the system, every instance that loads has access to this parameter inside its state dictionary.
std::vector< std::pair< std::string, std::string > > getUserParameters()
Get the global user parameter list for the system, every instance that loads has access to this parameter inside its state dictionary.

Attributes

Name
std::string const WEBSERVER_ENABLED
std::string const WEBSERVER_HOST
std::string const WEBSERVER_PORT
std::string const WEBSERVER_NAME
std::string const WEBSERVER_KEEPALIVE_MAX_COUNT
std::string const WEBSERVER_KEEPALIVE_TIMEOUT
std::string const WEBSERVER_READ_TIMEOUT
std::string const WEBSERVER_WRITE_TIMEOUT
std::string const WEBSERVER_LISTEN_BACKLOG
std::string const WEBSERVER_SSE_MAX_QUEUED_MESSAGES
std::string const SYSTEM_PIN_INSTANCE_ON_CORE
std::string const SYSTEM_OPENCV_NUM_THREADS
std::string const SYSTEM_PLUGIN_LOAD_PROBE_ENABLED
std::string const SYSTEM_INSTANCE_IDLE_TIMEOUT_SECONDS
std::string const SYSTEM_LICENSE_MANAGER
std::string const SYSTEM_DATA_COLLECTION_ENABLED
std::string const SYSTEM_DATA_COLLECTION_URL
std::string const SYSTEM_ANALYTICS_DATABASE_ENABLED
std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_ENABLED
std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_INTERVAL_HOURS
std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_DAY_TIME
std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_RETENTION_DAYS
std::string const SYSTEM_ANALYTICS_DATABASE_BATCHING_MAX_SIZE
std::string const SYSTEM_ANALYTICS_DATABASE_BATCHING_MAX_TIME_MS
std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_TIMEOUT_MS
std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_WORKER_COUNT
std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_MAX_QUEUE_SIZE
std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_RESULT_RETENTION_MS
std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_COALESCING_ENABLED
std::string const SYSTEM_ANALYTICS_DATABASE_SLOW_QUERY_THRESHOLD_MS
std::string const SYSTEM_ANALYTICS_DATABASE_STORE_SCREENSHOTS
std::string const SYSTEM_ANALYTICS_DATABASE_STORE_TRACKS_LOCATIONS
std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_TRACKS_LOCATIONS_RETENTION_DAYS
std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_PAGE_CACHE_SIZE
std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_BUSY_TIMEOUT_MS
std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_MMAP_SIZE
std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_MAX_BLOB_SIZE
std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_MAX_RESULTS_ROWS
std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_READ_POOL_SIZE
std::string const LOGGING_LOG_FILE
std::string const LOGGING_LOG_LEVEL
std::string const LOGGING_LOG_TO_CONSOLE
std::string const LOGGING_MAX_LOG_FILE_SIZE
std::string const LOGGING_MAX_LOG_FILES
std::string const LOGGING_INSTANCES
std::string const ONVIF_DISCOVERY_ENABLED
std::string const SOLUTION_UPDATER_ENABLED
std::string const LICENSE_HOME
std::string const LICENSE_URL
std::string const LICENSE_FILTER_FUTURE
std::string const PREFERENCES
std::string const MAX_RUNNING_INSTANCES
std::string const MAX_FRAME_QUEUE
std::string const DECODER_TARGET_FPS
std::string const DECODER_MAX_PIXELS
std::string const DECODER_OUTPUT_FORMAT
std::string const DECODER_MEMORY
std::string const DECODER_GPU_BACKEND
std::string const DECODER_NVIDIA_STREAM_POOL_SIZE
std::string const API_CVEDIA
std::string const API_MODELFORGE
std::string const API_CLOUDINARY
std::string const API_STATS_HARDWARE
std::string const API_STATS_HEARTBEAT
std::string const MODELFORGE_PERMISSIVE
std::string const INFERENCE_DISPATCHER_DISABLE_ADAPTIVE_WAIT
std::string const INFERENCE_DISPATCHER_ADAPTIVE_POOLING_ENABLED
std::string const INFERENCE_DISPATCHER_ADAPTIVE_POOLING_DEFAULT_MAX_POOL_SIZE
std::string const INFERENCE_DISPATCHER_ADAPTIVE_POOLING_ENABLE_SCALE_DOWN

Functions Documentation

function reset

void reset()

function loadJsonFromDisk

NODISCARD expected< void > loadJsonFromDisk(
    std::string const & jsonFile
)

Load global state from disk.

function loadFromJsonString

NODISCARD expected< void > loadFromJsonString(
    std::string const & data
)

function saveToDiskAsJson

NODISCARD expected< void > saveToDiskAsJson(
    std::string const & path
)

function setNode

expected< void > setNode(
    std::string const & nodePath,
    CValue const & value
)

function isNodeSet

NODISCARD bool isNodeSet(
    std::string const & nodePath
)

function asJsonString

NODISCARD std::string asJsonString()

function getNodeUnsafe

pCValue getNodeUnsafe()

Get global config.

function getNodeUnsafe

pCValue getNodeUnsafe(
    std::string const & nodePath
)

function getWriteLock

std::unique_lock< shared_mutex_class > getWriteLock()

function getReadLock

std::shared_lock< shared_mutex_class > getReadLock()

function getCVDict

uCVDictRoot getCVDict()

function getCVDict

uCVDictRoot getCVDict(
    std::string const & path
)

function getValue

template <typename T >
expected< T > getValue(
    std::string const & nodePath
)

function getValue< cmap >

expected< cmap > getValue< cmap >(
    std::string const & nodePath
)

function getValue< int >

expected< int > getValue< int >(
    std::string const & nodePath
)

function getValue< float >

expected< float > getValue< float >(
    std::string const & nodePath
)

function getValue< bool >

expected< bool > getValue< bool >(
    std::string const & nodePath
)

function addUserParameter

void addUserParameter(
    std::string key_name,
    std::string value
)

Adds a global user parameter to the system, every instance that loads has access to this parameter inside its state dictionary.

Parameters:

  • string $key_name Name of the key to add to every instance state dictionary
  • string $value Content to be added with the set key_name

function getUserParameters

std::vector< std::pair< std::string, std::string > > getUserParameters()

Get the global user parameter list for the system, every instance that loads has access to this parameter inside its state dictionary.

Return: vector> user_parameter_list List with user parameters

Attributes Documentation

variable WEBSERVER_ENABLED

std::string const WEBSERVER_ENABLED = "/web_server/enabled";

variable WEBSERVER_HOST

std::string const WEBSERVER_HOST = "/web_server/ip_address";

variable WEBSERVER_PORT

std::string const WEBSERVER_PORT = "/web_server/port";

variable WEBSERVER_NAME

std::string const WEBSERVER_NAME = "/web_server/name";

variable WEBSERVER_KEEPALIVE_MAX_COUNT

std::string const WEBSERVER_KEEPALIVE_MAX_COUNT = "/web_server/keepalive_max_count";

variable WEBSERVER_KEEPALIVE_TIMEOUT

std::string const WEBSERVER_KEEPALIVE_TIMEOUT = "/web_server/keepalive_timeout";

variable WEBSERVER_READ_TIMEOUT

std::string const WEBSERVER_READ_TIMEOUT = "/web_server/read_timeout";

variable WEBSERVER_WRITE_TIMEOUT

std::string const WEBSERVER_WRITE_TIMEOUT = "/web_server/write_timeout";

variable WEBSERVER_LISTEN_BACKLOG

std::string const WEBSERVER_LISTEN_BACKLOG = "/web_server/listen_backlog";

variable WEBSERVER_SSE_MAX_QUEUED_MESSAGES

std::string const WEBSERVER_SSE_MAX_QUEUED_MESSAGES = "/web_server/sse_max_queued_messages";

variable SYSTEM_PIN_INSTANCE_ON_CORE

std::string const SYSTEM_PIN_INSTANCE_ON_CORE = "/system/pin_instance_on_core";

variable SYSTEM_OPENCV_NUM_THREADS

std::string const SYSTEM_OPENCV_NUM_THREADS = "/system/opencv_num_threads";

variable SYSTEM_PLUGIN_LOAD_PROBE_ENABLED

std::string const SYSTEM_PLUGIN_LOAD_PROBE_ENABLED = "/system/plugin_load_probe_enabled";

variable SYSTEM_INSTANCE_IDLE_TIMEOUT_SECONDS

std::string const SYSTEM_INSTANCE_IDLE_TIMEOUT_SECONDS = "/system/instance_idle_timeout_seconds";

variable SYSTEM_LICENSE_MANAGER

std::string const SYSTEM_LICENSE_MANAGER = "/system/license_manager";

variable SYSTEM_DATA_COLLECTION_ENABLED

std::string const SYSTEM_DATA_COLLECTION_ENABLED = "/system/data_collection/enabled";

variable SYSTEM_DATA_COLLECTION_URL

std::string const SYSTEM_DATA_COLLECTION_URL = "/system/data_collection/url";

variable SYSTEM_ANALYTICS_DATABASE_ENABLED

std::string const SYSTEM_ANALYTICS_DATABASE_ENABLED = "/system/analytics_database/enabled";

variable SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_ENABLED

std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_ENABLED = "/system/analytics_database/auto_cleanup/enabled";

variable SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_INTERVAL_HOURS

std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_INTERVAL_HOURS = "/system/analytics_database/auto_cleanup/interval_hours";

variable SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_DAY_TIME

std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_DAY_TIME = "/system/analytics_database/auto_cleanup/day_time";

variable SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_RETENTION_DAYS

std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_RETENTION_DAYS = "/system/analytics_database/auto_cleanup/retention_days";

variable SYSTEM_ANALYTICS_DATABASE_BATCHING_MAX_SIZE

std::string const SYSTEM_ANALYTICS_DATABASE_BATCHING_MAX_SIZE = "/system/analytics_database/batching/max_size";

variable SYSTEM_ANALYTICS_DATABASE_BATCHING_MAX_TIME_MS

std::string const SYSTEM_ANALYTICS_DATABASE_BATCHING_MAX_TIME_MS = "/system/analytics_database/batching/max_time_ms";

variable SYSTEM_ANALYTICS_DATABASE_QUERY_TIMEOUT_MS

std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_TIMEOUT_MS = "/system/analytics_database/query_timeout_ms";

variable SYSTEM_ANALYTICS_DATABASE_QUERY_WORKER_COUNT

std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_WORKER_COUNT = "/system/analytics_database/query_worker_count";

variable SYSTEM_ANALYTICS_DATABASE_QUERY_MAX_QUEUE_SIZE

std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_MAX_QUEUE_SIZE = "/system/analytics_database/query_max_queue_size";

variable SYSTEM_ANALYTICS_DATABASE_QUERY_RESULT_RETENTION_MS

std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_RESULT_RETENTION_MS = "/system/analytics_database/query_result_retention_ms";

variable SYSTEM_ANALYTICS_DATABASE_QUERY_COALESCING_ENABLED

std::string const SYSTEM_ANALYTICS_DATABASE_QUERY_COALESCING_ENABLED = "/system/analytics_database/query_coalescing_enabled";

variable SYSTEM_ANALYTICS_DATABASE_SLOW_QUERY_THRESHOLD_MS

std::string const SYSTEM_ANALYTICS_DATABASE_SLOW_QUERY_THRESHOLD_MS = "/system/analytics_database/slow_query_threshold_ms";

variable SYSTEM_ANALYTICS_DATABASE_STORE_SCREENSHOTS

std::string const SYSTEM_ANALYTICS_DATABASE_STORE_SCREENSHOTS = "/system/analytics_database/store_screenshots";

variable SYSTEM_ANALYTICS_DATABASE_STORE_TRACKS_LOCATIONS

std::string const SYSTEM_ANALYTICS_DATABASE_STORE_TRACKS_LOCATIONS = "/system/analytics_database/store_tracks_locations";

variable SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_TRACKS_LOCATIONS_RETENTION_DAYS

std::string const SYSTEM_ANALYTICS_DATABASE_AUTO_CLEANUP_TRACKS_LOCATIONS_RETENTION_DAYS = "/system/analytics_database/auto_cleanup/tracks_locations_retention_days";

variable SYSTEM_ANALYTICS_DATABASE_SQLITE_PAGE_CACHE_SIZE

std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_PAGE_CACHE_SIZE = "/system/analytics_database/sqlite/page_cache_size";

variable SYSTEM_ANALYTICS_DATABASE_SQLITE_BUSY_TIMEOUT_MS

std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_BUSY_TIMEOUT_MS = "/system/analytics_database/sqlite/busy_timeout_ms";

variable SYSTEM_ANALYTICS_DATABASE_SQLITE_MMAP_SIZE

std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_MMAP_SIZE = "/system/analytics_database/sqlite/mmap_size";

variable SYSTEM_ANALYTICS_DATABASE_SQLITE_MAX_BLOB_SIZE

std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_MAX_BLOB_SIZE = "/system/analytics_database/sqlite/max_blob_size";

variable SYSTEM_ANALYTICS_DATABASE_SQLITE_MAX_RESULTS_ROWS

std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_MAX_RESULTS_ROWS = "/system/analytics_database/sqlite/max_results_rows";

variable SYSTEM_ANALYTICS_DATABASE_SQLITE_READ_POOL_SIZE

std::string const SYSTEM_ANALYTICS_DATABASE_SQLITE_READ_POOL_SIZE = "/system/analytics_database/sqlite/read_pool_size";

variable LOGGING_LOG_FILE

std::string const LOGGING_LOG_FILE = "/logging/log_file";

variable LOGGING_LOG_LEVEL

std::string const LOGGING_LOG_LEVEL = "/logging/log_level";

variable LOGGING_LOG_TO_CONSOLE

std::string const LOGGING_LOG_TO_CONSOLE = "/logging/log_to_console";

variable LOGGING_MAX_LOG_FILE_SIZE

std::string const LOGGING_MAX_LOG_FILE_SIZE = "/logging/max_log_file_size";

variable LOGGING_MAX_LOG_FILES

std::string const LOGGING_MAX_LOG_FILES = "/logging/max_log_files";

variable LOGGING_INSTANCES

std::string const LOGGING_INSTANCES = "/logging/instances";

variable ONVIF_DISCOVERY_ENABLED

std::string const ONVIF_DISCOVERY_ENABLED = "/onvif/discovery_enabled";

variable SOLUTION_UPDATER_ENABLED

std::string const SOLUTION_UPDATER_ENABLED = "/solution_updater/enabled";

variable LICENSE_HOME

std::string const LICENSE_HOME = "/licensing/home_dir";

variable LICENSE_URL

std::string const LICENSE_URL = "/licensing/url";

variable LICENSE_FILTER_FUTURE

std::string const LICENSE_FILTER_FUTURE = "/licensing/filter_future";

Deprecated since 2026.2.1 and no longer read: the only tag it used to hide (standard_analytics) is translated away when the license metadata is loaded, so there is nothing left to filter. Kept for source compatibility only.

variable PREFERENCES

std::string const PREFERENCES = "/preferences";

variable MAX_RUNNING_INSTANCES

std::string const MAX_RUNNING_INSTANCES = "/max_running_instances";

variable MAX_FRAME_QUEUE

std::string const MAX_FRAME_QUEUE = "/max_frame_queue";

variable DECODER_TARGET_FPS

std::string const DECODER_TARGET_FPS = "/decoder/target_fps";

variable DECODER_MAX_PIXELS

std::string const DECODER_MAX_PIXELS = "/decoder/max_pixels";

variable DECODER_OUTPUT_FORMAT

std::string const DECODER_OUTPUT_FORMAT = "/decoder/output_format";

variable DECODER_MEMORY

std::string const DECODER_MEMORY = "/decoder/memory";

variable DECODER_GPU_BACKEND

std::string const DECODER_GPU_BACKEND = "/decoder/gpu_backend";

variable DECODER_NVIDIA_STREAM_POOL_SIZE

std::string const DECODER_NVIDIA_STREAM_POOL_SIZE = "/decoder/nvidia_stream_pool_size";

variable API_CVEDIA

std::string const API_CVEDIA = "/api_url";

variable API_MODELFORGE

std::string const API_MODELFORGE = "/modelforge_url";

variable API_CLOUDINARY

std::string const API_CLOUDINARY = "/cloudinary_url";

variable API_STATS_HARDWARE

std::string const API_STATS_HARDWARE = "/hardware_stats_url";

variable API_STATS_HEARTBEAT

std::string const API_STATS_HEARTBEAT = "/heartbeat_stats_url";

variable MODELFORGE_PERMISSIVE

std::string const MODELFORGE_PERMISSIVE = "/modelforge_permissive";

variable INFERENCE_DISPATCHER_DISABLE_ADAPTIVE_WAIT

std::string const INFERENCE_DISPATCHER_DISABLE_ADAPTIVE_WAIT = "/inference_dispatcher/disable_adaptive_wait";

variable INFERENCE_DISPATCHER_ADAPTIVE_POOLING_ENABLED

std::string const INFERENCE_DISPATCHER_ADAPTIVE_POOLING_ENABLED = "/inference_dispatcher/adaptive_pooling/enabled";

variable INFERENCE_DISPATCHER_ADAPTIVE_POOLING_DEFAULT_MAX_POOL_SIZE

std::string const INFERENCE_DISPATCHER_ADAPTIVE_POOLING_DEFAULT_MAX_POOL_SIZE = "/inference_dispatcher/adaptive_pooling/default_max_pool_size";

variable INFERENCE_DISPATCHER_ADAPTIVE_POOLING_ENABLE_SCALE_DOWN

std::string const INFERENCE_DISPATCHER_ADAPTIVE_POOLING_ENABLE_SCALE_DOWN = "/inference_dispatcher/adaptive_pooling/enable_scale_down";