インターフェース

インターフェースは、パブリック・サービスのセットで構成される契約を指定する一種の分類子です。 インターフェースは、インスタンス化できないエンティティーで、1 つのクラス、オブジェクト、ブロック、ファイルで実現され、複数のこれらのエンティティーで実現される場合もあります。

C プログラミングの観点では、インターフェースは、一連のグローバル関数宣言と、グローバル仮想関数への void ポインターから成る構造で表現されます。

例えば、あるクラス B がグローバル関数 read()parse() を含むとすると、 以下のグローバル宣言を使用したインターフェース I_B が存在します。

void I_B_parse(void * const void_me);
void I_B_read(void * const void_me);


構造は以下のようになります。

typedef struct I_B_Vtbl{
   size_t I_B_offset;
   RiCBoolean (*I_B_gen)(void * const void_me, RiCEvent* event,
      RiCBoolean fromISR);

   void (*I_B_parse)(void * const void_me);
   void (*I_B_read)(void * const void_me);

} I_B_Vtbl;

フィードバック