| 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);
目次
索引
![]()
|