poa.h
来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· C头文件 代码 · 共 1,088 行 · 第 1/3 页
H
1,088 行
void deactivate_all_objects_i (CORBA::Boolean etherealize_objects
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::WrongPolicy));
void deactivate_all_objects_i (CORBA::Boolean etherealize_objects,
CORBA::Boolean wait_for_completion
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::WrongPolicy));
void wait_for_completions (CORBA::Boolean wait_for_completion
ACE_ENV_ARG_DECL);
void check_poa_manager_state (ACE_ENV_SINGLE_ARG_DECL);
void deactivate_object_i (const PortableServer::ObjectId &oid
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::ObjectNotActive,
PortableServer::POA::WrongPolicy));
void cleanup_servant (
TAO_Active_Object_Map::Map_Entry *active_object_map_entry
ACE_ENV_ARG_DECL
);
void deactivate_map_entry (
TAO_Active_Object_Map::Map_Entry *active_object_map_entry
ACE_ENV_ARG_DECL
);
CORBA::Object_ptr create_reference_i (const char *intf,
CORBA::Short priority
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::WrongPolicy));
CORBA::Object_ptr create_reference_with_id_i (
const PortableServer::ObjectId &oid,
const char *intf,
CORBA::Short priority
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::WrongPolicy));
PortableServer::ObjectId *servant_to_id_i (PortableServer::Servant servant
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::ServantNotActive,
PortableServer::POA::WrongPolicy));
PortableServer::ObjectId *servant_to_system_id (
PortableServer::Servant p_servant,
CORBA::Short &priority
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::ServantNotActive,
PortableServer::POA::WrongPolicy));
PortableServer::ObjectId *servant_to_system_id_i (
PortableServer::Servant p_servant,
CORBA::Short &priority
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::ServantNotActive,
PortableServer::POA::WrongPolicy));
PortableServer::Servant reference_to_servant_i (
CORBA::Object_ptr reference
ACE_ENV_ARG_DECL_WITH_DEFAULTS
)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::ObjectNotActive,
PortableServer::POA::WrongAdapter,
PortableServer::POA::WrongPolicy));
CORBA::Object_ptr servant_to_reference_i (PortableServer::Servant p_servant
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::ServantNotActive,
PortableServer::POA::WrongPolicy));
PortableServer::Servant id_to_servant_i (const PortableServer::ObjectId &oid
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::ObjectNotActive,
PortableServer::POA::WrongPolicy));
CORBA::Object_ptr id_to_reference_i (const PortableServer::ObjectId &oid
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::POA::ObjectNotActive,
PortableServer::POA::WrongPolicy));
/// Call the IORInterceptor::establish_components() method on all
/// registered IORInterceptors.
/**
* This method calls IORInterceptor::establish_components() method
* on all registered IORInterceptors, and
* IORInterceptor::components_established() once the former is
* completed.
*/
void establish_components (ACE_ENV_SINGLE_ARG_DECL);
/// Call the IORInterceptor::components_established() method on all
/// registered IORInterceptors.
void components_established (PortableInterceptor::IORInfo_ptr info
ACE_ENV_ARG_DECL);
int delete_child (const String &child);
void set_folded_name (void);
void set_id (void);
TAO::ObjectKey *create_object_key (const PortableServer::ObjectId &id);
int is_poa_generated_id (const PortableServer::ObjectId &id);
static int parse_key (const TAO::ObjectKey &key,
TAO_Object_Adapter::poa_name &poa_system_name,
PortableServer::ObjectId &system_id,
CORBA::Boolean &is_root,
CORBA::Boolean &is_persistent,
CORBA::Boolean &is_system_id,
TAO_Temporary_Creation_Time &poa_creation_time);
/// Access the list of default POA policies. This list is used as a
/// prototype for creating new POA's. It should
static TAO_POA_Policy_Set &default_poa_policies (void);
protected:
TAO_SERVANT_LOCATION locate_servant_i (const PortableServer::ObjectId &id,
PortableServer::Servant &servant
ACE_ENV_ARG_DECL);
PortableServer::Servant locate_servant_i (
const char *operation,
const PortableServer::ObjectId &id,
TAO_Object_Adapter::Servant_Upcall &servant_upcall,
TAO_POA_Current_Impl &poa_current_impl,
int &wait_occurred_restart_call
ACE_ENV_ARG_DECL
);
const TAO_Creation_Time &creation_time (void);
CORBA::Boolean persistent (void);
char persistent_key_type (void);
static char persistent_key_char (void);
static char transient_key_char (void);
static CORBA::ULong persistent_key_type_length (void);
CORBA::Boolean system_id (void);
char system_id_key_type (void);
static char system_id_key_char (void);
static char user_id_key_char (void);
static CORBA::ULong system_id_key_type_length (void);
CORBA::Boolean root (void);
char root_key_type (void);
static char root_key_char (void);
static char non_root_key_char (void);
static CORBA::ULong root_key_type_length (void);
void outstanding_requests (CORBA::ULong new_outstanding_requests);
CORBA::ULong increment_outstanding_requests (void);
CORBA::ULong decrement_outstanding_requests (void);
TAO_SYNCH_RECURSIVE_MUTEX &single_threaded_lock (void) const;
String name_;
TAO_POA_Manager &poa_manager_;
IOP::TaggedComponentList tagged_component_;
IOP::TaggedComponentList tagged_component_id_;
ACE_Array_Base <IOP::ProfileId> profile_id_array_;
TAO_POA_Policy_Set policies_;
TAO_POA *parent_;
TAO_Active_Object_Map *active_object_map_;
TAO_Object_Adapter::poa_name folded_name_;
TAO_Object_Adapter::poa_name_var system_name_;
CORBA::OctetSeq id_;
/// Keep a copy of the pointer to the actual implementation around
/// so that we can call some TAO-specific methods on it.
TAO_ObjectReferenceTemplate * def_ort_template_;
PortableInterceptor::ObjectReferenceTemplate_var ort_template_;
PortableInterceptor::ObjectReferenceFactory_var obj_ref_factory_;
/// Adapter can be accepting, rejecting etc.
PortableInterceptor::AdapterState adapter_state_;
TAO_POA_Cached_Policies cached_policies_;
int delete_active_object_map_;
#if (TAO_HAS_MINIMUM_POA == 0)
PortableServer::AdapterActivator_var adapter_activator_;
PortableServer::ServantActivator_var servant_activator_;
PortableServer::ServantLocator_var servant_locator_;
PortableServer::ServantBase_var default_servant_;
#endif /* TAO_HAS_MINIMUM_POA == 0 */
#if (TAO_HAS_MINIMUM_CORBA == 0)
/// Implementation Repository Server Object
ServerObject_i *server_object_;
/// Flag for whether the ImR should be used or not.
int use_imr_;
#endif /* TAO_HAS_MINIMUM_CORBA */
typedef
ACE_Hash_Map_Manager_Ex<
ACE_CString, TAO_POA *,
ACE_Hash<ACE_CString>,
ACE_Equal_To<ACE_CString>,
ACE_Null_Mutex
>
CHILDREN;
CHILDREN children_;
ACE_Lock &lock_;
TAO_Creation_Time creation_time_;
TAO_ORB_Core &orb_core_;
// The object adapter we belong to
TAO_Object_Adapter *object_adapter_;
CORBA::Boolean cleanup_in_progress_;
CORBA::Boolean etherealize_objects_;
CORBA::ULong outstanding_requests_;
TAO_SYNCH_CONDITION outstanding_requests_condition_;
CORBA::Boolean wait_for_completion_pending_;
CORBA::Boolean waiting_destruction_;
TAO_SYNCH_CONDITION servant_deactivation_condition_;
CORBA::ULong waiting_servant_deactivation_;
TAO_SYNCH_RECURSIVE_MUTEX *single_threaded_lock_;
CORBA::ULong caller_key_to_object_;
PortableServer::Servant servant_for_key_to_object_;
struct Key_To_Object_Params
{
PortableServer::ObjectId_var *system_id_;
const char *type_id_;
TAO_ServantBase *servant_;
CORBA::Boolean collocated_;
CORBA::Short priority_;
void set (PortableServer::ObjectId_var &system_id_,
const char *type_id_,
TAO_ServantBase *servant_,
CORBA::Boolean collocated_,
CORBA::Short priority_);
};
Key_To_Object_Params key_to_object_params_;
};
/**
* @class TAO_POA_Guard
*
* @brief TAO_POA_Guard
*
* TAO_POA_Guard
*/
class TAO_PortableServer_Export TAO_POA_Guard
{
public:
TAO_POA_Guard (TAO_POA &poa
ACE_ENV_ARG_DECL,
int check_for_destruction = 1);
private:
ACE_Guard<ACE_Lock> guard_;
};
#if (TAO_HAS_MINIMUM_POA == 0)
class TAO_PortableServer_Export TAO_Adapter_Activator
: public PortableServer::AdapterActivator
{
public:
TAO_Adapter_Activator (PortableServer::POAManager_ptr poa_manager);
CORBA::Boolean unknown_adapter (PortableServer::POA_ptr parent,
const char *name
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
protected:
PortableServer::POAManager_var poa_manager_;
// POA Manager
};
#endif /* TAO_HAS_MINIMUM_POA == 0 */
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop)
#endif /* _MSC_VER */
#if defined (__ACE_INLINE__)
# include "POA.i"
#endif /* __ACE_INLINE__ */
#include /**/ "ace/post.h"
#endif /* TAO_POA_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?