.. _program_listing_file__tmp_ws_src_fastrtps_include_fastdds_dds_subscriber_Subscriber.hpp: Program Listing for File Subscriber.hpp ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/fastrtps/include/fastdds/dds/subscriber/Subscriber.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef _FASTDDS_SUBSCRIBER_HPP_ #define _FASTDDS_SUBSCRIBER_HPP_ #include #include #include #include #include #include #include #include #include #include using eprosima::fastrtps::types::ReturnCode_t; namespace dds { namespace sub { class Subscriber; } // namespace sub } // namespace dds namespace eprosima { namespace fastrtps { class TopicAttributes; } // namespace fastrtps namespace fastdds { namespace dds { class DomainParticipant; class SubscriberListener; class SubscriberImpl; class DataReader; class DataReaderListener; class DataReaderQos; class TopicDescription; class Subscriber : public DomainEntity { protected: friend class SubscriberImpl; friend class DomainParticipantImpl; Subscriber( SubscriberImpl* pimpl, const StatusMask& mask = StatusMask::all()); Subscriber( DomainParticipant* dp, const SubscriberQos& qos = SUBSCRIBER_QOS_DEFAULT, SubscriberListener* listener = nullptr, const StatusMask& mask = StatusMask::all()); public: virtual ~Subscriber() { } RTPS_DllAPI ReturnCode_t enable() override; RTPS_DllAPI const SubscriberQos& get_qos() const; RTPS_DllAPI ReturnCode_t get_qos( SubscriberQos& qos) const; RTPS_DllAPI ReturnCode_t set_qos( const SubscriberQos& qos); RTPS_DllAPI const SubscriberListener* get_listener() const; RTPS_DllAPI ReturnCode_t set_listener( SubscriberListener* listener); RTPS_DllAPI ReturnCode_t set_listener( SubscriberListener* listener, const StatusMask& mask); RTPS_DllAPI DataReader* create_datareader( TopicDescription* topic, const DataReaderQos& reader_qos, DataReaderListener* listener = nullptr, const StatusMask& mask = StatusMask::all()); RTPS_DllAPI DataReader* create_datareader_with_profile( TopicDescription* topic, const std::string& profile_name, DataReaderListener* listener = nullptr, const StatusMask& mask = StatusMask::all()); RTPS_DllAPI ReturnCode_t delete_datareader( const DataReader* reader); RTPS_DllAPI DataReader* lookup_datareader( const std::string& topic_name) const; RTPS_DllAPI ReturnCode_t get_datareaders( std::vector& readers) const; RTPS_DllAPI ReturnCode_t get_datareaders( std::vector& readers, const std::vector& sample_states, const std::vector& view_states, const std::vector& instance_states) const; RTPS_DllAPI bool has_datareaders() const; RTPS_DllAPI ReturnCode_t begin_access(); RTPS_DllAPI ReturnCode_t end_access(); RTPS_DllAPI ReturnCode_t notify_datareaders() const; RTPS_DllAPI ReturnCode_t delete_contained_entities(); RTPS_DllAPI ReturnCode_t set_default_datareader_qos( const DataReaderQos& qos); RTPS_DllAPI const DataReaderQos& get_default_datareader_qos() const; RTPS_DllAPI DataReaderQos& get_default_datareader_qos(); RTPS_DllAPI ReturnCode_t get_default_datareader_qos( DataReaderQos& qos) const; RTPS_DllAPI ReturnCode_t get_datareader_qos_from_profile( const std::string& profile_name, DataReaderQos& qos) const; RTPS_DllAPI static ReturnCode_t copy_from_topic_qos( DataReaderQos& reader_qos, const TopicQos& topic_qos); RTPS_DllAPI const DomainParticipant* get_participant() const; RTPS_DllAPI const InstanceHandle_t& get_instance_handle() const; protected: SubscriberImpl* impl_; friend class ::dds::sub::Subscriber; }; } /* namespace dds */ } /* namespace fastdds */ } /* namespace eprosima */ #endif /* _FASTDDS_SUBSCRIBER_HPP_ */