public 오퍼레이션

public 오퍼레이션은 오브젝트에 대한 인터페이스의 일부입니다. public 오퍼레이션의 선언은 오브젝트의 struct 선언 다음에 오브젝트에 대한 스펙 파일에서 생성됩니다. public 오퍼레이션의 정의는 오브젝트에 대한 구현 파일에서 생성됩니다.

예를 들어, public 오퍼레이션 open()에 대한 Valve 오브젝트의 스펙 파일에서 다음 선언이 생성됩니다.

/*## operation open() */
void Valve_open(Valve* const me);

public 오퍼레이션 open()에 대한 Valve 오브젝트의 구현 파일에서 다음 정의가 생성됩니다.

void Valve_open(Valve* const me) {
   NOTIFY_OPERATION(me, &me, NULL, Valve, Valve_open, Valve_open(),
      0, Default_Valve_open_SERIALIZE);
   /*#[ operation open() */
   /*#]*/
}

애니메이션을 위해 NOTIFY_OPERATION 매크로가 사용됩니다. 새 오퍼레이션이 호출되었음을 애니메이터에 알립니다. NOTIFY_OPERATION 매크로는 애니메이션이 사용되는 경우에만 코드에 삽입됩니다.

public 오퍼레이션에 대해 이름이 생성되는 방법을 제어하려면 C_CG::Operation::PublicName 특성을 사용하십시오. 이 특성의 기본값인 $objectName_$opName은 오퍼레이션 이름에 오브젝트 이름을 접두부로 붙입니다. 예를 들어, 난방 시스템에서 밸브를 열기 위한 공용 선언의 이름은 Valve_open()입니다.

$objectName 다음에 :I 스위치를 사용하여(예: $objectName:I 또는 $objectName:i) 오브젝트 이름의 대문자(및 숫자)만 되도록 $objectName을 펼치십시오.


피드백