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

pdcomm::GemFormattedProgramStoreSnapshot

클래스

장비의 정형 프로그램 저장소를 복사한 변경 불가능한 사본입니다.

class GemFormattedProgramStoreSnapshot

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

스냅숏은 모든 프로그램의 전체 사본을 소유합니다. 이후 저장소가 바뀌어도, 끝점이 소멸된 뒤에도 유효합니다. formattedProgramStoreSnapshot()으로 얻습니다.

const auto snapshot = pdcomm::formattedProgramStoreSnapshot(equipment);
for (size_t entry = 0; entry < snapshot.info().entryCount; ++entry) {
    auto id = snapshot.id(entry);
    std::cout << snapshot.model(entry) << ' ' << snapshot.entryInfo(entry).commandCount << '\n';
}

참고

  • 이동 전용(move-only) RAII 래퍼입니다. getter는 동시에 실행할 수 있지만 소멸과 경합해서는 안 됩니다. 빈 스냅숏의 getter는 PDCOMM_INVALID_ARGUMENT와 함께 pdcomm::Error를 던집니다.

멤버

GemFormattedProgramStoreSnapshot

생성자

네이티브 핸들을 소유하지 않는 빈 스냅숏을 만듭니다.

GemFormattedProgramStoreSnapshot() noexcept = default

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

GemFormattedProgramStoreSnapshot

생성자

other가 소유한 네이티브 핸들의 소유권을 가져옵니다.

GemFormattedProgramStoreSnapshot(GemFormattedProgramStoreSnapshot &&other) noexcept

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

매개변수

이름설명
other원본 래퍼입니다. 호출 후 비게 됩니다.

GemFormattedProgramStoreSnapshot

생성자

복사할 수 없습니다. 래퍼가 네이티브 핸들을 단독으로 소유합니다.

GemFormattedProgramStoreSnapshot(const GemFormattedProgramStoreSnapshot &) = delete

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

commandCode

메서드

저장된 프로그램 하나의 명령 하나에서 CCODE를 반환합니다.

SecsItem commandCode(size_t entryIndex, size_t commandIndex) const

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

매개변수

이름설명
entryIndex0부터 시작하는 프로그램 위치입니다.
commandIndex0부터 시작하는 명령 위치입니다.

반환값

독립적으로 소유되는 아이템입니다.

참고

  • 예외 pdcomm::Error: 인덱스가 잘못되면 PDCOMM_OUT_OF_RANGE입니다.

commandInfo

메서드

저장된 프로그램 하나의 명령 하나를 설명합니다.

GemFormattedProgramStoreCommandInfo commandInfo(size_t entryIndex, size_t commandIndex) const

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

매개변수

이름설명
entryIndex0부터 시작하는 프로그램 위치입니다.
commandIndex0부터 시작하는 명령 위치입니다.

반환값

파라미터 수와 CCODE 형식입니다.

참고

  • 예외 pdcomm::Error: 인덱스가 잘못되면 PDCOMM_OUT_OF_RANGE입니다.

entryInfo

메서드

저장된 프로그램 하나를 설명합니다.

GemFormattedProgramStoreEntryInfo entryInfo(size_t entryIndex) const

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

매개변수

이름설명
entryIndex0부터 시작하는 프로그램 위치입니다. GemFormattedProgramStoreInfo::entryCount보다 작아야 합니다.

반환값

명령 수와 PPID 형식입니다.

참고

  • 예외 pdcomm::Error: 인덱스가 잘못되면 PDCOMM_OUT_OF_RANGE입니다.

id

메서드

저장된 프로그램 하나의 PPID를 반환합니다.

SecsItem id(size_t entryIndex) const

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

매개변수

이름설명
entryIndex0부터 시작하는 프로그램 위치입니다.

반환값

독립적으로 소유되는 ASCII 또는 Binary 아이템입니다.

참고

  • 예외 pdcomm::Error: 인덱스가 잘못되면 PDCOMM_OUT_OF_RANGE입니다.

info

메서드

스냅숏에 담긴 카운터와 한도를 반환합니다.

GemFormattedProgramStoreInfo info() const

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

반환값

리비전, 개수, 크기와 한도입니다.

참고

  • 예외 pdcomm::Error: 빈 스냅숏이면 PDCOMM_INVALID_ARGUMENT입니다.

model

메서드

저장된 프로그램 하나의 MDLN을 복사합니다.

std::string model(size_t entryIndex) const

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

매개변수

이름설명
entryIndex0부터 시작하는 프로그램 위치입니다.

반환값

모델 텍스트입니다.

참고

  • 예외 pdcomm::Error: 인덱스가 잘못되면 PDCOMM_OUT_OF_RANGE입니다.

operator bool

메서드

래퍼가 네이티브 스냅숏을 소유하는지 알려 줍니다.

explicit operator bool() const noexcept

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

반환값

스냅숏을 소유하면 true입니다.

operator=

메서드

현재 핸들을 해제한 다음 other가 소유한 핸들의 소유권을 가져옵니다.

GemFormattedProgramStoreSnapshot &operator=(GemFormattedProgramStoreSnapshot &&other) noexcept

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

매개변수

이름설명
other원본 래퍼입니다. 호출 후 비게 됩니다.

반환값

이 래퍼입니다.

operator=

메서드

복사 대입할 수 없습니다. 래퍼가 네이티브 핸들을 단독으로 소유합니다.

GemFormattedProgramStoreSnapshot &operator=(const GemFormattedProgramStoreSnapshot &) = delete

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

parameter

메서드

저장된 프로그램 하나의 명령 하나에서 PPARM 하나를 반환합니다.

SecsItem parameter(size_t entryIndex, size_t commandIndex, size_t parameterIndex) const

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

매개변수

이름설명
entryIndex0부터 시작하는 프로그램 위치입니다.
commandIndex0부터 시작하는 명령 위치입니다.
parameterIndex0부터 시작하는 파라미터 위치입니다.

반환값

독립적으로 소유되는 아이템입니다.

참고

  • 예외 pdcomm::Error: 인덱스가 잘못되면 PDCOMM_OUT_OF_RANGE입니다.

softwareRevision

메서드

저장된 프로그램 하나의 SOFTREV를 복사합니다.

std::string softwareRevision(size_t entryIndex) const

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

매개변수

이름설명
entryIndex0부터 시작하는 프로그램 위치입니다.

반환값

소프트웨어 리비전 텍스트입니다.

참고

  • 예외 pdcomm::Error: 인덱스가 잘못되면 PDCOMM_OUT_OF_RANGE입니다.

~GemFormattedProgramStoreSnapshot

메서드

pdcomm_gem_formatted_program_store_snapshot_destroy()로 네이티브 핸들을 해제합니다.

~GemFormattedProgramStoreSnapshot()

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

빈 스냅숏은 아무것도 해제하지 않습니다.