pdcomm::GemFormattedProgramExecutionAction
클래스
라이브러리가 실행을 위해 애플리케이션에 수행을 요청하는 동작 하나입니다.
class GemFormattedProgramExecutionAction실행은 장비 하드웨어를 직접 다루지 않습니다. 대신 애플리케이션에 동작을 하나씩 넘깁니다. 프로그램을 담은 시작 동작, 다음 명령을 담은 단계 동작, 또는 취소 동작입니다. 장비 도구(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 = defaultGemFormattedProgramExecutionAction
생성자
other가 소유한 네이티브 핸들의 소유권을 넘겨받습니다.
GemFormattedProgramExecutionAction(GemFormattedProgramExecutionAction &&other) noexcept매개변수
| 이름 | 설명 |
|---|---|
other | 원본 래퍼입니다. 호출 후 비게 됩니다. |
GemFormattedProgramExecutionAction
생성자
복사할 수 없습니다. 래퍼가 네이티브 핸들을 단독으로 소유합니다.
GemFormattedProgramExecutionAction(const GemFormattedProgramExecutionAction &) = deletecommandCode
메서드
단계 동작이 적용을 요청하는 명령의 CCODE를 반환합니다.
SecsItem commandCode() const반환값
독립적으로 소유되는 아이템입니다.
참고
- 예외
pdcomm::Error: 동작이 명령을 담고 있지 않으면PDCOMM_INVALID_STATE입니다.
info
메서드
동작을 설명합니다.
GemFormattedProgramExecutionActionInfo info() const반환값
종류, 존재 비트, 식별자, 명령 위치와 개수입니다.
참고
- 예외
pdcomm::Error: 빈 동작이면PDCOMM_INVALID_ARGUMENT입니다.
model
메서드
시작 동작이 담은 MDLN을 복사합니다.
std::string model() const반환값
모델 텍스트입니다.
참고
- 예외
pdcomm::Error: 동작이 프로그램을 담고 있지 않으면PDCOMM_INVALID_STATE입니다.
operator bool
메서드
래퍼가 네이티브 동작을 소유하는지 알려 줍니다.
explicit operator bool() const noexcept반환값
동작을 소유하면 true입니다.
operator=
메서드
현재 핸들을 해제한 뒤 other가 소유한 핸들의 소유권을 넘겨받습니다.
GemFormattedProgramExecutionAction &operator=(GemFormattedProgramExecutionAction &&other) noexcept매개변수
| 이름 | 설명 |
|---|---|
other | 원본 래퍼입니다. 호출 후 비게 됩니다. |
반환값
이 래퍼입니다.
operator=
메서드
복사 대입을 할 수 없습니다. 래퍼가 네이티브 핸들을 단독으로 소유합니다.
GemFormattedProgramExecutionAction &operator=(const GemFormattedProgramExecutionAction &) = deleteparameter
메서드
단계 동작이 적용을 요청하는 명령의 PPARM 하나를 반환합니다.
SecsItem parameter(size_t index) const매개변수
| 이름 | 설명 |
|---|---|
index | 0부터 시작하는 파라미터 위치입니다. GemFormattedProgramExecutionActionInfo::parameterCount보다 작아야 합니다. |
반환값
독립적으로 소유되는 아이템입니다.
참고
- 예외
pdcomm::Error: 동작이 명령을 담고 있지 않으면PDCOMM_INVALID_STATE,index가 잘못되면PDCOMM_OUT_OF_RANGE입니다.
programId
메서드
시작 동작이 담은 PPID를 반환합니다.
SecsItem programId() const반환값
독립적으로 소유되는 ASCII 또는 Binary 아이템입니다.
참고
- 예외
pdcomm::Error: 동작이 프로그램을 담고 있지 않으면PDCOMM_INVALID_STATE입니다.
softwareRevision
메서드
시작 동작이 담은 SOFTREV를 복사합니다.
std::string softwareRevision() const반환값
소프트웨어 리비전 텍스트입니다.
참고
- 예외
pdcomm::Error: 동작이 프로그램을 담고 있지 않으면PDCOMM_INVALID_STATE입니다.
token
메서드
이 동작의 결과를 보고할 때 사용할 토큰을 반환합니다.
GemFormattedProgramExecutionActionToken token() const반환값
info()로 만든 동작 토큰입니다.
참고
- 예외
pdcomm::Error: info()와 같은 상태 코드입니다.
~GemFormattedProgramExecutionAction
메서드
pdcomm_gem_formatted_program_execution_action_destroy()로 네이티브 핸들을 해제합니다.
~GemFormattedProgramExecutionAction()빈 동작은 아무것도 해제하지 않습니다.