Interstage Application Server リファレンスマニュアル(API編)
|
目次
索引

|
2.12 POA関連インタフェース
POA(Portable Object Adapter)を使用し、可搬性の高いサーバアプリケーションの実装を実現するための、PortableServerクラス内のインタフェースについて説明します。
//C++
class PortableServer
{
public :
class ServantBase
{
public :
virtual POA_ptr _default_POA(){...}
virtual CORBA::InterfaceDef_ptr _get_interface(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::SystemException );
virtual CORBA::Boolean _is_a(
const char* logical_type_id,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::SystemException );
virtual CORBA::Boolean _non_existent(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::SystemException );
virtual void _add_ref();
virtual void _remove_ref();
void servant_delete();
protected :
ServantBase();
ServantBase(const ServantBase&);
ServantBase& operator=(const ServantBase&);
};
typedef ServantBase* Servant;
class DynamicImplementation : public virtual ServantBase
{
public :
CORBA::Object_ptr _this();
virtual CORBA::Boolean invoke(
CORBA::ServerRequest_ptr request,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual CORBA::RepositoryId _primary_interface(
const ObjectId& oid,
POA_ptr poa,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class POA : public virtual CORBA::Object
{
public :
virtual POA_ptr create_POA(
const CORBA::Char* adapter_name,
POAManager_ptr a_POAManager,
const CORBA::PolicyList& policies,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual POA_ptr find_POA(
const CORBA::Char* adapter_name,
CORBA::Boolean activate_it,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual void destroy(
CORBA::Boolean etherealize_objects,
CORBA::Boolean wait_for_completion,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual ThreadPolicy_ptr create_thread_policy(
ThreadPolicyValue value,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual LifespanPolicy_ptr create_lifespan_policy(
LifespanPolicyValue value,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual IdUniquenessPolicy_ptr create_id_uniqueness_policy(
IdUniquenessPolicyValue value,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual IdAssignmentPolicy_ptr create_id_assignment_policy(
IdAssignmentPolicyValue value,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual ImplicitActivationPolicy_ptr create_implicit_activation_policy(
ImplicitActivationPolicyValue value,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual ServantRetentionPolicy_ptr create_servant_retention_policy(
ServantRetentionPolicyValue value,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual RequestProcessingPolicy_ptr create_request_processing_policy(
RequestProcessingPolicyValue value,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual ServantManager_ptr get_servant_manager(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual void set_servant_manager(
ServantManager_ptr imgr,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual Servant get_servant(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual void set_servant(
Servant p_servant,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual ObjectId* activate_object(
Servant p_servant,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual void activate_object_with_id(
const ObjectId& id,
Servant p_servant,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual void deactivate_object(
const ObjectId& oid,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual CORBA::Object_ptr create_reference(
const CORBA::RepositoryId intf,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual CORBA::Object_ptr create_reference_with_id(
const ObjectId& oid,
const CORBA::RepositoryId intf,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual ObjectId* servant_to_id(
Servant p_servant,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual CORBA::Object_ptr servant_to_reference(
Servant p_servant,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual Servant reference_to_servant(
CORBA::Object_ptr reference,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual ObjectId* reference_to_id(
CORBA::Object_ptr reference,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual Servant id_to_servant(
const ObjectId& oid,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual CORBA::Object_ptr id_to_reference(
const ObjectId& oid,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual AdapterActivator_ptr the_activator(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual void the_activator(
AdapterActivator_ptr arg,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual CORBA::Char* the_name(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual POA_ptr the_parent(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual POAList* the_children(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual POAManager_ptr the_POAManager(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class POAManager
{
public :
virtual void activate(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual void hold_requests(
CORBA::Boolean wait_for_completion,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual void discard_requests(
CORBA::Boolean wait_for_completion,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual void deactivate(
CORBA::Boolean etherealize_objects,
CORBA::Boolean wait_for_completion,
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual POAManager::State get_state(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class ThreadPolicy : public virtual CORBA::Object, public virtual CORBA::Policy
{
public :
virtual ThreadPolicyValue value(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class LifespanPolicy : public virtual CORBA::Object, public virtual CORBA::Policy
{
public :
virtual LifespanPolicyValue value(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class IdUniquenessPolicy : public virtual CORBA::Object, public virtual CORBA::Policy
{
public :
virtual IdUniquenessPolicyValue value(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class IdAssignmentPolicy : public virtual CORBA::Object, public virtual CORBA::Policy
{
public :
virtual IdAssignmentPolicyValue value(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class ImplicitActivationPolicy : public virtual CORBA::Object, public virtual CORBA::Policy
{
public :
virtual ImplicitActivationPolicyValue value(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class ServantRetentionPolicy : public virtual CORBA::Object, public virtual CORBA::Policy
{
public :
virtual ServantRetentionPolicyValue value(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class RequestProcessingPolicy : public virtual CORBA::Object, public virtual CORBA::Policy
{
public :
virtual RequestProcessingPolicyValue value(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
class Current : public virtual CORBA::Object, public virtual CORBA::Current
{
public :
virtual POA_ptr get_POA(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
virtual ObjectId* get_object_id(
CORBA::Environment& = CORBA::Environment() )
throw( CORBA::Exception ) = 0;
};
};
2.12.1 Servantインタフェース
2.12.2 DynamicImplementationインタフェース
2.12.3 POAインタフェース
2.12.4 POAManagerインタフェース
2.12.5 ThreadPolicyインタフェース
2.12.6 LifespanPolicyインタフェース
2.12.7 IdUniquenessPolicyインタフェース
2.12.8 IdAssignmentPolicyインタフェース
2.12.9 ImplicitActivationPolicyインタフェース
2.12.10 ServantRetensionPolicyインタフェース
2.12.11 RequestProcessingPolicyインタフェース
2.12.12 その他のインタフェース
2.12.13 インスタンス解放インタフェース
All Rights Reserved, Copyright(C) 富士通株式会社 2005