pdcomm::opcua::license
클래스
OPC UA 라이브러리의 PDComm 라이선스입니다. 라이선스 텍스트를 설치하고, 라이선스 상태와 이 호스트의 ID를 읽습니다.
class license클라이언트 검색(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()반환값
호스트에 묶인 라이선스가 지정하는 호스트 ID입니다.
참고
- 예외
error: 머신 ID를 읽을 수 없으면 #PDCOMM_OPCUA_RUNTIME_ERROR와 함께 발생합니다.
install
메서드
라이선스 텍스트를 설치하고, 이전에 설치한 텍스트를 교체합니다.
static void install(const std::string& text)매개변수
| 이름 | 설명 |
|---|---|
text | PDCOMM LICENSE 블록이 하나 이상 들어 있는 텍스트입니다. 빈 텍스트를 넘기면 설치한 텍스트를 제거합니다. |
참고
- 예외
error: 서명이 검증되는 블록이 없거나, 1 MiB보다 크거나, UTF-8이 아니면 #PDCOMM_OPCUA_INVALID_INPUT과 함께 발생합니다. 이전 텍스트는 그대로 설치되어 있습니다.
status
메서드
라이선스 상태 JSON을 반환합니다(pdcomm_opcua_license_status() 참고).
static std::string status()반환값
host_id, sources, licenses, modules 상태가 들어 있는 UTF-8 JSON 객체입니다.
참고
- 예외
error: 상태를 읽을 수 없으면 발생합니다.