pdcomm
Namespace
Header-only C++ wrappers over the PDComm SECS/GEM C API.
namespace pdcommThe classes in this namespace own native handles with RAII and translate every non-PDCOMM_OK status into an exception. They add no threads, callbacks, or hidden state: each call forwards to one or more pdcomm_* C functions.
- pdcomm::SecsItem: SECS-II data items (SEMI E5).
- pdcomm::TcpEndpoint and pdcomm::TcpEvent: HSMS transport (SEMI E37).
- pdcomm::GemHost and pdcomm::GemEquipment: GEM host and equipment roles (SEMI E30).
- pdcomm::Gem300CapabilityCatalog: GEM300 capability declarations.
- pdcomm::DiagnosticLogging: optional library diagnostics.
- pdcomm::License: license installation, status and host id (pdcomm_license.hpp).
Errors: wrapper calls throw pdcomm::Error with the native PdcommStatus. The only exceptions are pdcomm::DiagnosticLogging and pdcomm::License, which throw std::runtime_error. Calls that build temporary arrays or strings can also throw std::bad_alloc.