생성자 및 소멸자는 패키지 스펙 파일에서 이벤트에 대해 정의됩니다. 예를 들면, 다음과 같습니다.
/* Constructors and destructors: */ ev1 * RiC_Create_ev1(); void ev1_Init(ev1* const me); void ev1_Cleanup(ev1* const me); void RiC_Destroy_ev1(ev1* const me);
이벤트 작성 및 영구 삭제 오퍼레이션의 이름은 이벤트 초기화 및 정리 오퍼레이션의 이름과 약간 다른 패턴을 가지고 있습니다.
패키지에 대한 구현 파일에서 이벤트 생성자 및 소멸자의 구현이 생성됩니다. 예를 들면, 다음과 같습니다.
ev1 * RiC_Create_ev1() {
ev1* me = (ev1*) malloc(sizeof(ev1));
ev1_Init(me);
return me;
}
동적으로 할당되는 이벤트를 사용하여, 작성자 함수는 이벤트에 대한 메모리를 할당하고 이벤트 초기자(initializer)를 통해 이벤트를 초기화합니다.
void ev1_Init(ev1* const me) {
RiCEvent_init(&me->ric_event, ev1_Default_id, NULL);
me->ric_event.lId = ev1_Default_id;
}
void ev1_Cleanup(ev1* const me) {
RiCEvent_cleanup(&me->ric_event);
}
void RiCDestroy_ev1(ev1* const me) {
ev1_Cleanup(me);
free(me);
}
이벤트 생성 및 전송에 대한 정보는 이벤트 보내기의 내용을 참조하십시오.