Line data Source code
1 : /* 2 : * 3 : * 4 : * Distributed under the OpenDDS License. 5 : * See: http://www.opendds.org/license.html 6 : */ 7 : 8 : #ifndef OPENDDS_DCPS_READCONDITIONIMPL_H 9 : #define OPENDDS_DCPS_READCONDITIONIMPL_H 10 : 11 : #include "dds/DdsDcpsSubscriptionC.h" 12 : #include "ConditionImpl.h" 13 : 14 : #if !defined (ACE_LACKS_PRAGMA_ONCE) 15 : #pragma once 16 : #endif /* ACE_LACKS_PRAGMA_ONCE */ 17 : 18 : OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 19 : 20 : namespace OpenDDS { 21 : namespace DCPS { 22 : 23 : class DataReaderImpl; 24 : 25 : class ReadConditionImpl 26 : : public virtual OpenDDS::DCPS::LocalObject<DDS::ReadCondition> 27 : , public virtual ConditionImpl { 28 : public: 29 0 : ReadConditionImpl(DataReaderImpl* dr, DDS::SampleStateMask sample_states, 30 : DDS::ViewStateMask view_states, DDS::InstanceStateMask instance_states) 31 0 : : parent_(dr) 32 0 : , sample_states_(sample_states) 33 0 : , view_states_(view_states) 34 0 : , instance_states_(instance_states) {} 35 : 36 0 : virtual ~ReadConditionImpl() {} 37 : 38 : CORBA::Boolean get_trigger_value(); 39 : 40 : DDS::SampleStateMask get_sample_state_mask(); 41 : 42 : DDS::ViewStateMask get_view_state_mask(); 43 : 44 : DDS::InstanceStateMask get_instance_state_mask(); 45 : 46 : DDS::DataReader_ptr get_datareader(); 47 : 48 : protected: 49 : DataReaderImpl* parent_; 50 : DDS::SampleStateMask sample_states_; 51 : DDS::ViewStateMask view_states_; 52 : DDS::InstanceStateMask instance_states_; 53 : }; 54 : 55 : } // namespace DCPS 56 : } // namespace OpenDDS 57 : 58 : OPENDDS_END_VERSIONED_NAMESPACE_DECL 59 : 60 : #endif