OpenDDS  Snapshot(2023/04/07-19:43)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OpenDDS::DCPS::ConditionImpl Class Reference

#include <ConditionImpl.h>

Inheritance diagram for OpenDDS::DCPS::ConditionImpl:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::ConditionImpl:
Collaboration graph
[legend]

Public Member Functions

DDS::ReturnCode_t attach_to_ws (DDS::WaitSet_ptr ws)
 
DDS::ReturnCode_t detach_from_ws (DDS::WaitSet_ptr ws)
 
void signal_all ()
 
- Public Member Functions inherited from DDS::Condition
boolean get_trigger_value ()
 
- Public Member Functions inherited from OpenDDS::DCPS::LocalObjectBase
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
virtual CORBA::ULong _refcount_value () const
 
- Public Member Functions inherited from CORBA::LocalObject
virtual ~LocalObject (void)
 
virtual CORBA::Boolean _non_existent (void)
 
virtual char * _repository_id (void)
 
virtual CORBA::InterfaceDef_ptr _get_interface (void)
 
virtual CORBA::Object_ptr _get_component (void)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::ExceptionList_ptr exclist, CORBA::ContextList_ptr ctxtlist, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual CORBA::Request_ptr _request (const char *operation)
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 
virtual CORBA::ULong _hash (CORBA::ULong maximum)
 
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj)
 
virtual CORBA::ORB_ptr _get_orb (void)
 
virtual TAO::ObjectKey_key (void)
 
- Public Member Functions inherited from CORBA::Object
virtual ~Object (void)
 
virtual TAO_Abstract_ServantBase_servant (void) const
 
virtual CORBA::Boolean _is_collocated (void) const
 
virtual CORBA::Boolean _is_local (void) const
 
 Object (TAO_Stub *p, CORBA::Boolean collocated=false, TAO_Abstract_ServantBase *servant=0, TAO_ORB_Core *orb_core=0)
 
 Object (IOP::IOR *ior, TAO_ORB_Core *orb_core)
 
virtual TAO_Stub_stubobj (void) const
 
virtual TAO_Stub_stubobj (void)
 
virtual void _proxy_broker (TAO::Object_Proxy_Broker *proxy_broker)
 
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr)
 
CORBA::Boolean is_evaluated (void) const
 
TAO_ORB_Coreorb_core (void) const
 
IOP::IORsteal_ior (void)
 
const IOP::IORior (void) const
 
virtual bool can_convert_to_ior (void) const
 
virtual char * convert_to_ior (bool use_omg_ior_format, const char *ior_prefix) const
 
void _decr_refcount (void)
 
virtual CORBA::Boolean _is_a (const char *logical_type_id)
 
virtual const char * _interface_repository_id (void) const
 
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
 
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
 
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
 
CORBA::PolicyList_get_policy_overrides (const CORBA::PolicyTypeSeq &types)
 
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
 
- Public Member Functions inherited from OpenDDS::DCPS::RcObject
virtual ~RcObject ()
 
long ref_count () const
 
WeakObject_get_weak_object () const
 

Protected Member Functions

 ConditionImpl ()
 
virtual ~ConditionImpl ()
 
typedef OPENDDS_SET (OpenDDS::DCPS::WeakRcHandle< DDS::WaitSet >) WaitSetSet
 
- Protected Member Functions inherited from CORBA::LocalObject
 LocalObject (void)
 
- Protected Member Functions inherited from CORBA::Object
 Object (int dummy=0)
 
TAO::Object_Proxy_Brokerproxy_broker () const
 
- Protected Member Functions inherited from OpenDDS::DCPS::RcObject
 RcObject ()
 

Protected Attributes

WaitSetSet waitsets_
 
ACE_Recursive_Thread_Mutex lock_
 
- Protected Attributes inherited from CORBA::Object
ACE_Atomic_Op< TAO_SYNCH_MUTEX, unsigned long > refcount_
 

Additional Inherited Members

- Public Types inherited from OpenDDS::DCPS::LocalObject< DDS::Condition >
typedef DDS::Condition ::_ptr_type _ptr_type
 
typedef DDS::Condition ::_var_type _var_type
 
- Public Types inherited from CORBA::LocalObject
typedef LocalObject_ptr _ptr_type
 
typedef LocalObject_var _var_type
 
typedef LocalObject_out _out_type
 
