Objectインタフェース


 
4.4.1.14. CORBA::Objectクラス


名前

CORBA::Object::_request, CORBA::Object::_create_request

- リクエストオブジェクトの生成

形式

機能説明

リクエスト疑似オブジェクトを生成して返します。_request関数は戻り値として返し、2つの_create_request関数はrequestに返します。

operationにはオペレーション名を指定します。

ctxにはコンテキストを指定します。

arg_listには引数の情報を渡します。

resultには戻り値の情報を指定します。

req_flagsにはオペレーションがonewayなら0を指定し、それ以外は1を指定します。

envは関数内で起きた例外の情報を取得するために指定します(オプション)。

_request関数は、リクエストオブジェクトを生成したあと、引数や戻り値などのオペレーション情報をセットしたいときに使います。

_create_request関数は、オペレーション情報をあらかじめ作成してから、リクエストオブジェクトを生成するときに使います。

オペレーションのIDL定義で、例外やコンテキストの指定をしたものは、exceptscontextsの引数がある方の関数を使います。

それぞれの引数に渡す情報がないときには、それぞれの疑似オブジェクトのnilオブジェクトを指定してください。ナルポインタを渡すと例外が返ります。

戻り値

_request関数は生成したリクエストオブジェクトを返します。

_create_request関数は関数の実行結果が正常か異常かを返します。正常ならばCORBA::Status_Successを返し、異常ならばCORBA::Status_Failedを返します。生成したリクエストオブジェクトはrequest引数に返します。

生成されたリクエストオブジェクトは呼び出し側に解放する責任があります。

エラー

CORBA標準例外がthrowされます。

関連項目

動的起動インタフェース(DII)


名前

CORBA::Object::_duplicate - 論理的コピーを作る

形式

機能説明

CORBA::Object::_duplicateはobjで指定されたオブジェクトリファレンスの論理的コピーを作ります。

envは関数内で起きた例外の情報を取得するために指定します(オプション)。

戻り値

オブジェクトリファレンスの論理的コピーを作ります。

エラー

CORBA標準例外がthrowされます。

関連項目

CORBA::ORB::string_to_object, CORBA::ORB::object_to_string, PortableServer::POA::create_reference, PortableServer::POA::create_reference_with_id


名前

CORBA::Object::_get_implementation

- インプリメンテーション情報を取り出す

形式

機能説明

CORBA::Object::_get_implementationはインプリメンテーション情報を取り出します。

envは関数内で起きた例外の情報を取得するために指定します(オプション)。

戻り値

オブジェクトリファレンス生成時に指定した、インプリメンテーション定義が返ります。

エラー

CORBA標準例外がthrowされます。


名前

CORBA::Object::_get_interface - オブジェクトのインターフェースの取得

形式

機能説明

オブジェクトリファレンスのインターフェースを表す、インターフェースオブジェクトのオブジェクトリファレンスを返します。

オブジェクトリファレンスが他のベンダのものであったり、あらかじめインターフェースリポジトリを使う設定にしてあるときは、実装オブジェクトに問い合わせます。それ以外は、疑似インターフェースオブジェクトを作成し返します。

あらかじめインターフェースリポジトリを使う設定にするときは、CORBA::ORB::__use_IR関数を使います。

envは関数内で起きた例外の情報を取得するために指定します(オプション)。

戻り値

オブジェクトリファレンスのインターフェースオブジェクトを返します。

戻り値は呼び出し側に解放する責任があります。

エラー

CORBA標準例外がthrowされます。

関連項目

CORBA::Object::_get_implementation

CORBA::ORB::__use_IR,

インタフェースリポジトリ


名前

CORBA::Object::_is_a - オブジェクトがインタフェースをサポートしているかどうか

形式

機能説明

オブジェクトリファレンスに対する実装オブジェクトが、logical_type_idをもつインターフェースをサポートしていれば1を返し、そうでなければ0を返します。

envは関数内で起きた例外の情報を取得するために指定します(オプション)。

たとえば、次の継承関係のインターフェースはこのような結果になります。

戻り値

インターフェースをサポートしているか否かを表すブーリアン値を返します。

エラー

CORBA標準例外がthrowされます。

注意

インターフェースリポジトリがないときはCORBA標準例外がthrowされます。


名前

CORBA::Object::_non_existent - 実装オブジェクトの存在の有無

形式

機能説明

オブジェクトリファレンスに対する実装オブジェクトが存在していれば0を返し、そうでなければ1を返します。

envは関数内で起きた例外の情報を取得するために指定します(オプション)。

戻り値

実装オブジェクトが存在するか否かを表すブーリアン値を返します。

エラー

CORBA標準例外がthrowされます。


名前

CORBA::Object::_is_equivalent - オブジェクトリファレンスの比較

形式

機能説明

oが同じものであれば1を返し、そうでなければ0を返します。

envは関数内で起きた例外の情報を取得するために指定します(オプション)。

戻り値

oが等しいか否かのブーリアン値を返します。

エラー

CORBA標準例外がthrowされます。


名前

CORBA::Object::_hash - オブジェクトリファレンスのハッシュ値

形式

機能説明

オブジェクトリファレンスをハッシュテーブルで管理するときに使います。maximumはハッシュテーブルのサイズを指定します。

