Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

第5章 アプリケーションの開発(C++言語)> 5.3 サーバアプリケーションのプログラミング(Portable Object Adapter:POA)> 5.3.4 静的スケルトンインタフェース

5.3.4.6 ネーミングサービスへの登録

 生成したオブジェクトリファレンスをネーミングサービスへ登録します。OD_or_admコマンドでオブジェクトリファレンスの事前生成/登録を行っている場合は、必要ありません。

【ネーミングサービスへの登録】

  #include "CosNaming_cplus.h"
     : 
  CORBA::Environment  env;   // 例外情報
  :
  try {
      // ネーミングサービスのオブジェクトリファレンスの取得
      CORBA::Object_ptr  obj = orb->resolve_initial_references( "NameService", env ); 
      // NamingContext型に変換
      CosNaming::NamingContext_ptr cos_naming = 
                       CosNaming::NamingContext::_narrow( obj ); 
      
      CosNaming::Name                name;

      name.length( 1 );
      name[0]->id   = ( const CORBA::Char* )"ODsample::intf";
      name[0]->kind = ( const CORBA::Char* )"";

      try {
          cos_naming->unbind( name, env ); //同名の古いオブジェクトリファレンスがあれば削除
      }
      catch( CORBA::Exception& e )
      {
          ;
      }
      cos_naming->bind( name, env ); //オブジェクトリファレンスの登録
  }
  catch( CORBA::Exception& e ) {
      ...  //例外処理
  }

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005