| Interstage Application Server リファレンスマニュアル(API編) |
目次
索引
![]()
|
| 第1章 C言語インタフェース | > 1.1 ORBインタフェース |
CORBA_ORB_string_to_object
#include <orb.h>
CORBA_Object CORBA_ORB_string_to_object(
CORBA_ORB orb,
CORBA_string str,
CORBA_Environment *env );
strで指定した文字列をオブジェクトリファレンスに変換します。“アプリケーション作成ガイド(CORBAサービス編)”の“URLスキーマ”に記述されているすべての形式の文字列を変換することができます。ただし、文字列に日本語を含むことはできません。
本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。
正常終了した場合は、オブジェクトリファレンスが設定されます。
異常終了した場合は、env構造体の_majorにはCORBA_SYSTEM_EXCEPTIONが設定され、_idと_minorに詳細情報が設定されます。_idの意味と値は次のとおりです。
_minorの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
strにはCORBA_ORB_object_to_string()によって取得できる“IOR:”で始まる形式の文字列の他、“cobaloc”や“corbaname”で始まる形式の文字列も指定が可能です。詳細は“アプリケーション作成ガイド(CORBAサービス編)”の“URLスキーマ”を参照してください。
int main(int argc, char **argv)
{
CORBA_ORB orb;
CORBA_Object obj_ns, obj_sv, obj_sv2;
CORBA_Environment env;
int current_argc = argc;
CosNaming_Name name;
CosNaming_NameComponent name_component;
orb = CORBA_ORB_init( ¤t_argc, argv, FJ_OM_ORBid, &env );
name._length = name._maximum = 1;
name._buffer = &name_component;
name_component.id = "test1::intf1";
name_component.kind = "";
obj_ns = CORBA_ORB_string_to_object(
orb,
"corbaloc::nshost:8002/NameService",
&env );
obj_sv = CosNaming_NamingContext_resolve( obj_ns, &name, &env );
obj_sv2 = CORBA_ORB_string_to_object(
orb,
"corbaname::nshost:8002/NameService#test1::intf1",
&env );
test_intf1_add( obj_sv, 1, 2, &env );
test_intf1_add( obj_sv2, 1, 2, &env );
return 0;
}
目次
索引
![]()
|