StatusConditionImpl.h

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
00006  */
00007 
00008 #ifndef OPENDDS_DCPS_STATUSCONDITIONIMPL_H
00009 #define OPENDDS_DCPS_STATUSCONDITIONIMPL_H
00010 
00011 #include "dds/DdsDcpsInfrastructureC.h"
00012 #include "dds/DCPS/ConditionImpl.h"
00013 
00014 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00015 #pragma once
00016 #endif /* ACE_LACKS_PRAGMA_ONCE */
00017 
00018 namespace OpenDDS {
00019 namespace DCPS {
00020 
00021 class EntityImpl;
00022 
00023 class StatusConditionImpl
00024   : public virtual OpenDDS::DCPS::LocalObject<DDS::StatusCondition>
00025   , public virtual ConditionImpl {
00026 public:
00027   explicit StatusConditionImpl(EntityImpl* e)
00028     : parent_(e)
00029     , mask_(::OpenDDS::DCPS::DEFAULT_STATUS_MASK)
00030   {}
00031 
00032   virtual ~StatusConditionImpl() {}
00033 
00034   CORBA::Boolean get_trigger_value();
00035 
00036   virtual DDS::StatusMask get_enabled_statuses();
00037 
00038   virtual DDS::ReturnCode_t set_enabled_statuses(DDS::StatusMask mask);
00039 
00040   virtual DDS::Entity_ptr get_entity();
00041 
00042 private:
00043   //deliberately not a _var, don't hold a reference to the parent since
00044   //it is guaranteed to outlive us and we don't want a cyclical reference
00045   EntityImpl* parent_;
00046   DDS::StatusMask mask_;
00047 };
00048 
00049 } // namespace DCPS
00050 } // namespace OpenDDS
00051 
00052 #endif

Generated on Fri Feb 12 20:05:27 2016 for OpenDDS by  doxygen 1.4.7