イベント・コンストラクターとデストラクター

コンストラクターとデストラクターは、パッケージの宣言ファイルのイベントに定義されます。 例:

/* 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);
}
注: イベントの実行時に動的メモリー割り振りを使用するのではなく、イベントの実行開始時に静的にメモリー・ブロックを割り振ることが可能です。 詳細については、イベントの静的割り振りを参照してください。

イベントの生成と送信について詳しくは、イベントの送信を参照してください。


フィードバック