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 インスタンス解放インタフェース
Copyright 2006 FUJITSU LIMITED