コンストラクターとデストラクターは、パッケージの宣言ファイルのイベントに定義されます。 例:
/* 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;
}
動的割り振りイベントでは、クリエーター関数によってイベントのメモリーが割り振られ、イベント・イニシャライザーによって初期設定されます。
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);
}
イベントの生成と送信について詳しくは、イベントの送信を参照してください。