v2.0.0
Loading...
Searching...
No Matches
com_global.h File Reference

Export macros, build-info entry points and namespace anchor for the COMLIB communication library. More...

#include <QtCore/qglobal.h>
#include <utils/buildinfo.h>
Include dependency graph for com_global.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  COMLIB
 Real-time client/server communication primitives for talking to mne_rt_server.

Macros

#define COMSHARED_EXPORT

Functions

COMSHARED_EXPORT const char * COMLIB::buildDateTime ()
 Compile-time date/time stamp baked into the COMLIB binary.
COMSHARED_EXPORT const char * COMLIB::buildHash ()
 Abbreviated git commit hash (typically 7 hex chars) of the source tree this library was built from.
COMSHARED_EXPORT const char * COMLIB::buildHashLong ()
 Full-length git commit hash (40 hex chars) of the source tree this library was built from.

Detailed Description

Export macros, build-info entry points and namespace anchor for the COMLIB communication library.

SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors

Author
Christoph Dinh chris.nosp@m.toph.nosp@m..dinh.nosp@m.@mne.nosp@m.-cpp..nosp@m.org
Since
2.0.0
Date
March 2026

COMLIB is the transport layer that connects mne-cpp acquisition and analysis code to a running mne_rt_server instance — the long-running daemon shipped by mne-cpp that bridges MEG/EEG hardware drivers (or a pre-recorded FIFF file) to networked clients. Two TCP endpoints are exposed by the server and consumed here: the command port (default 4217), used to negotiate session state through line- or JSON-encoded messages, and the data port (default 4218), used to stream raw sample buffers tagged with FIFF block kinds.

The library is intentionally narrow: it contains the threaded TCP clients (COMLIB::RtClient, COMLIB::RtCmdClient, COMLIB::RtDataClient) and a small command vocabulary (COMLIB::Command, COMLIB::RawCommand, COMLIB::CommandParser, COMLIB::CommandManager) that both sides agree on. Higher-level orchestration (channel selection, ring buffering, source localisation) lives in the rtprocessing / disp / acquisition plugins that link against this library.

This header defines COMSHARED_EXPORT, expanding to Q_DECL_EXPORT when building the shared library, Q_DECL_IMPORT when consuming it, and to nothing for the static build configuration (STATICBUILD). It also declares the three buildDateTime / buildHash / buildHashLong entry points used by tooling and the About dialogs to report the exact commit the binary was built from.

Definition in file com_global.h.

Macro Definition Documentation

◆ COMSHARED_EXPORT

#define COMSHARED_EXPORT

Definition at line 53 of file com_global.h.