- Public Types inherited from CORBA::Object
typedef Object_ptr _ptr_type
 
typedef Object_var _var_type
 
typedef Object_out _out_type
 
- Static Public Member Functions inherited from OpenDDS::DCPS::LocalObject< DDS::Condition >
static _ptr_type _narrow (CORBA::Object_ptr obj)
 
- Static Public Member Functions inherited from CORBA::LocalObject
static LocalObject_ptr _duplicate (LocalObject_ptr obj)
 
static LocalObject_ptr _nil (void)
 
static LocalObject_ptr _narrow (CORBA::Object_ptr obj)
 
- Static Public Member Functions inherited from CORBA::Object
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
 
static void _tao_any_destructor (void *)
 
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
 
static void tao_object_initialize (Object *)
 
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)
 
static CORBA::Object_ptr _nil (void)
 
static CORBA::Object_ptr _narrow (CORBA::Object_ptr obj)
 

Detailed Description

Definition at line 27 of file ConditionImpl.h.

Constructor & Destructor Documentation

◆ ConditionImpl()

OpenDDS::DCPS::ConditionImpl::ConditionImpl ( )
inlineprotected

Definition at line 35 of file ConditionImpl.h.

35 {}

◆ ~ConditionImpl()

virtual OpenDDS::DCPS::ConditionImpl::~ConditionImpl ( )
inlineprotectedvirtual

Definition at line 36 of file ConditionImpl.h.

References OPENDDS_SET().

36 {}

Member Function Documentation

◆ attach_to_ws()

DDS::ReturnCode_t OpenDDS::DCPS::ConditionImpl::attach_to_ws ( DDS::WaitSet_ptr  ws)

◆ detach_from_ws()

DDS::ReturnCode_t OpenDDS::DCPS::ConditionImpl::detach_from_ws ( DDS::WaitSet_ptr  ws)

◆ OPENDDS_SET()

typedef OpenDDS::DCPS::ConditionImpl::OPENDDS_SET ( OpenDDS::DCPS::WeakRcHandle< DDS::WaitSet )
protected

Referenced by ~ConditionImpl().

◆ signal_all()

void OpenDDS::DCPS::ConditionImpl::signal_all ( )

Definition at line 16 of file ConditionImpl.cpp.

References ACE_DEBUG, ACE_GUARD, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, DDS::Condition::get_trigger_value(), LM_DEBUG, lock_, and waitsets_.

Referenced by OpenDDS::DCPS::DataReaderImpl::notify_read_conditions(), OpenDDS::DCPS::EntityImpl::notify_status_condition(), OpenDDS::DCPS::StatusConditionImpl::set_enabled_statuses(), and DDS::GuardCondition::set_trigger_value().

17 {
18  if (DCPS_debug_level > 9) {
19  ACE_DEBUG((LM_DEBUG,
20  ACE_TEXT("(%P|%t) ConditionImpl::signal_all()\n")));
21  }
22 
23  if (!get_trigger_value()) return;
24 
25  WaitSetSet local_ws;
26  {
28  local_ws = waitsets_;
29  }
30 
31  if (DCPS_debug_level > 9) {
32  ACE_DEBUG((LM_DEBUG,
33  ACE_TEXT("(%P|%t) ConditionImpl::signal_all() - ")
34  ACE_TEXT("number of sets: %B\n"),
35  local_ws.size()));
36  }
37 
38  for (WaitSetSet::iterator it = local_ws.begin(), end = local_ws.end();
39  it != end; ++it) {
40  RcHandle<DDS::WaitSet> ws ((*it).lock());
41  if (ws)
42  ws->signal(this);
43  }
44 }
#define ACE_DEBUG(X)
ACE_Recursive_Thread_Mutex lock_
Definition: ConditionImpl.h:42
#define ACE_GUARD(MUTEX, OBJ, LOCK)
boolean get_trigger_value()
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
Definition: debug.cpp:30
ACE_TEXT("TCP_Factory")

Member Data Documentation

◆ lock_

ACE_Recursive_Thread_Mutex OpenDDS::DCPS::ConditionImpl::lock_
protected

◆ waitsets_

WaitSetSet OpenDDS::DCPS::ConditionImpl::waitsets_
protected

Definition at line 39 of file ConditionImpl.h.

Referenced by attach_to_ws(), detach_from_ws(), and signal_all().


The documentation for this class was generated from the following files: