KOM を使う / OpenParts の使い方
前のページ | 第 2章KDE オブジェクトモデル (KOM) | 次のページ

# 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()`によってそれを利用できるということを示しています。

前のページ | Home | 次のページ
KOMリファレンス | Up | 集約演算でコンポーネントの拡張 - KOM::Aggregate