13.1.12 擬似オブジェクトのC++へのマッピング
CORBA擬似オブジェクトは、通常のCORBAオブジェクトまたはサーバーレス・オブジェクトとして実装できます。CORBA仕様における、これらの戦略の基本的な違いは次のとおりです。
- サーバーレス・オブジェクト型は
CORBA::Objectを継承しません。 - 個々のサーバーレス・オブジェクトは、ORBに登録されません。
- サーバーレス・オブジェクトは、通常のIDL型と同じメモリー管理規則に必ずしも従うわけではありません。
サーバーレス・オブジェクトへのリファレンスは、アドレス空間などのコンピュータ間のコンテキストで有効とはかぎりません。かわりに、パラメータとして渡されるサーバーレス・オブジェクトへのリファレンスでは、このリファレンスの受信側が使用するオブジェクトの、非依存的で機能的に同じコピーが作成されます。これをサポートするには、データ・レイアウトなど、サーバーレス・オブジェクトのほかの隠れた表現プロパティをORBに認識させます。この章では、ORBにサーバーレス・オブジェクトを認識させる仕様については、実装上の詳細事項のため説明は割愛します。
この章では、すべての擬似オブジェクト型の標準的なマッピング・アルゴリズムについて説明します。これにより、9種類のCORBA擬似オブジェクト型ごとのマッピングについて、説明が断片的にならずに済み、CORBAの将来のリビジョンで提供される可能性のある擬似オブジェクト型にも対応できます。また、Cマッピングの表現に依存せずに、C互換の表現に依存した実装を実現することができます。
親トピック: マッピング