WebOTX Manual V11.1 (第6版) 目次を表示 |
1.1. 共通オペレーション |
全てのCORBAアプリケーションに必要な初期化と全てのCORBAオブジェクトで共通のオペレーションについての説明です。
CORBA::ORB_init | ORBを初期化する |
CORBA::is_nil | nilオブジェクトの判定 |
CORBA::release | 領域の解放 |
CORBA::add_ref | リファレンスカウント値を1つ増やす |
CORBA::remove_ref | リファレンスカウント値を1つ減らす |
CORBA::ORB_init - ORBを初期化する
#include <orb.h> CORBA::ORB_ptr CORBA::ORB_init( int& argc, char** argv, const char* orb_identifier, CORBA::Environment& env = Ob_default_environment() );
CORBA::ORB_initはクライアントおよびサーバの起動時に、ORBの初期化を行います。また、戻り値として、ORBインタフェースにアクセスするためのCORBA::ORB疑似オブジェクトを獲得します。以後、このオブジェクトを使って、ORBインタフェースを呼び出すことができます。
argc, argvにはプログラム起動時にmain関数に渡されたargcおよびargvをそのまま渡します。orb_identifierには"ObjectSpinner"を指定します。
CORBA::ORB擬似オブジェクトが返ります。
CORBAシステム例外がthrowされます。
CORBA::is_nil - nilオブジェクトの判定
#include <orb.h> CORBA::Boolean CORBA::is_nil( CORBA::Environment_ptr obj, CORBA::Environment& env = Ob_default_environment() ); CORBA::Boolean CORBA::is_nil( CORBA::NamedValue_ptr obj, CORBA::Environment& env = Ob_default_environment() ); CORBA::Boolean CORBA::is_nil( CORBA::NVList_ptr obj, CORBA::Environment& env = Ob_default_environment() ); CORBA::Boolean CORBA::is_nil( CORBA::Request_ptr obj, CORBA::Environment& env = Ob_default_environment() ); CORBA::Boolean CORBA::is_nil( CORBA::Context_ptr obj, CORBA::Environment& env = Ob_default_environment() ); CORBA::Boolean CORBA::is_nil( CORBA::TypeCode_ptr obj, CORBA::Environment& env = Ob_default_environment() ); CORBA::Boolean CORBA::is_nil( CORBA::ORB_ptr obj, CORBA::Environment& env = Ob_default_environment() ); CORBA::Boolean CORBA::is_nil( CORBA::Object_ptr obj, CORBA::Environment& env = Ob_default_environment() );
CORBA::is_nilはobjで指定されたオブジェクトがnilオブジェクトかどうかを判定します。
CORBA::Booleanが返ります。
1 : objがnilオブジェクトのとき
0 : objがnilオブジェクト以外のとき
例外情報がthrowされます。
CORBA::release - 領域の解放
#include <orb.h> void CORBA::release( CORBA::Object_ptr obj, CORBA::Environment& env = Ob_default_environment() ); void CORBA::release( CORBA::Environment_ptr obj, CORBA::Environment& env = Ob_default_environment() ); void CORBA::release( CORBA::NamedValue_ptr obj, CORBA::Environment& env = Ob_default_environment() ); void CORBA::release( CORBA::NVList_ptr obj, CORBA::Environment& env = Ob_default_environment() ); void CORBA::release( CORBA::Request_ptr obj, CORBA::Environment& env = Ob_default_environment() ); void CORBA::release( CORBA::Context_ptr obj, CORBA::Environment& env = Ob_default_environment() ); void CORBA::release( CORBA::TypeCode_ptr obj, CORBA::Environment& env = Ob_default_environment() ); void CORBA::release( CORBA::ORB_ptr obj, CORBA::Environment& env = Ob_default_environment() ); void CORBA::release( CORBA::Object_ptr obj, CORBA::Environment& env = Ob_default_environment() );
CORBA::releaseは関数内で動的に作成されたオブジェクトobjを解放します。
対象となるオブジェクトの型を次に示します。
_ptr型のout引数
_ptr型の返り値
ありません。
例外情報がthrowされます。
CORBA::add_ref - リファレンスカウントを増やす
#include <orb.h> void CORBA::add_ref( CORBA::ValueBase* val, CORBA::Environment& env = Ob_default_environment() );
バリュー型かnullどうかを意識せずにリファレンスカウント操作を行えます。
バリュー型valのリファレンスカウント値を1つ増します。
バリュー型がnullの場合は、何もしません。
ありません。
例外情報がthrowされます。
CORBA::remove_ref - リファレンスカウント値を減らす
#include <orb.h> void CORBA::remove_ref( CORBA::ValueBase* val, CORBA::Environment& env = Ob_default_environment() );
バリュー型かnullどうかを意識せずにリファレンスカウント操作を行えます。
バリュー型valのリファレンスカウント値を1つ減らし、 減らした結果、リファレンスカウント値が0になれば、valをdeleteします。
バリュー型がnullの場合は、何もしません。
ありません。
例外情報がthrowされます。