OpenDDS::DCPS::StatusConditionImpl Class Reference

#include <StatusConditionImpl.h>

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

List of all members.

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

EntityImplparent_
DDS::StatusMask mask_

Detailed Description

Definition at line 25 of file StatusConditionImpl.h.


Constructor & Destructor Documentation

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.

00034 {}


Member Function Documentation

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:


Member Data Documentation

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().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1