25.4 OAD

class Activation::OAD : public virtual CORBA::Object

OADクラスは,OADへのアクセスを提供します。管理ツールは,オブジェクトのリスティング,登録,再登録をするときにOADクラスを使用します。OADのプログラム的管理のためにクライアントコードで使用することもできます。

コードサンプル25-1 OAD IDL

module Activation {
   interface OAD {
     extension::CreationImplDef create_CreationImplDef();

     Object reg_implementation(
           in extension::CreationImplDef impl)
         raises(DuplicateEntry, InvalidPath);

     extension::CreationImplDef get_implementation(
           in CORBA::RepositoryId repId,
           in CORBA::RepositoryId repId,
           in string object_name)
         raises(NotRegistered);

     void change_implementation(
           in extension::CreationImplDef old_info,
           in extension::CreationImplDef new_info)
         raises(NotRegistered, InvalidPath, IsActive);

     attribute boolean destroy_on_unregister;

     void unreg_implementation(
           in CORBA::RepositoryId repId,
           in string object_name)
         raises(NotRegistered);

     void unreg_interface(in CORBA::RepositoryId repId)
         raises(NotRegistered);

     void unregister_all();

     ImplementationStatus get_status(
           in CORBA::RepositoryId repId,
           in string object_name)
         raises(NotRegistered);

     ImplStatusList get_status_interface(
           in CORBA::RepositoryId repId)
         raises(NotRegistered);

     ImplStatusList get_status_all();

     Object lookup_interface(
           in CORBA::RepositoryId repId,
           in long timeout)
         raises(NotRegistered, FailedToExecute,
                NotResponding, Busy);

     Object lookup_implementation(
           in CORBA::RepositoryId repId,
           in string object_name, in long timeout)
         raises(NotRegistered, FailedToExecute,
                NotResponding, Busy);

     extension::CreationImplDef boa_active_obj(
           in Object obj, in string repository_id,
           in long unique_id)
         raises(NotRegistered);

     void boa_deactive_obj(in Object obj,
           in string repository_id,
           in long unique_id)
         raises(NotRegistered);

   string generated_command(
            in extension::CreationImplDef impl);

   string generated_environment(
            in extension::CreationImplDef impl);

   };
};

<この節の構成>
25.4.1 インクルードファイル
25.4.2 OADのメソッド