envは関数内で起きた例外の情報を取得するために指定します(オプション)。

戻り値

オブジェクトリファレンスを表す一意の数値をmaximumで割ったときのあまりを返します。

エラー

CORBA標準例外がthrowされます。


名前

CORBA::Object::_nil - nilオブジェクトリファレンスを返す

形式

機能説明

常に同じnilオブジェクトリファレンスを返します。

この戻り値をCORBA::is_nil関数に渡すと1が返ります。

戻り値

戻り値をCORBA::Object_var型に代入したり、CORBA::release関数で解放しても、何も起こりません。解放しなくても問題ありません。

また、_duplicate関数の引数に用いても何も起こりません。

エラー

はじめて呼び出されたときにメモリが足りないとCORBA::NO_MEMORY例外がthrowされます。

関連項目

CORBA::Object::_duplicate,

CORBA::release,

CORBA::is_nil


名前

CORBA::Object::__version

- 実装オブジェクトのバージョンを得る

形式

機能説明

実装オブジェクトのバージョンを返します。

__version関数は呼び出し側のためのインターフェースです。また、__version関数を呼び出したとき、実際に結果を返す関数はPortableServer::Servant::__version関数です。__version関数のデフォルト動作は"1.0"文字列を返すのみですが、オブジェクト実装クラスでオーバライドすることにより、動作を変えることができます。

envは、関数を呼び出した後、例外の有無を調べるために指定します(オプション)。

戻り値

バージョン情報を文字列で返します。戻り値は解放してください。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::Servant::__version


名前

CORBA::Object::__hostname - 実装オブジェクトのホスト名を得る

CORBA::Object::__ipaddress - 実装オブジェクトのIPアドレスを得る

形式

機能説明

__hostname関数は実装オブジェクトが動作するホスト名、alias名を返します。

__ipaddress関数は実装オブジェクトが動作するホストのIPアドレスを返します。

複数のIPアドレスをもつホストも存在することがありますので、シーケンス型で返します。

envは、関数を呼び出した後、例外の有無を調べるために指定します(オプション)。

戻り値

ホスト名、IPアドレスともに文字列のシーケンス型で返します。

エラー

CORBA標準例外がthrowされます。


名前

CORBA::Object::__lifetime

- 実装オブジェクトのライフタイムを得る

CORBA::Object::__createtime

- 実装オブジェクトの生成時刻を得る

CORBA::Object::__createobjreftime - オブジェクトリファレンスの生成時刻を得る

形式

機能説明

__lifetime関数は実装オブジェクトのライフタイムを返します。

__createtime関数は実装オブジェクトの生成時刻を返します。

__createobjreftime関数はオブジェクトリファレンスの生成時刻を返します。

envは、関数を呼び出した後、例外の有無を調べるために指定します(オプション)。

__lifetime関数と__createtime関数は呼び出し側のためのインターフェースです。また、これらの関数を呼び出したとき、実際に結果を返す関数はPortableServer::Servant::__lifetime関数とPortableServer::Servant::__createtime関数です。__createtime関数のデフォルト動作はC++オブジェクトが生成されたときの時刻を返します。__lifetime関数のデフォルト動作は「現在の時刻 - __createtimeの結果」を返します。それぞれの関数をオブジェクト実装クラスでオーバライドすることにより、動作を変えることができます。

戻り値

秒単位で計測した時間をCORBA::ULong型で返します。

生成した時刻は1970年1月1日00:00:00 UTCからの時間を返します。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::Servant::__lifetime, PortableServer::Servant::__createtime


名前

CORBA::Object::__status

- オブジェクトのステータスを得る

形式

機能説明

実装オブジェクトのステータスを返します。

__status関数は呼び出し側のためのインターフェースです。また、この関数を呼び出したとき、実際に結果を返す関数はPortableServer::Servant::__status関数です。__status関数のデフォルト動作は0の値を返すのみですが、オブジェクト実装クラスでオーバライドすることにより、動作を変えることができます。

戻り値

ステータスの値をCORBA::ULong型で返します。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::Servant::__status


名前

CORBA::Object::__stop

- 実装オブジェクトが動作するプロセスの終了

形式

機能説明

クライアントからの呼び出しによって実装オブジェクトが動作するプロセスを終了させたいときに、このオペレーションを使います。

__stop関数は呼び出し側のためのインターフェースです。また、この関数を呼び出したとき、実際に結果を返す関数はPortableServer::Servant::__stop関数です。

本来、PortableServer::Servant::__stop関数は何もしません。しかし、オブジェクト実装クラスで__stop関数をオーバライドすることにより、動作を変えることができます。例えば、CORBA::ORB::run関数の処理から抜けるようにするにはオーバーライドした関数内でCORBA::ORB::shutdown関数を呼び出します。

envは、関数を呼び出した後、例外の有無を調べるために指定します(オプション)。

戻り値

ありません。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::Servant::__stop


名前

CORBA::Object::__is_active - 実装オブジェクトが動作するプロセスの状態

形式

機能説明

実装オブジェクトが動作するプロセスが活性化されていれば1を返し、そうでなければ0を返します。

envは、関数を呼び出した後、例外の有無を調べるために指定します(オプション)。

戻り値

ありません。

エラー

CORBA標準例外がthrowされます。