type Ref is limited interface and DDS.Domain_Entity.Ref;
type Ref_Access is access all Ref'Class;
type Ref_Access_Access is access all Ref_Access;
type Ref_Access_Array is array (Natural range <>) of aliased Ref_Access;
DATAREADER_QOS_DEFAULT : aliased constant DataReaderQoS with Convention => Ada, Import, Link_Name => "DDS__Subscriber_DATAREADER_QOS_DEFAULT";
When used in DDS.Subscriber.create_datareader, this special value is used to indicate that the DDS.DataReader should be created with the default DDS.DataReader QoS by means of the operation get_default_datareader_qos and using the resulting QoS to create the DDS.DataReader.
When used in DDS.Subscriber.set_default_datareader_qos, this special value is used to indicate that the default QoS should be reset back to the initial value that would be used if the DDS.Subscriber.set_default_datareader_qos operation had never been called.
When used in DDS.DataReader.set_qos, this special value is used to indicate that the QoS of the DDS.DataReader should be changed to match the current default QoS set in the DDS.Subscriber that the DDS.DataReader belongs to.
Note: You cannot use this value to get the default QoS values for a DataReader; for this purpose, use DDS.DomainParticipant.get_default_datareader_qos.
See also: DDS.Subscriber.create_datareader
See also: DDS.Subscriber.set_default_datareader_qos
See also: DDS.DataReader.set_qos
DATAREADER_QOS_USE_TOPIC_QOS : aliased constant DataReaderQoS with Convention => Ada, Import, Link_Name => "DDS__Subscriber_DATAREADER_QOS_USE_TOPIC_QOS";
The use of this value is equivalent to the application obtaining the default DDS.DataReaderQos and the DDS.TopicQos (by means of the operation DDS.Topic.get_qos) and then combining these two QoS using the operation DDS.Subscriber.copy_from_topic_qos whereby any policy that is set on the DDS.TopicQos "overrides" the corresponding policy on the default QoS. The resulting QoS is then applied to the creation of the DDS.DataReader.
This value should only be used in DDS.Subscriber.create_datareader.
See also: DDS.Subscriber.create_datareader
See also: DDS.Subscriber.get_default_datareader_qos
See also: DDS.Topic.get_qos
See also: DDS.Subscriber.copy_from_topic_qos
procedure Initialize
( | Self | : in out Ref_Access) is null; |
procedure Finalize
( | Self | : in out Ref_Access) is null; |
procedure Copy
( | Dst | : in out Ref_Access; |
Src | : in Ref_Access); |
function Create_DataReader
( | Self | : not null access Ref; |
Topic | : not null access DDS.TopicDescription.Ref'Class; | |
Qos | : in DDS.DataReaderQoS := DATAREADER_QOS_DEFAULT; | |
A_Listener | : in DDS.DataReaderListener.Ref_Access := null; | |
Mask | : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataReader.Ref_Access is abstract; |
For each application-defined type Foo, there is an implied, auto-generated class FooDataReader (an incarnation of FooDataReader) that extends DDS.DataReader and contains the operations to read data of type Foo.
Note that a common application pattern to construct the QoS for the DDS.DataReader is to:
When a DDS.DataReader is created, only those transports already registered are available to the DDS.DataReader. See NDDS_TransportBuiltinsComponent for details on when a builtin transport is registered.
MT Safety:
UNSAFE. If DDS.DATAREADER_QOS_DEFAULT is used for the qos parameter, it is not safe to create the datareader while another thread may be simultaneously calling DDS.Subscriber.set_default_datareader_qos.
Precondition: If subscriber is enabled, the topic must be enabled. If it is not, this operation will fail and no DDS.DataReader will be created.
Precondition: The given DDS.TopicDescription must have been created from the same participant as this subscriber. If it was created from a different participant, this procedure will return NULL.
Precondition: If qos is DDS.DATAREADER_QOS_USE_TOPIC_QOS, topic cannot be DDS.MultiTopic, or else this procedure will return NULL.
self: <<in>> Cannot be NULL
topic: <<in>> The DDS.TopicDescription that the DDS.DataReader will be associated with. Cannot be NULL.
qos: <<in>> The qos of the DDS.DataReader. The special value DDS.DATAREADER_QOS_DEFAULT can be used to indicate that the DDS.DataReader should be created with the default DDS.DataReaderQos set in the DDS.Subscriber. If DDS.TopicDescription is of type DDS.Topic or DDS.ContentFilteredTopic, the special value DDS.DATAREADER_QOS_USE_TOPIC_QOS can be used to indicate that the DDS.DataReader should be created with the combination of the default DDS.DataReaderQos set on the DDS.Subscriber and the DDS.TopicQos (in the case of a DDS.ContentFilteredTopic, the DDS.TopicQos of the related DDS.Topic). if DDS.DATAREADER_QOS_USE_TOPIC_QOS is used, topic cannot be a DDS.MultiTopic. Cannot be NULL.
listener: <<in>> The listener of the DDS.DataReader.
mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.
Returns: A DDS.DataReader of a derived class specific to the data-type associated with the DDS.Topic or NULL if an error occurred.
See also: FooDataReader
See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.DataReaderQos for rules on consistency among QoS
See also: DDS.Subscriber.create_datareader_with_profile
See also: DDS.Subscriber.get_default_datareader_qos
See also: DDS.Topic.set_qos
See also: DDS.Subscriber.copy_from_topic_qos
See also: DDS.DataReader.set_listener
function Create_DataReader_With_Profile
( | Self | : not null access Ref; |
Topic | : not null access DDS.TopicDescription.Ref'Class; | |
Library_Name | : in DDS.String; | |
profile_name | : in DDS.String; | |
A_Listener | : in DDS.DataReaderListener.Ref_Access := null; | |
Mask | : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataReader.Ref_Access is abstract; |
function Create_DataReader_With_Profile
( | Self | : not null access Ref; |
Topic | : not null access DDS.TopicDescription.Ref'Class; | |
Library_Name | : in Standard.String; | |
profile_name | : in Standard.String; | |
A_Listener | : in DDS.DataReaderListener.Ref_Access := null; | |
Mask | : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataReader.Ref_Access is abstract; |
The DDS.DataReader will be attached and belong to the DDS.Subscriber.
For each application-defined type Foo, there is an implied, auto-generated class FooDataReader (an incarnation of FooDataReader) that extends DDS.DataReader and contains the operations to read data of type Foo.
When a DDS.DataReader is created, only those transports already registered are available to the DDS.DataReader. See NDDS_TransportBuiltinsComponent for details on when a builtin transport is registered.
Precondition: If subscriber is enabled, the topic must be enabled. If it is not, this operation will fail and no DDS.DataReader will be created.
Precondition: The given DDS.TopicDescription must have been created from the same participant as this subscriber. If it was created from a different participant, this procedure will return NULL.
self: <<in>> Cannot be NULL
topic: <<in>> The DDS.TopicDescription that the DDS.DataReader will be associated with. Cannot be NULL.
library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.Subscriber.set_default_library).
profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.Subscriber.set_default_profile).
listener: <<in>> The listener of the DDS.DataReader.
mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.
Returns: A DDS.DataReader of a derived class specific to the data-type associated with the DDS.Topic or NULL if an error occurred.
See also: FooDataReader
See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.DataReaderQos for rules on consistency among QoS
See also: DDS.DATAREADER_QOS_DEFAULT
See also: DDS.DATAREADER_QOS_USE_TOPIC_QOS
See also: DDS.Subscriber.create_datareader
See also: DDS.Subscriber.get_default_datareader_qos
See also: DDS.Topic.set_qos
See also: DDS.Subscriber.copy_from_topic_qos
See also: DDS.DataReader.set_listener
procedure Delete_DataReader
( | Self | : not null access Ref; |
A_DataReader | : in out DDS.DataReader.Ref_Access) is abstract; |
Precondition: If the DDS.DataReader does not belong to the DDS.Subscriber, or if ther are any existing DDS.ReadCondition or DDS.QueryCondition objects that are attached to the DDS.DataReader, or if there are outstanding loans on samples (as a result of a call to read(), take(), or one of the variants thereof), the operation fails with the error DDS.RETCODE_PRECONDITION_NOT_MET.
Postcondition: Listener installed on the DDS.DataReader will not be called after this procedure completes successfully.
@mtsafety_delete
self: <<in>> Cannot be NULL
a_datareader: <<in>> The DDS.DataReader to be deleted.
Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_PRECONDITION_NOT_MET.
procedure Delete_Contained_Entities
( | Self | : not null access Ref) is abstract; |
Deletes all contained DDS.DataReader objects. This pattern is applied recursively. In this manner, the operation DDS.Subscriber.delete_contained_entities on the DDS.Subscriber will end up deleting all the entities recursively contained in the DDS.Subscriber, that is also the DDS.QueryCondition and DDS.ReadCondition objects belonging to the contained DDS.DataReader.
The operation will fail with DDS.RETCODE_PRECONDITION_NOT_MET if any of the contained entities is in a state where it cannot be deleted. This will occur, for example, if a contained DDS.DataReader cannot be deleted because the application has called a FooDataReader.read or FooDataReader.take operation and has not called the corresponding FooDataReader.return_loan operation to return the loaned samples.
Once DDS.Subscriber.delete_contained_entities completes successfully, the application may delete the DDS.Subscriber, knowing that it has no contained DDS.DataReader objects.
@mtsafety_delete
self: <<in>> Cannot be NULL
Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_PRECONDITION_NOT_MET
function Lookup_DataReader
( | Self | : not null access Ref; |
Topic_Name | : in DDS.String) return DDS.DataReader.Ref_Access is abstract; |
Use this operation on the built-in DDS.Subscriber (DDSBuiltInTopicModule) to access the built-in DDS.DataReader entities for the built-in topics.
The built-in DDS.DataReader is created when this operation is called on a built-in topic for the first time. The built-in DDS.DataReader is deleted automatically when the DDS.DomainParticipant is deleted.
To ensure that builtin DDS.DataReader entities receive all the discovery traffic, it is suggested that you lookup the builtin DDS.DataReader before the DDS.DomainParticipant is enabled. Looking up builtin DDS.DataReader may implicitly register builtin transports due to creation of DDS.DataReader (see NDDS_TransportBuiltinsComponent for details on when a builtin transport is registered). Therefore, if you are want to modify builtin transport properties, do so before using this operation.
Therefore the suggested sequence when looking up builtin DataReaders is:
self: <<in>> Cannot be NULL
topic_name: <<in>> Name of the DDS.TopicDescription that the retrieved DDS.DataReader is attached to. Cannot be NULL.
Returns: A DDS.DataReader that belongs to the DDS.Subscriber attached to the DDS.TopicDescription with topic_name. If no such DDS.DataReader exists, this operation returns NULL.
The returned DDS.DataReader may be enabled or disabled.
If more than one DDS.DataReader is attached to the DDS.Subscriber, this operation may return any one of them.
MT Safety:
UNSAFE. It is not safe to lookup a DDS.DataReader in one thread while another thread is simultaneously creating or destroying that DDS.DataReader.
procedure Get_DataReaders
( | Self | : not null access Ref; |
Readers | : not null access DDS.DataReaderSeq.Sequence; | |
Sample_States | : in DDS.SampleStateKind; | |
View_States | : in DDS.ViewStateKind; | |
Instance_States | : in DDS.InstanceStateKind) is abstract; |
If the application is outside a begin_access()/end_access() block, or if the DDS.PresentationQosPolicy::access_scope of the DDS.Subscriber is DDS.INSTANCE_PRESENTATION_QOS or DDS.TOPIC_PRESENTATION_QOS, or if the DDS.PresentationQosPolicy.ordered_access of the DDS.Subscriber is DDS.BOOLEAN_FALSE, the returned collection is a 'set' containing each DDS.DataReader at most once, in no specified order.
If the application is within a begin_access()/end_access() block, and the DDSPresentationQosModule policy of the DDS.Subscriber is DDS.GROUP_PRESENTATION_QOS or DDS.HIGHEST_OFFERED_PRESENTATION_QOS, and DDS.PresentationQosPolicy.ordered_access in the DDS.Subscriber is DDS.BOOLEAN_TRUE, the returned collection is a 'list' of DataReaders where a DataReader may appear more than one time.
To retrieve the samples in the order they were published across DataWriters of the same group (DDS.Publisher configured with DDS.GROUP_PRESENTATION_QOS), the application should read()/take() from each DataReader in the same order as it appears in the output sequence. The application will move to the next DataReader when the read()/take() operation fails with DDS.RETCODE_NO_DATA.
self: <<in>> Cannot be NULL
readers: <<inout>> a DDSDataReaderSeq object where the set or list of readers will be returned. Cannot be NULL.
sample_states: <<in>> the returned DataReader must contain samples that have one of these sample_states.
view_states: <<in>> the returned DataReader must contain samples that have one of these view_states.
instance_states: <<in>> the returned DataReader must contain samples that have one of these instance_states.
Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_NOT_ENABLED.
See also: Subscription_access_samples
See also: DDS.Subscriber.begin_access
See also: DDS.Subscriber.end_access
See also: DDSPresentationQosModule
procedure Notify_DataReaders
( | Self | : not null access Ref) is abstract; |
This operation is typically invoked from the DDS.SubscriberListener.on_data_on_readers operation in the DDS.SubscriberListener. That way the DDS.SubscriberListener can delegate to the DDS.DataReaderListener objects the handling of the data.
The operation will notify the data readers that have a sample_state of DDS.NOT_READ_SAMPLE_STATE, view_state of DDS.ANY_SAMPLE_STATE and instance_state of DDS.ANY_INSTANCE_STATE.
self: <<in>> Cannot be NULL
Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_NOT_ENABLED.
procedure Set_Qos
( | Self | : not null access Ref; |
Qos | : in DDS.SubscriberQos) is abstract; |
This operation modifies the QoS of the DDS.Subscriber.
The DDS.SubscriberQos.group_data, DDS.SubscriberQos.partition and DDS.SubscriberQos.entity_factory can be changed. The other policies are immutable.
self: <<in>> Cannot be NULL
qos: <<in>> DDS.SubscriberQos to be set to. Policies must be consistent. Immutable policies cannot be changed after DDS.Subscriber is enabled. The special value DDS.SUBSCRIBER_QOS_DEFAULT can be used to indicate that the QoS of the DDS.Subscriber should be changed to match the current default DDS.SubscriberQos set in the DDS.DomainParticipant. Cannot be NULL.
Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_IMMUTABLE_POLICY, or DDS.RETCODE_INCONSISTENT_POLICY.
See also: DDS.SubscriberQos for rules on consistency among QoS
See also: Entity_set_qos
See also: SharedEACallbackRules
procedure Set_Qos_With_Profile
( | Self | : not null access Ref; |
library_name | : in Standard.String; | |
profile_name | : in Standard.String) is abstract; |
This operation modifies the QoS of the DDS.Subscriber.
The DDS.SubscriberQos.group_data, DDS.SubscriberQos.partition and DDS.SubscriberQos.entity_factory can be changed. The other policies are immutable.
self: <<in>> Cannot be NULL
library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.Subscriber.set_default_library).
profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.Subscriber.set_default_profile).
Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_IMMUTABLE_POLICY, or DDS.RETCODE_INCONSISTENT_POLICY.
See also: DDS.SubscriberQos for rules on consistency among QoS
See also: SharedEACallbackRules
procedure Get_Qos
( | Self | : not null access Ref; |
Qos | : in out DDS.SubscriberQos) is abstract; |
This procedure may potentially allocate memory depending on the sequences contained in some QoS policies.
self: <<in>> Cannot be NULL
qos: <<in>> DDS.SubscriberQos to be filled in. Cannot be NULL.
Raises: One of the DDSReturnTypesModules_std_retcodes
See also: Entity_get_qos
procedure Set_Listener
( | Self | : not null access Ref; |
A_Listener | : DDS.SubscriberListener.Ref_Access; | |
Mask | : in DDS.StatusKind) is abstract; |
self: <<in>> Cannot be NULL
l: <<in>> DDS.SubscriberListener to set to.
mask: <<in>> DDS.StatusMask associated with the DDS.SubscriberListener.
Raises: One of the DDSReturnTypesModules_std_retcodes
See also: Entity_set_listener
function Get_Listener
( | Self | : not null access Ref) return DDS.SubscriberListener.Ref_Access is abstract; |
self: <<in>> Cannot be NULL
Returns: DDS.SubscriberListener of the DDS.Subscriber.
See also: Entity_get_listener
procedure Begin_Access
( | Self | : not null access Ref) is abstract; |
If the DDS.PresentationQosPolicy::access_scope of the DDS.Subscriber is DDS.GROUP_PRESENTATION_QOS or DDS.HIGHEST_OFFERED_PRESENTATION_QOS and DDS.PresentationQosPolicy::ordered_access is DDS.BOOLEAN_TRUE, the application is required to use this operation to access the samples in order across DataWriters of the same group (DDS.Publisher with DDS.PresentationQosPolicy.access_scope set to DDS.GROUP_PRESENTATION_QOS).
In the above case, this operation must be called prior to calling any of the sample-accessing operations,
Once the application has finished accessing the data samples, it must call DDS.Subscriber.end_access
The application is not required to call DDS.Subscriber.begin_access / DDS.Subscriber.end_access to access the samples in order if the DDSPresentationQosModule policy in the DDS.Publisher has DDS.PresentationQosPolicy.access_scope set to something other than DDS.GROUP_PRESENTATION_QOS. In this case, calling DDS.Subscriber.begin_access / DDS.Subscriber.end_access is not considered an error and has no effect.
Calls to DDS.Subscriber.begin_access / DDS.Subscriber.end_access may be nested and must be balanced.
self: <<in>> Cannot be NULL
Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_NOT_ENABLED.
See also: Subscription_access_samples
See also: DDS.Subscriber.get_datareaders
See also: DDSPresentationQosModule
procedure End_Access
( | Self | : not null access Ref) is abstract; |
This operation must be used to close a corresponding begin_access().
This call must close a previous call to DDS.Subscriber.begin_access(), otherwise the operation will fail with the error DDS.RETCODE_PRECONDITION_NOT_MET.
self: <<in>> Cannot be NULL
Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_PRECONDITION_NOT_MET or DDS.RETCODE_NOT_ENABLED.
function Get_Participant
( | Self | : not null access Ref) return access DDS.DomainParticipant.Ref'Class is abstract; |
self: <<in>> Cannot be NULL
Returns: the DDS.DomainParticipant to which the DDS.Subscriber belongs.
procedure Set_Default_DataReader_Qos
( | Self | : not null access Ref; |
Qos | : in DDS.DataReaderQoS) is abstract; |
This call causes the default values inherited from the owning DDS.DomainParticipant to be overridden.
This default value will be used for newly created DDS.DataReader if DDS.DATAREADER_QOS_DEFAULT is specified as the qos parameter when DDS.Subscriber.create_datareader is called.
Precondition: The specified QoS policies must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY
MT Safety:
UNSAFE. It is not safe to set the default QoS value from a subscriber while another thread may be simultaneously calling DDS.Subscriber.set_default_datareader_qos, DDS.Subscriber.get_default_datareader_qos or calling DDS.Subscriber.create_datareader with DDS.DATAREADER_QOS_DEFAULT as the qos parameter.
self: <<in>> Cannot be NULL
qos: <<in>> The default DDS.DataReaderQos to be set to. The special value DDS.DATAREADER_QOS_DEFAULT may be passed as qos to indicate that the default QoS should be reset back to the initial values the factory would used if DDS.Subscriber.set_default_datareader_qos had never been called. Cannot be NULL.
Raises: One of the DDSReturnTypesModules_std_retcodes, or or DDS.RETCODE_INCONSISTENT_POLICY
procedure Set_Default_DataReader_Qos_With_Profile
( | Self | : not null access Ref; |
libName | : DDS.String; | |
profName | : DDS.String) is abstract; |
procedure Set_Default_DataReader_Qos_With_Profile
( | Self | : not null access Ref; |
libName | : Standard.String; | |
profName | : Standard.String) is abstract; |
This default value will be used for newly created DDS.DataReader if DDS.DATAREADER_QOS_DEFAULT is specified as the qos parameter when DDS.Subscriber.create_datareader is called.
Precondition: The DDS.DataReaderQos contained in the specified XML QoS profile must be consistent, or else the operation will have no effect and fail with DDS.RETCODE_INCONSISTENT_POLICY
MT Safety:
UNSAFE. It is not safe to set the default QoS value from a DDS.Subscriber while another thread may be simultaneously calling DDS.Subscriber.set_default_datareader_qos, DDS.Subscriber.get_default_datareader_qos or calling DDS.Subscriber.create_datareader with DDS.DATAREADER_QOS_DEFAULT as the qos parameter.
self: <<in>> Cannot be NULL
library_name: <<in>> Library name containing the XML QoS profile. If library_name is null RTI Connext will use the default library (see DDS.Subscriber.set_default_library).
profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.Subscriber.set_default_profile).
If the input profile cannot be found the procedure fails with DDS.RETCODE_ERROR.
Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY
See also: DDS.DATAREADER_QOS_DEFAULT
See also: DDS.Subscriber.create_datareader_with_profile
procedure Get_Default_DataReader_Qos
( | Self | : not null access Ref; |
Qos | : in out DDS.DataReaderQoS) is abstract; |
The retrieved qos will match the set of values specified on the last successful call to DDS.Subscriber.set_default_datareader_qos, or DDS.Subscriber.set_default_datareader_qos_with_profile, or else, if the call was never made, the default values from is owning DDS.DomainParticipant.
This procedure may potentially allocate memory depending on the sequences contained in some QoS policies.
MT Safety:
UNSAFE. It is not safe to retrieve the default QoS value from a subscriber while another thread may be simultaneously calling DDS.Subscriber.set_default_datareader_qos
self: <<in>> Cannot be NULL
qos: <<inout>> DDS.DataReaderQos to be filled-up. Cannot be NULL.
Raises: One of the DDSReturnTypesModules_std_retcodes
See also: DDS.DATAREADER_QOS_DEFAULT
See also: DDS.Subscriber.create_datareader
procedure Copy_From_Topic_Qos
( | Self | : not null access Ref; |
A_DataReader_Qos | : in out DDS.DataReaderQoS; | |
A_Topic_Qos | : in DDS.TopicQos) is abstract; |
Copies the policies in the DDS.TopicQos to the corresponding policies in the DDS.DataReaderQos (replacing values in the DDS.DataReaderQos, if present).
This is a "convenience" operation most useful in combination with the operations DDS.Subscriber.get_default_datareader_qos and DDS.Topic.get_qos. The operation DDS.Subscriber.copy_from_topic_qos can be used to merge the DDS.DataReader default QoS policies with the corresponding ones on the DDS.Topic. The resulting QoS can then be used to create a new DDS.DataReader, or set its QoS.
This operation does not check the resulting DDS.DataReaderQos for consistency. This is because the 'merged' DDS.DataReaderQos may not be the final one, as the application can still modify some policies prior to applying the policies to the DDS.DataReader.
self: <<in>> Cannot be NULL
datareader_qos: <<inout>> DDS.DataReaderQos to be filled-up. Cannot be NULL.
topic_qos: <<in>> DDS.TopicQos to be merged with DDS.DataReaderQos. Cannot be NULL.
Raises: One of the DDSReturnTypesModules_std_retcodes
procedure Set_Default_Profile
( | Self | : not null access Ref; |
library_name | : DDS.String; | |
profile_name | : DDS.String) is abstract; |
This procedure specifies the profile that will be used as the default the next time a default Subscriber profile is needed during a call to one of this Subscriber's operations. When calling a DDS.Subscriber procedure that requires a profile_name parameter, you can use NULL to refer to the default profile. (This same information applies to setting a default library.)
If the default profile is not set, the DDS.Subscriber inherits the default from the DDS.DomainParticipant (see DDS.DomainParticipant.set_default_profile).
This procedure does not set the default QoS for DDS.DataReader objects created by this DDS.Subscriber; for this functionality, use DDS.Subscriber.set_default_datareader_qos_with_profile (you may pass in NULL after having called set_default_profile()).
This procedure does not set the default QoS for newly created Subscribers; for this functionality, use DDS.DomainParticipant.set_default_subscriber_qos_with_profile.
self: <<in>> Cannot be NULL
library_name: <<in>> The library name containing the profile.
profile_name: <<in>> The profile name. If profile_name is null any previous default is unset.
Raises: One of the DDSReturnTypesModules_std_retcodes
See also: DDS.Subscriber.get_default_profile
See also: DDS.Subscriber.get_default_profile_library
procedure Set_Default_Library
( | Self | : not null access Ref; |
library_name | : DDS.String) is abstract; |
This procedure specifies the library that will be used as the default the next time a default library is needed during a call to one of this Subscriber's operations.
Any API requiring a library_name as a parameter can use null to refer to the default library.
If the default library is not set, the DDS.Subscriber inherits the default from the DDS.DomainParticipant (see DDS.DomainParticipant.set_default_library).
self: <<in>> Cannot be NULL
library_name: <<in>> Library name. If library_name is null any previous default is unset.
Raises: One of the DDSReturnTypesModules_std_retcodes
See also: DDS.Subscriber.get_default_library
function Get_Default_Library
( | Self | : not null access Ref) return DDS.String is abstract; |
self: <<in>> Cannot be NULL
Returns: The default library or null if the default library was not set.
See also: DDS.Subscriber.set_default_library
function Get_Default_Profile
( | Self | : not null access Ref) return DDS.String is abstract; |
self: <<in>> Cannot be NULL
Returns: The default profile or null if the default profile was not set.
See also: DDS.Subscriber.set_default_profile
function Get_Default_Profile_Library
( | Self | : not null access Ref) return DDS.String is abstract; |
The default profile library is automatically set when DDS.Subscriber.set_default_profile is called.
This library can be different than the DDS.Subscriber default library (see DDS.Subscriber.get_default_library).
self: <<in>> Cannot be NULL
Returns: The default profile library or null if the default profile was not set.
See also: DDS.Subscriber.set_default_profile
QoS:
DDS.SubscriberQos
Status:
DDS.DATA_ON_READERS_STATUS
Listener:
DDS.SubscriberListener
A subscriber acts on the behalf of one or several DDS.DataReader objects that are related to it. When it receives data (from the other parts of the system), it builds the list of concerned DDS.DataReader objects and then indicates to the application that data is available through its listener or by enabling related conditions.
The application can access the list of concerned DDS.DataReader objects through the operation DDS.Subscriber.get_datareaders and then access the data available through operations on the DDS.DataReader.
The following operations may be called even if the DDS.Subscriber is not enabled. Other operations will the value DDS.RETCODE_NOT_ENABLED if called on a disabled DDS.Subscriber:
All operations except for DDS.Subscriber.set_qos, \ifnot CPP2_LANGUAGE_ONLY DDS.Subscriber.set_qos_with_profile,\endif DDS.Subscriber.get_qos, DDS.Subscriber.set_listener, DDS.Subscriber.get_listener, DDS.Entity.enable and DDS.Subscriber.create_datareader may fail with DDS.RETCODE_NOT_ENABLED.
See also: SharedEACallbackRules