콘텐츠로 이동
무료 평가 시작

pdcomm

네임스페이스

PDComm SECS/GEM C API를 감싸는 헤더 전용(header-only) C++ 래퍼입니다.

namespace pdcomm

선언 위치: #include <pdcomm.hpp>

이 네임스페이스의 클래스는 RAII로 네이티브 핸들을 소유하고, PDCOMM_OK가 아닌 모든 상태를 예외로 바꿉니다. 스레드, 콜백(callback), 숨은 상태를 추가하지 않으며, 각 호출은 하나 이상의 pdcomm_* C 함수로 전달됩니다.

  • pdcomm::SecsItem: SECS-II 데이터 아이템(item)입니다(SEMI E5).
  • pdcomm::TcpEndpoint와 pdcomm::TcpEvent: HSMS 전송입니다(SEMI E37).
  • pdcomm::GemHost와 pdcomm::GemEquipment: GEM 호스트와 장비 역할입니다(SEMI E30).
  • pdcomm::Gem300CapabilityCatalog: GEM300 기능(capability) 선언입니다.
  • pdcomm::DiagnosticLogging: 선택적 라이브러리 진단입니다.
  • pdcomm::License: 라이선스 설치, 상태, 호스트 ID입니다(pdcomm_license.hpp).

오류: 래퍼 호출은 네이티브 PdcommStatus를 담은 pdcomm::Error를 던집니다. 예외는 pdcomm::DiagnosticLogging과 pdcomm::License뿐이며, 이 클래스들은 std::runtime_error를 던집니다. 임시 배열이나 문자열을 만드는 호출은 std::bad_alloc도 던질 수 있습니다.