#include <StatusConditionImpl.h>
Public Member Functions | |
StatusConditionImpl (EntityImpl *e) | |
virtual | ~StatusConditionImpl () |
CORBA::Boolean | get_trigger_value () |
virtual DDS::StatusMask | get_enabled_statuses () |
virtual DDS::ReturnCode_t | set_enabled_statuses (DDS::StatusMask mask) |
virtual DDS::Entity_ptr | get_entity () |
Private Attributes | |
EntityImpl * | parent_ |
DDS::StatusMask | mask_ |
Definition at line 25 of file StatusConditionImpl.h.
OpenDDS::DCPS::StatusConditionImpl::StatusConditionImpl | ( | EntityImpl * | e | ) | [inline, explicit] |
Definition at line 29 of file StatusConditionImpl.h.
00030 : parent_(e) 00031 , mask_(::OpenDDS::DCPS::DEFAULT_STATUS_MASK) 00032 {}
virtual OpenDDS::DCPS::StatusConditionImpl::~StatusConditionImpl | ( | ) | [inline, virtual] |
Definition at line 34 of file StatusConditionImpl.h.
DDS::StatusMask OpenDDS::DCPS::StatusConditionImpl::get_enabled_statuses | ( | ) | [virtual] |
Implements DDS::StatusCondition.
Definition at line 32 of file StatusConditionImpl.cpp.
References OpenDDS::DCPS::ConditionImpl::lock_, and mask_.
00033 { 00034 ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, g, lock_, 0); 00035 return mask_; 00036 }
DDS::Entity_ptr OpenDDS::DCPS::StatusConditionImpl::get_entity | ( | ) | [virtual] |
Implements DDS::StatusCondition.
Definition at line 48 of file StatusConditionImpl.cpp.
References CORBA::LocalObject::_duplicate(), and parent_.
00049 { 00050 return DDS::Entity::_duplicate(parent_); 00051 }
CORBA::Boolean OpenDDS::DCPS::StatusConditionImpl::get_trigger_value | ( | ) |
Implements DDS::Condition.
Definition at line 17 of file StatusConditionImpl.cpp.
References ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, OpenDDS::DCPS::EntityImpl::get_status_changes(), LM_DEBUG, OpenDDS::DCPS::ConditionImpl::lock_, mask_, and parent_.
00018 { 00019 ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, g, lock_, false); 00020 00021 if (DCPS_debug_level > 9) { 00022 ACE_DEBUG((LM_DEBUG, 00023 ACE_TEXT("(%P|%t) StatusConditionImpl::get_trigger_value() - ") 00024 ACE_TEXT("mask==0x%x, changes==0x%x.\n"), 00025 this->mask_, 00026 this->parent_->get_status_changes())); 00027 } 00028 00029 return (parent_->get_status_changes() & mask_) > 0; 00030 }
DDS::ReturnCode_t OpenDDS::DCPS::StatusConditionImpl::set_enabled_statuses | ( | DDS::StatusMask | mask | ) | [virtual] |
Definition at line 39 of file StatusConditionImpl.cpp.
References OpenDDS::DCPS::ConditionImpl::lock_, mask_, DDS::RETCODE_OK, DDS::RETCODE_OUT_OF_RESOURCES, and OpenDDS::DCPS::ConditionImpl::signal_all().
00040 { 00041 ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, g, lock_, 00042 DDS::RETCODE_OUT_OF_RESOURCES); 00043 mask_ = mask; 00044 signal_all(); 00045 return DDS::RETCODE_OK; 00046 }
Definition at line 48 of file StatusConditionImpl.h.
Referenced by get_enabled_statuses(), get_trigger_value(), and set_enabled_statuses().
Deliberately not a _var, don't hold a reference to the parent since it is guaranteed to outlive us and we don't want a cyclical reference
Definition at line 47 of file StatusConditionImpl.h.
Referenced by get_entity(), and get_trigger_value().