Kデスクトップ環境

2.6. コンポーネント - KOM::Component インタフェース

コンポーネントインタフェースは、ベースインタフェースから派生し、更にこのコンポーネント用の小さなインタフェースを提供します。ダイナミック集約演算による新しいインタフェース提供の可能性とプラグインコンポーネントを追加する標準的な方法を結合させています。 これによってCORBAオブジェクトは、起動時に機能を強化性を持ちます。

5種類のインタフェースがあります:

組み込みインタフェースは全て、オブジェクトが直接実装するインタフェースです。これはそのイ ンタフェースが実際のオブジェクト実装の一部であり、ADD_INTERFACEマクロ(komComponent.hの)経由で、指定できるということです。 ですから例としてインタフェースディスクリプションは次のようなものになります:
   1 module Foo
   2 {
   3   interface MyInterface : AnotherInterface
   4   {
   5     ...
   6   };
   7 };

このインタフェースの実装構造に次の行を追加すべきでしょう:
   1 ConstructorNameOfMyInterface::ConstructorNameOfMyInterface( ... )
   2 {
   3   ...
   4   ADD_INTERFACE( "IDL:Foo/MyInterface:1.0" );
   5   ...
   6 }

このようにしてコンポーネントがインタフェース"Foo/インタフェース"をサポートしており、 したがって、3つの関数getInterface()interfaces()supportsInterface()によってそれを利用できるということを示しています。