名前
CORBA_ORB_init
形式
#include <orb.h> CORBA_ORB CORBA_ORB_init( int *arg_c, char **arg_v, CORBA_ORBid orb_identifier, CORBA_Environment *env);
機能説明
ORBを初期化し、ORBのオブジェクトリファレンスを返します。本関数を発行することにより、以降に記述する各関数を使用できます。返されたオブジェクトリファレンスは、他のORBインタフェースを呼び出す場合のパラメタに使用します。
パラメタ
main関数に渡されるargcをコピーしたものへのポインタ。
main関数に渡されるargvをコピーしたものへのポインタ。
ORBを識別するための名前。FJ_OM_ORBidを指定。
例外情報が格納される構造体。
復帰値
正常終了した場合は、ORBのオブジェクトリファレンスが設定されます。
異常終了した場合は、env構造体の_majorにはCORBA_SYSTEM_EXCEPTIONが設定され、_idと_minorに詳細情報が設定されます。
_idと_minorの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
注意事項
本関数は、1プロセスで2回以上呼び出さないでください。
備考
sharedサーバ、またはunsharedサーバの場合、サーバアプリケーションの起動パラメタ(OD_impl_instコマンドの -axオプションで指定する定義ファイル内のparamで定義されます)は、arg_v に以下のORBの制御パラメタに続いて設定されます。
第1パラメタ "-ORB_FJ_PROC_ID" 第2パラメタ プロセス番号 第3パラメタ "-ORB_FJ_HOME_DIR" 第4パラメタ $OD_HOMEの設定値
CORBA_ORB_init()の引数にHTTPトンネリング用のパラメタを渡す事で、クライアントアプリケーションにおいてHTTPトンネリングを使用することが可能です。mainの引数をCORBA_ORB_init()にそのまま渡しているアプリケーションの場合は、起動時のパラメタにHTTPトンネリング用のパラメタを指定してください。HTTPトンネリングの詳細については、“セキュリティシステム運用ガイド”の“HTTPトンネリングの起動方法”を参照してください。
CORBA_ORB_resolve_initial_references()によってクライアント固有のイニシャルサービスのオブジェクトリファレンスを獲得する場合、“アプリケーション作成ガイド(CORBAサービス編)”の“ネーミングサービスのイニシャルリファレンスの獲得”にしたがってargc, argvに値を設定する必要があります。
使用例
main引数をそのままCORBA_ORB_init()に渡している場合、コマンドラインからの実行時に該当の引数を設定してください。
HTTPトンネル用のパラメタ設定サンプル
char *argv[] = { "", /* 最初の引数は無視されます */ "-ORB_FJ_HTTP", "yes", "-ORB_FJ_HTTPGW", "http://host.com/od-httpgw", NULL }; int argc = 5; CORBA_Environment env; CORBA_ORB orb; orb = CORBA_ORB_init( &argc, argv, FJ_OM_ORBid, &env );
クライアント固有のイニシャルサービスの設定サンプル
char *argv[] = { "", /* 最初の引数は無視されます */ "-ORBInitRef", "NameService=corbaloc::nshost:8002/NameService", "-ORBDefaultInitRef", "corbaloc::inithost:8002", NULL }; int argc = 5; CORBA_Environment env; CORBA_ORB orb; orb = CORBA_ORB_init( &argc, argv, FJ_OM_ORBid, &env );