Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) |
目次
索引
![]() ![]() |
第5章 アプリケーションの開発(C++言語) | > 5.5 データ型に対するマッピング |
IDL言語でインタフェース宣言を定義すると、C++言語ではクラスにマッピングされます。
以降では、以下のIDL定義例をもとに説明します。
interface A { ... // オペレーション定義 };
typedef A *A_ptr; class A : public virutual CORBA::Object { public: static A_ptr _duplicate( A_ptr ); static A_ptr _narrow( CORBA::Object_ptr ); static A_ptr _nil(); // オペレーション定義 ... };
CORBA::Objectクラスを継承しているため、CORBA::Objectクラスのメンバ関数も使用できます。
メソッド |
意味 |
_duplicate() |
パラメタで指定されたインタフェースオブジェクトの複製を作成します。 |
_narrow() |
パラメタで指定されたオブジェクトの情報を複製し、そのオブジェクトをインタフェースオブジェクト型に変換して返します。 |
_nil() |
NILオブジェクトを返します。 |
is_nil() |
指定されたオブジェクトがNILかを調べます(CORBA::Objectクラス継承関数)。 |
release() |
指定されたオブジェクトを解放します(CORBA::Objectクラス継承関数)。 |
パラメタで指定されたインタフェースオブジェクトの複製を作成します。
// 使用例 A_ptr obj; obj ... // objectを何らかの方法で獲得 A_ptr obj_copy = A::_duplicate( obj );
パラメタで指定されたオブジェクトの情報を複製し、そのオブジェクトをインタフェースオブジェクト型に変換して返します。
// 使用例 CORBA::Object_ptr obj = NamingContext_obj->resolve( *name , env ); // NamingServiceからオブジェクトを取得 A_ptr target = A::_narrow( obj ); // CORBA::Object_ptr型をA_ptrに変換
NILオブジェクトリファレンスを返します。
// 使用例 A_ptr obj; obj = A::_nil(); // NILを設定
指定されたオブジェクトがNILか調べます。NILであればCORBA_TRUEを、そうでない場合はCORBA_FALSEを返します。
// 使用例 A_ptr obj; CORBA::Environment env; ... obj->is_nil(env);
指定されたオブジェクトを解放します。
A_ptr obj; CORBA::Environment env; ... obj->release(env);
目次
索引
![]() ![]() |