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

pdcomm::GemFormattedProgramExecutionAction

클래스

라이브러리가 실행을 위해 애플리케이션에 수행을 요청하는 동작 하나입니다.

class GemFormattedProgramExecutionAction

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

실행은 장비 하드웨어를 직접 다루지 않습니다. 대신 애플리케이션에 동작을 하나씩 넘깁니다. 프로그램을 담은 시작 동작, 다음 명령을 담은 단계 동작, 또는 취소 동작입니다. 장비 도구(tool)에서 동작을 수행한 뒤 token()을 사용해 submitFormattedProgramExecutionActionResult()로 결과를 보고합니다. 동작은 노출하는 모든 데이터의 사본을 소유합니다.

auto start = pdcomm::startFormattedProgramExecution(equipment, selection, report);
pdcomm::submitFormattedProgramExecutionActionResult(
    equipment, start.action.token(),
    PDCOMM_GEM_FORMATTED_PROGRAM_EXECUTION_ACTION_RESULT_ACCEPTED);
auto step = pdcomm::stepFormattedProgramExecution(equipment, start.token);
auto code = step.commandCode();  // apply the command on the tool
pdcomm::submitFormattedProgramExecutionActionResult(
    equipment, step.token(), PDCOMM_GEM_FORMATTED_PROGRAM_EXECUTION_ACTION_RESULT_APPLIED);

참고

  • 이동 전용(move-only) RAII 래퍼입니다. 조회 함수는 동시에 실행될 수 있지만, 소멸은 조회 함수와 경합해서는 안 됩니다. 빈 동작에서 조회 함수를 호출하면 PDCOMM_INVALID_ARGUMENT를 담은 pdcomm::Error를 던집니다.

멤버

GemFormattedProgramExecutionAction

생성자

네이티브 핸들을 소유하지 않는 빈 동작을 만듭니다.

GemFormattedProgramExecutionAction() noexcept = default

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

GemFormattedProgramExecutionAction

생성자

other가 소유한 네이티브 핸들의 소유권을 넘겨받습니다.

GemFormattedProgramExecutionAction(GemFormattedProgramExecutionAction &&other) noexcept

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

매개변수

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

GemFormattedProgramExecutionAction

생성자

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

GemFormattedProgramExecutionAction(const GemFormattedProgramExecutionAction &) = delete

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

commandCode

메서드

단계 동작이 적용을 요청하는 명령의 CCODE를 반환합니다.

SecsItem commandCode() const

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

반환값

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

참고

  • 예외 pdcomm::Error: 동작이 명령을 담고 있지 않으면 PDCOMM_INVALID_STATE입니다.

info

메서드

동작을 설명합니다.

GemFormattedProgramExecutionActionInfo info() const

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

반환값

종류, 존재 비트, 식별자, 명령 위치와 개수입니다.

참고

  • 예외 pdcomm::Error: 빈 동작이면 PDCOMM_INVALID_ARGUMENT입니다.

model

메서드

시작 동작이 담은 MDLN을 복사합니다.

std::string model() const

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

반환값

모델 텍스트입니다.

참고

  • 예외 pdcomm::Error: 동작이 프로그램을 담고 있지 않으면 PDCOMM_INVALID_STATE입니다.

operator bool

메서드

래퍼가 네이티브 동작을 소유하는지 알려 줍니다.

explicit operator bool() const noexcept

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

반환값

동작을 소유하면 true입니다.

operator=

메서드

현재 핸들을 해제한 뒤 other가 소유한 핸들의 소유권을 넘겨받습니다.

GemFormattedProgramExecutionAction &operator=(GemFormattedProgramExecutionAction &&other) noexcept

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

매개변수

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

반환값

이 래퍼입니다.

operator=

메서드

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

GemFormattedProgramExecutionAction &operator=(const GemFormattedProgramExecutionAction &) = delete

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

parameter

메서드

단계 동작이 적용을 요청하는 명령의 PPARM 하나를 반환합니다.

SecsItem parameter(size_t index) const

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

매개변수

이름설명
index0부터 시작하는 파라미터 위치입니다. GemFormattedProgramExecutionActionInfo::parameterCount보다 작아야 합니다.

반환값

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

참고

  • 예외 pdcomm::Error: 동작이 명령을 담고 있지 않으면 PDCOMM_INVALID_STATE, index가 잘못되면 PDCOMM_OUT_OF_RANGE입니다.

programId

메서드

시작 동작이 담은 PPID를 반환합니다.

SecsItem programId() const

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

반환값

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

참고

  • 예외 pdcomm::Error: 동작이 프로그램을 담고 있지 않으면 PDCOMM_INVALID_STATE입니다.

softwareRevision

메서드

시작 동작이 담은 SOFTREV를 복사합니다.

std::string softwareRevision() const

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

반환값

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

참고

  • 예외 pdcomm::Error: 동작이 프로그램을 담고 있지 않으면 PDCOMM_INVALID_STATE입니다.

token

메서드

이 동작의 결과를 보고할 때 사용할 토큰을 반환합니다.

GemFormattedProgramExecutionActionToken token() const

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

반환값

info()로 만든 동작 토큰입니다.

참고

  • 예외 pdcomm::Error: info()와 같은 상태 코드입니다.

~GemFormattedProgramExecutionAction

메서드

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

~GemFormattedProgramExecutionAction()

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

빈 동작은 아무것도 해제하지 않습니다.