|
virtual DDSReadCondition * | create_readcondition (DDS_SampleStateMask sample_states, DDS_ViewStateMask view_states, DDS_InstanceStateMask instance_states) |
| Creates a DDSReadCondition. More...
|
|
virtual DDSReadCondition * | create_readcondition_w_params (DDS_ReadConditionParams ¶ms) |
| <<extension>> Creates a DDSReadCondition with parameters. More...
|
|
virtual DDSQueryCondition * | create_querycondition (DDS_SampleStateMask sample_states, DDS_ViewStateMask view_states, DDS_InstanceStateMask instance_states, const char *query_expression, const struct DDS_StringSeq &query_parameters) |
| Creates a DDSQueryCondition. More...
|
|
virtual DDSQueryCondition * | create_querycondition_w_params (DDS_QueryConditionParams ¶ms) |
| <<extension>> Creates a DDSQueryCondition with parameters. More...
|
|
virtual DDS_ReturnCode_t | delete_readcondition (DDSReadCondition *condition) |
| Deletes a DDSReadCondition or DDSQueryCondition attached to the DDSDataReader. More...
|
|
virtual DDS_ReturnCode_t | delete_contained_entities () |
| Deletes all the entities that were created by means of the "create" operations on the DDSDataReader. More...
|
|
virtual DDS_ReturnCode_t | wait_for_historical_data (const DDS_Duration_t &max_wait) |
| Waits until all "historical" data is received for DDSDataReader entities that have a non-VOLATILE Durability Qos kind. More...
|
|
virtual DDS_ReturnCode_t | acknowledge_sample (const DDS_SampleInfo &sample_info) |
| <<extension>> Acknowledges a single sample explicitly. More...
|
|
virtual DDS_ReturnCode_t | acknowledge_all () |
| <<extension>> Acknowledges all previously accessed samples. More...
|
|
virtual DDS_ReturnCode_t | acknowledge_sample (const DDS_SampleInfo &sample_info, const DDS_AckResponseData_t &response_data) |
| <<extension>> Acknowledges a single sample explicitly. More...
|
|
virtual DDS_ReturnCode_t | acknowledge_all (const DDS_AckResponseData_t &response_data) |
| <<extension>> Acknowledges all previously accessed samples. More...
|
|
virtual DDS_ReturnCode_t | get_matched_publications (DDS_InstanceHandleSeq &publication_handles) |
| Retrieves the list of publications currently "associated" with this DDSDataReader. More...
|
|
virtual DDS_ReturnCode_t | get_matched_publication_data (DDS_PublicationBuiltinTopicData &publication_data, const DDS_InstanceHandle_t &publication_handle) |
| Retrieves the information on a publication that is currently "associated" with the DDSDataReader. More...
|
|
virtual DDS_ReturnCode_t | is_matched_publication_alive (DDS_Boolean &is_alive, const DDS_InstanceHandle_t &publication_handle) |
| Check if a publication currently matched with a DataReader is alive. More...
|
|
virtual DDS_ReturnCode_t | get_matched_publication_participant_data (DDS_ParticipantBuiltinTopicData &participant_data, const DDS_InstanceHandle_t &publication_handle) |
| <<extension>> Retrieves the information on the discovered DDSDomainParticipant associated with the publication that is currently matching with the DDSDataReader. More...
|
|
virtual DDSTopicDescription * | get_topicdescription () |
| Returns the DDSTopicDescription associated with the DDSDataReader. More...
|
|
virtual DDSSubscriber * | get_subscriber () |
| Returns the DDSSubscriber to which the DDSDataReader belongs. More...
|
|
virtual DDS_ReturnCode_t | get_sample_rejected_status (DDS_SampleRejectedStatus &status) |
| Accesses the DDS_SAMPLE_REJECTED_STATUS communication status. More...
|
|
virtual DDS_ReturnCode_t | get_liveliness_changed_status (DDS_LivelinessChangedStatus &status) |
| Accesses the DDS_LIVELINESS_CHANGED_STATUS communication status. More...
|
|
virtual DDS_ReturnCode_t | get_requested_deadline_missed_status (DDS_RequestedDeadlineMissedStatus &status) |
| Accesses the DDS_REQUESTED_DEADLINE_MISSED_STATUS communication status. More...
|
|
virtual DDS_ReturnCode_t | get_requested_incompatible_qos_status (DDS_RequestedIncompatibleQosStatus &status) |
| Accesses the DDS_REQUESTED_INCOMPATIBLE_QOS_STATUS communication status. More...
|
|
virtual DDS_ReturnCode_t | get_sample_lost_status (DDS_SampleLostStatus &status) |
| Accesses the DDS_SAMPLE_LOST_STATUS communication status. More...
|
|
virtual DDS_ReturnCode_t | get_subscription_matched_status (DDS_SubscriptionMatchedStatus &status) |
| Accesses the DDS_SUBSCRIPTION_MATCHED_STATUS communication status. More...
|
|
virtual DDS_ReturnCode_t | get_datareader_cache_status (DDS_DataReaderCacheStatus &status) |
| <<extension>> Gets the datareader cache status for this reader. More...
|
|
virtual DDS_ReturnCode_t | get_datareader_protocol_status (DDS_DataReaderProtocolStatus &status) |
| <<extension>> Gets the datareader protocol status for this reader. More...
|
|
virtual DDS_ReturnCode_t | get_matched_publication_datareader_protocol_status (DDS_DataReaderProtocolStatus &status, const DDS_InstanceHandle_t &publication_handle) |
| <<extension>> Gets the datareader protocol status for this reader, per matched publication identified by the publication_handle. More...
|
|
virtual DDS_ReturnCode_t | set_qos (const DDS_DataReaderQos &qos) |
| Sets the reader QoS. More...
|
|
virtual DDS_ReturnCode_t | get_qos (DDS_DataReaderQos &qos) |
| Gets the reader QoS. More...
|
|
virtual DDS_ReturnCode_t | set_qos_with_profile (const char *library_name, const char *profile_name) |
| <<extension>> Changes the QoS of this reader using the input XML QoS profile. More...
|
|
virtual DDS_ReturnCode_t | set_property (const char *property_name, const char *value, bool propagate) |
| Set the value for a property that applies to a DataReader. More...
|
|
virtual DDS_ReturnCode_t | set_listener (DDSDataReaderListener *l, DDS_StatusMask mask=DDS_STATUS_MASK_ALL) |
| Sets the reader listener. More...
|
|
virtual DDSDataReaderListener * | get_listener () |
| Gets the reader listener. More...
|
|
virtual DDSTopicQuery * | create_topic_query (const DDS_TopicQuerySelection &selection) |
| Creates a DDSTopicQuery. More...
|
|
virtual DDS_ReturnCode_t | delete_topic_query (DDSTopicQuery *query) |
| Deletes a DDSTopicQuery. More...
|
|
virtual DDSTopicQuery * | lookup_topic_query (const DDS_GUID_t &guid) |
| Retrieves an existing DDSTopicQuery. More...
|
|
virtual DDS_ReturnCode_t | take_discovery_snapshot () |
| Take a snapshot of the compatible and incompatible remote writers matched by a local reader. More...
|
|
virtual DDS_ReturnCode_t | take_discovery_snapshot (const char *file_name) |
| Take a snapshot of the compatible and incompatible remote writers matched by a local reader. More...
|
|
virtual DDS_ReturnCode_t | enable () |
| Enables the DDSEntity. More...
|
|
virtual DDSStatusCondition * | get_statuscondition () |
| Allows access to the DDSStatusCondition associated with the DDSEntity. More...
|
|
virtual DDS_StatusMask | get_status_changes () |
| Retrieves the list of communication statuses in the DDSEntity that are triggered. More...
|
|
virtual DDS_InstanceHandle_t | get_instance_handle () |
| Allows access to the DDS_InstanceHandle_t associated with the DDSEntity. More...
|
|
virtual DDS_ReturnCode_t | enable ()=0 |
| Enables the DDSEntity. More...
|
|
virtual DDSStatusCondition * | get_statuscondition ()=0 |
| Allows access to the DDSStatusCondition associated with the DDSEntity. More...
|
|
virtual DDS_StatusMask | get_status_changes ()=0 |
| Retrieves the list of communication statuses in the DDSEntity that are triggered. More...
|
|
virtual DDS_InstanceHandle_t | get_instance_handle ()=0 |
| Allows access to the DDS_InstanceHandle_t associated with the DDSEntity. More...
|
|
<<interface>> Allows the application to: (1) declare the data it wishes to receive (i.e. make a subscription) and (2) access the data received by the attached DDSSubscriber.
- QoS:
- DDS_DataReaderQos
- Status:
- DDS_DATA_AVAILABLE_STATUS;
DDS_LIVELINESS_CHANGED_STATUS, DDS_LivelinessChangedStatus;
DDS_REQUESTED_DEADLINE_MISSED_STATUS, DDS_RequestedDeadlineMissedStatus;
DDS_REQUESTED_INCOMPATIBLE_QOS_STATUS, DDS_RequestedIncompatibleQosStatus;
DDS_SAMPLE_LOST_STATUS, DDS_SampleLostStatus;
DDS_SAMPLE_REJECTED_STATUS, DDS_SampleRejectedStatus;
DDS_SUBSCRIPTION_MATCHED_STATUS, DDS_SubscriptionMatchedStatus;
- Listener:
- DDSDataReaderListener
A DDSDataReader refers to exactly one DDSTopicDescription (either a DDSTopic, a DDSContentFilteredTopic or a DDSMultiTopic) that identifies the data to be read.
The subscription has a unique resulting type. The data-reader may give access to several instances of the resulting type, which can be distinguished from each other by their key
.
DDSDataReader is an abstract class. It must be specialised for each particular application data-type (see USER_DATA). The additional methods or functions that must be defined in the auto-generated class for a hypothetical application type Foo
are specified in the generic type FooDataReader.
The following operations may be called even if the DDSDataReader is not enabled. Other operations will fail with the value DDS_RETCODE_NOT_ENABLED if called on a disabled DDSDataReader:
- The base-class operations DDSDataReader::set_qos, DDSDataReader::get_qos, DDSDataReader::set_listener, DDSDataReader::get_listener, DDSEntity::enable, DDSEntity::get_statuscondition, DDSEntity::get_status_changes,
- DDSDataReader::get_liveliness_changed_status, DDSDataReader::get_requested_deadline_missed_status, DDSDataReader::get_requested_incompatible_qos_status, DDSDataReader::get_sample_lost_status, DDSDataReader::get_sample_rejected_status, DDSDataReader::get_subscription_matched_status
All sample-accessing operations, namely: FooDataReader::read, FooDataReader::take, FooDataReader::read_w_condition, and FooDataReader::take_w_condition may fail with the error DDS_RETCODE_PRECONDITION_NOT_MET as described in DDSSubscriber::begin_access.
- See also
- Operations Allowed in Listener Callbacks
-
Access to data samples
- Examples
- HelloWorldSupport.cxx, and HelloWorld_subscriber.cxx.
Waits until all "historical" data is received for DDSDataReader entities that have a non-VOLATILE Durability Qos kind.
This operation is intended only for DDSDataReader entities that have a non-VOLATILE Durability QoS kind.
As soon as an application enables a non-VOLATILE DDSDataReader, it will start receiving both "historical" data (i.e., the data that was written prior to the time the DDSDataReader joined the domain) as well as any new data written by the DDSDataWriter entities. There are situations where the application logic may require the application to wait until all "historical" data is received. This is the purpose of the DDSDataReader::wait_for_historical_data operations.
DDSDataReader::wait_for_historical_data() blocks the calling thread until either all "historical" data is received, or until the duration specified by the max_wait parameter elapses, whichever happens first. It will return immediately if no DataWriters have been discovered at the time the operation is called; therefore it is advisable to make sure at least one DDSDataWriter has been discovered before calling this operation. (One way to do this is by using DDSDataReader::get_subscription_matched_status.)
A successful completion indicates that all the "historical" data was "received"; timing out indicates that max_wait elapsed before all the data was received.
- Parameters
-
- Exceptions
-
Enables the DDSEntity.
This operation enables the Entity. Entity objects can be created either enabled or disabled. This is controlled by the value of the ENTITY_FACTORY QoS policy on the corresponding factory for the DDSEntity.
By default, ENTITY_FACTORY is set so that it is not necessary to explicitly call DDSEntity::enable on newly created entities.
The DDSEntity::enable operation is idempotent. Calling enable on an already enabled Entity returns OK and has no effect.
If a DDSEntity has not yet been enabled, the following kinds of operations may be invoked on it:
Other operations may explicitly state that they may be called on disabled entities; those that do not will return the error DDS_RETCODE_NOT_ENABLED.
It is legal to delete an DDSEntity that has not been enabled by calling the proper operation on its factory .
Entities created from a factory Entity that is disabled are created disabled, regardless of the setting of the DDS_EntityFactoryQosPolicy.
Calling enable on an Entity whose factory Entity is not enabled will fail and return DDS_RETCODE_PRECONDITION_NOT_MET.
If DDS_EntityFactoryQosPolicy::autoenable_created_entities is TRUE, the enable operation on a factory will automatically enable all entities created from that factory (for example, enabling a DDSPublisher will enable all its contained DDSDataWriter objects)
Listeners associated with an entity are not called until the entity is enabled.
Conditions associated with a disabled entity are "inactive," that is, they have a trigger_value
== FALSE.
- Exceptions
-
Implements DDSEntity.