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

pdcomm::opcua::license

클래스

OPC UA 라이브러리의 PDComm 라이선스입니다. 라이선스 텍스트를 설치하고, 라이선스 상태와 이 호스트의 ID를 읽습니다.

class license

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

클라이언트 검색(discovery)과 연결에는 opcua-client 모듈 라이선스가, 서버 생성에는 opcua-server 모듈 라이선스가 필요합니다. 라이선스가 없으면 이 호출들은 #PDCOMM_OPCUA_LICENSE_REQUIRED가 담긴 error를 던집니다(error::license_required() 참고). 여기서 설치한 라이선스는 PDCOMM_LICENSE와 PDCOMM_LICENSE_FILE 환경 변수, pdcomm.license 파일과 합쳐서 사용합니다. 모든 멤버는 정적(static)이며 스레드에 안전합니다.

pdcomm::opcua::license::install(license_text);
std::cout << pdcomm::opcua::license::status() << '\n';

멤버

host_id

메서드

이 호스트의 ID PDH1-XXXX-XXXX-XXXX-XXXX를 반환합니다.

static std::string host_id()

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

반환값

호스트에 묶인 라이선스가 지정하는 호스트 ID입니다.

참고

  • 예외 error: 머신 ID를 읽을 수 없으면 #PDCOMM_OPCUA_RUNTIME_ERROR와 함께 발생합니다.

install

메서드

라이선스 텍스트를 설치하고, 이전에 설치한 텍스트를 교체합니다.

static void install(const std::string& text)

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

매개변수

이름설명
textPDCOMM LICENSE 블록이 하나 이상 들어 있는 텍스트입니다. 빈 텍스트를 넘기면 설치한 텍스트를 제거합니다.

참고

  • 예외 error: 서명이 검증되는 블록이 없거나, 1 MiB보다 크거나, UTF-8이 아니면 #PDCOMM_OPCUA_INVALID_INPUT과 함께 발생합니다. 이전 텍스트는 그대로 설치되어 있습니다.

status

메서드

라이선스 상태 JSON을 반환합니다(pdcomm_opcua_license_status() 참고).

static std::string status()

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

반환값

host_id, sources, licenses, modules 상태가 들어 있는 UTF-8 JSON 객체입니다.

참고

  • 예외 error: 상태를 읽을 수 없으면 발생합니다.