Skip to content
Start free evaluation

pdcomm

Namespace

Header-only C++ wrappers over the PDComm SECS/GEM C API.

namespace pdcomm

Declared in: #include <pdcomm.hpp>

The 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.