pdcomm::GemFormattedProgramDryRunReport
클래스
선택된 정형 프로그램을 읽기 전용으로 구조 분석한 결과입니다.
class GemFormattedProgramDryRunReportdryRunFormattedProgram()은 선택된 프로그램을 장비의 S7F22 기능 카탈로그(capability catalog)와 비교합니다. 모델과 소프트웨어 리비전, 명령 수와 크기, 알려진 명령 코드, 필수 명령을 확인합니다. 의존성이나 파라미터 의미처럼 라이브러리가 판단할 수 없는 검사는 판정 불가(indeterminate)로 보고합니다. 시험 실행은 아무것도 실행하지 않으며 실제 물리적 실행이 성공한다고 보장하지 않습니다.
보고서는 내용을 소유합니다. 이 분석에 묶인 실행을 시작하려면 보고서를 startFormattedProgramExecution()에 넘깁니다.
auto token = pdcomm::selectFormattedProgram(equipment, id);
auto report = pdcomm::dryRunFormattedProgram(
equipment, token, pdcomm::gemFormattedProgramDryRunOptions(8, 4096));
if (report.info().outcome == PDCOMM_GEM_FORMATTED_PROGRAM_DRY_RUN_REJECT)
for (size_t i = 0; i < report.info().issueCount; ++i)
std::cout << report.issue(i).code << '\n';참고
- 이동 전용(move-only) RAII 래퍼입니다. getter는 동시에 실행할 수 있지만 소멸과 경합해서는 안 됩니다. 빈 보고서의 getter는
PDCOMM_INVALID_ARGUMENT와 함께 pdcomm::Error를 던집니다.
멤버
GemFormattedProgramDryRunReport
생성자
네이티브 핸들을 소유하지 않는 빈 보고서를 만듭니다.
GemFormattedProgramDryRunReport() noexcept = defaultGemFormattedProgramDryRunReport
생성자
other가 소유한 네이티브 핸들의 소유권을 가져옵니다.
GemFormattedProgramDryRunReport(GemFormattedProgramDryRunReport &&other) noexcept매개변수
| 이름 | 설명 |
|---|---|
other | 원본 래퍼입니다. 호출 후 비게 됩니다. |
GemFormattedProgramDryRunReport
생성자
복사할 수 없습니다. 래퍼가 네이티브 핸들을 단독으로 소유합니다.
GemFormattedProgramDryRunReport(const GemFormattedProgramDryRunReport &) = deleteinfo
메서드
보고서의 요약을 반환합니다.
GemFormattedProgramDryRunInfo info() const반환값
결과, 정책, 기록된 세대 값, 크기와 문제 수입니다.
참고
- 예외
pdcomm::Error: 빈 보고서이면PDCOMM_INVALID_ARGUMENT입니다.
issue
메서드
보고서의 발견 사항 하나를 반환합니다.
GemFormattedProgramDryRunIssueInfo issue(size_t index) const매개변수
| 이름 | 설명 |
|---|---|
index | 0부터 시작하는 발견 사항 위치입니다. GemFormattedProgramDryRunInfo::issueCount보다 작아야 합니다. |
반환값
코드, 심각도, 존재 비트와 값입니다.
참고
- 예외
pdcomm::Error:index가 잘못되면PDCOMM_OUT_OF_RANGE, 빈 보고서이면PDCOMM_INVALID_ARGUMENT입니다.
model
메서드
분석한 프로그램의 MDLN을 복사합니다.
std::string model() const반환값
모델 텍스트입니다.
참고
- 예외
pdcomm::Error: 빈 보고서이면PDCOMM_INVALID_ARGUMENT입니다.
nativeHandle
메서드
읽기 전용 C API 호출에 쓸, 소유한 네이티브 핸들을 반환합니다.
const PdcommGemFormattedProgramDryRunReportHandle *nativeHandle() const noexcept반환값
핸들입니다. 빈 보고서이면 nullptr입니다. 소유권은 이 래퍼에 남습니다.
operator bool
메서드
래퍼가 네이티브 보고서를 소유하는지 알려 줍니다.
explicit operator bool() const noexcept반환값
보고서를 소유하면 true입니다.
operator=
메서드
현재 핸들을 해제한 다음 other가 소유한 핸들의 소유권을 가져옵니다.
GemFormattedProgramDryRunReport &operator=(GemFormattedProgramDryRunReport &&other) noexcept매개변수
| 이름 | 설명 |
|---|---|
other | 원본 래퍼입니다. 호출 후 비게 됩니다. |
반환값
이 래퍼입니다.
operator=
메서드
복사 대입할 수 없습니다. 래퍼가 네이티브 핸들을 단독으로 소유합니다.
GemFormattedProgramDryRunReport &operator=(const GemFormattedProgramDryRunReport &) = deleteprogramId
메서드
분석한 프로그램의 PPID를 아이템으로 반환합니다.
SecsItem programId() const반환값
독립적으로 소유되는 ASCII 또는 Binary 아이템입니다.
참고
- 예외
pdcomm::Error: 빈 보고서이면PDCOMM_INVALID_ARGUMENT입니다.
programIdBytes
메서드
분석한 프로그램의 PPID 원시 바이트를 복사합니다.
std::vector<uint8_t> programIdBytes() const반환값
PPID 페이로드입니다. 형식은 GemFormattedProgramDryRunInfo::idFormat으로 확인합니다.
참고
- 예외
pdcomm::Error: 빈 보고서이면PDCOMM_INVALID_ARGUMENT입니다.
softwareRevision
메서드
분석한 프로그램의 SOFTREV를 복사합니다.
std::string softwareRevision() const반환값
소프트웨어 리비전 텍스트입니다.
참고
- 예외
pdcomm::Error: 빈 보고서이면PDCOMM_INVALID_ARGUMENT입니다.
~GemFormattedProgramDryRunReport
메서드
pdcomm_gem_formatted_program_dry_run_destroy()로 네이티브 핸들을 해제합니다.
~GemFormattedProgramDryRunReport()빈 보고서는 아무것도 해제하지 않습니다.