7.3.2 rootPOAの取得

コードサンプル7-1および7-2に,サーバアプリケーションがどのようにrootPOAを取得できるかを示します。

コードサンプル7-1 rootPOAの取得(C++)

// Initialize the ORB.
CORBA::Object_var obj =
     orb->resolve_initial_references("RootPOA");
// get a reference to the rootPOA
PortableServer::POA_var rootPOA =
     PortableServer::POA::_narrow(obj);

コードサンプル7-2 rootPOAの取得(Java)

// Initialize the ORB.
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
// get a reference to the rootPOA
org.omg.PortableServer.POA rootPOA =
     POAHelper.narrow(
                orb.resolve_initial_references("RootPOA"));

resolve_initial_referencesメソッドは,CORBA::Object型の値(C++)またはorg.omg.CORBA.Object型の値(Java)を返します。返されたオブジェクトリファレンスを希望の型(上記のサンプルではPortableServer::POA(C++),またはorg.omg.PortableServer.POA(Java))にナロウするのはプログラマの責任です。