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;
DATAWRITER_QOS_DEFAULT : aliased constant DataWriterQos with Convention => Ada, Import, Link_Name => "DDS__Publisher_DATAWRITER_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.
@warning This value is a constant and should never be modified. 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
DATAWRITER_QOS_USE_TOPIC_QOS : aliased constant DataWriterQos with Convention => Ada, Import, Link_Name => "DDS__Publisher_DATAWRITER_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_DataWriter
( | Self | : not null access Ref; |
A_Topic | : not null DDS.Topic.Ref_Access; | |
Qos | : in DDS.DataWriterQos := DATAWRITER_QOS_DEFAULT; | |
A_Listener | : in DDS.DataWriterListener.Ref_Access := null; | |
Mask | : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataWriter.Ref_Access is abstract; |
For each application-defined type, Foo, there is an implied, auto-generated class FooDataWriter that extends DDS.DataWriter and contains the operations to write data of type Foo.
Note that a common application pattern to construct the QoS for the DDS.DataWriter is to:
When a DDS.DataWriter is created, only those transports already registered are available to the DDS.DataWriter. See NDDS_TransportBuiltinsComponent for details on when a builtin transport is registered.
Precondition: If publisher is enabled, topic must have been enabled. Otherwise, this operation will fail and no DDS.DataWriter will be created.
Precondition: The given DDS.Topic must have been created from the same participant as this publisher. If it was created from a different participant, this procedure will fail.
MT Safety:
UNSAFE. If DDS.DATAWRITER_QOS_DEFAULT is used for the qos parameter, it is not safe to create the datawriter while another thread may be simultaneously calling DDS.Publisher.set_default_datawriter_qos.
self: <<in>> Cannot be NULL
topic: <<in>> The DDS.Topic that the DDS.DataWriter will be associated with. Cannot be NULL.
qos: <<in>> QoS to be used for creating the new DDS.DataWriter. The special value DDS.DATAWRITER_QOS_DEFAULT can be used to indicate that the DDS.DataWriter should be created with the default DDS.DataWriterQos set in the DDS.Publisher. The special value DDS.DATAWRITER_QOS_USE_TOPIC_QOS can be used to indicate that the DDS.DataWriter should be created with the combination of the default DDS.DataWriterQos set on the DDS.Publisher and the DDS.TopicQos of the DDS.Topic. Cannot be NULL.
listener: <<in>> The listener of the DDS.DataWriter.
mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.
Returns: A DDS.DataWriter of a derived class specific to the data type associated with the DDS.Topic or NULL if an error occurred.
See also: FooDataWriter
See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.DataWriterQos for rules on consistency among QoS
See also: DDS.DATAWRITER_QOS_DEFAULT
See also: DDS.DATAWRITER_QOS_USE_TOPIC_QOS
See also: DDS.Publisher.create_datawriter_with_profile
See also: DDS.Publisher.get_default_datawriter_qos
See also: DDS.Topic.set_qos
See also: DDS.Publisher.copy_from_topic_qos
See also: DDS.DataWriter.set_listener
function Create_DataWriter_With_Profile
( | Self | : not null access Ref; |
A_Topic | : not null DDS.Topic.Ref_Access; | |
Library_Name | : in DDS.String; | |
profile_name | : in DDS.String; | |
A_Listener | : in DDS.DataWriterListener.Ref_Access := null; | |
Mask | : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataWriter.Ref_Access is abstract; |
function Create_DataWriter_With_Profile
( | Self | : not null access Ref; |
A_Topic | : in DDS.Topic.Ref_Access; | |
Library_Name | : in Standard.String; | |
profile_name | : in Standard.String; | |
A_Listener | : in DDS.DataWriterListener.Ref_Access := null; | |
Mask | : in DDS.StatusMask := STATUS_MASK_NONE) return DDS.DataWriter.Ref_Access is abstract; |
The DDS.DataWriter will be attached and belong to the DDS.Publisher.
For each application-defined type, Foo, there is an implied, auto-generated class FooDataWriter that extends DDS.DataWriter and contains the operations to write data of type Foo.
When a DDS.DataWriter is created, only those transports already registered are available to the DDS.DataWriter. See NDDS_TransportBuiltinsComponent for details on when a builtin transport is registered.
Precondition: If publisher is enabled, topic must have been enabled. Otherwise, this operation will fail and no DDS.DataWriter will be created.
Precondition: The given DDS.Topic must have been created from the same participant as this publisher. If it was created from a different participant, this procedure will return NULL.
self: <<in>> Cannot be NULL
topic: <<in>> The DDS.Topic that the DDS.DataWriter 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.Publisher.set_default_library).
profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.Publisher.set_default_profile).
listener: <<in>> The listener of the DDS.DataWriter.
mask: <<in>>. Changes of communication status to be invoked on the listener. See DDS.StatusMask.
Returns: A DDS.DataWriter of a derived class specific to the data type associated with the DDS.Topic or NULL if an error occurred.
See also: FooDataWriter
See also: DDSQosTypesModule_usage for information on setting QoS before entity creation
See also: DDS.DataWriterQos for rules on consistency among QoS
See also: DDS.Publisher.create_datawriter
See also: DDS.Publisher.get_default_datawriter_qos
See also: DDS.Topic.set_qos
See also: DDS.Publisher.copy_from_topic_qos
See also: DDS.DataWriter.set_listener
procedure Delete_DataWriter
( | Self | : not null access Ref; |
A_DataWriter | : in out DDS.DataWriter.Ref_Access) is abstract; |
The deletion of the DDS.DataWriter will automatically unregister all instances.
Precondition: If the DDS.DataWriter does not belong to the DDS.Publisher, the operation will fail with DDS.RETCODE_PRECONDITION_NOT_MET.
Postcondition: Listener installed on the DDS.DataWriter will not be called after this procedure completes successfully.
@mtsafety_delete
self: <<in>> Cannot be NULL
a_datawriter: <<in>> The DDS.DataWriter to be deleted. Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_PRECONDITION_NOT_MET.
function Lookup_DataWriter
( | Self | : not null access Ref; |
Topic_Name | : in DDS.String_Ptr) return DDS.DataWriter.Ref_Access is abstract; |
This returned DDS.DataWriter is either enabled or disabled.
If more than one DDS.DataWriter is attached to the DDS.Publisher with the same topic_name, then this operation may return any one of them.
MT Safety:
UNSAFE. It is not safe to lookup a DDS.DataWriter in one thread while another thread is simultaneously creating or destroying that DDS.DataWriter.
self: <<in>> Cannot be NULL
topic_name: <<in>> Name of the DDS.Topic associated with the DDS.DataWriter that is to be looked up. Cannot be NULL.
Returns: A DDS.DataWriter that belongs to the DDS.Publisher attached to the DDS.Topic with topic_name. If no such DDS.DataWriter exists, this operation returns NULL.
This returned DDS.DataWriter is either enabled or disabled.
If more than one DDS.DataWriter is attached to the DDS.Publisher with the same topic_name, then this operation may return any one of them.
MT Safety:
UNSAFE. It is not safe to lookup a DDS.DataWriter in one thread while another thread is simultaneously creating or destroying that DDS.DataWriter.
procedure Delete_Contained_Entities
( | Self | : not null access Ref) is abstract; |
Deletes all contained DDS.DataWriter objects. Once DDS.Publisher.delete_contained_entities completes successfully, the application may delete the DDS.Publisher, knowing that it has no contained DDS.DataWriter objects.
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.
@mtsafety_delete
self: <<in>> Cannot be NULL
Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_PRECONDITION_NOT_MET.
procedure Set_Qos
( | Self | : not null access Ref; |
Qos | : in DDS.PublisherQos) is abstract; |
This operation modifies the QoS of the DDS.Publisher.
The DDS.PublisherQos.group_data, DDS.PublisherQos.partition and DDS.PublisherQos.entity_factory can be changed. The other policies are immutable.
self: <<in>> Cannot be NULL
@condparam{CPP2_LANGUAGE_ONLY, the_qos, qos, <<in>> DDS.PublisherQos to be set to. Policies must be consistent. Immutable policies cannot be changed after DDS.Publisher is enabled. The special value DDS.PUBLISHER_QOS_DEFAULT can be used to indicate that the QoS of the DDS.Publisher should be changed to match the current default DDS.PublisherQos 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.PublisherQos 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 String; | |
profile_name | : in String) is abstract; |
This operation modifies the QoS of the DDS.Publisher.
The DDS.PublisherQos.group_data, DDS.PublisherQos.partition and DDS.PublisherQos.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.Publisher.set_default_library).
profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.Publisher.set_default_profile).
Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_IMMUTABLE_POLICY, or DDS.RETCODE_INCONSISTENT_POLICY.
See also: DDS.PublisherQos for rules on consistency among QoS
See also: SharedEACallbackRules
procedure Get_Qos
( | Self | : not null access Ref; |
Qos | : in out DDS.PublisherQos) 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.PublisherQos 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 | : in DDS.PublisherListener.Ref_Access; | |
Mask | : in DDS.StatusMask) is abstract; |
self: <<in>> Cannot be NULL
l: <<in>> DDS.PublisherListener to set to.
mask: <<in>> DDS.StatusMask associated with the DDS.PublisherListener.
Raises: One of the DDSReturnTypesModules_std_retcodes
See also: Entity_set_listener
function Get_Listener
( | Self | : not null access Ref) return DDS.PublisherListener.Ref_Access is abstract; |
self: <<in>> Cannot be NULL
Returns: DDS.PublisherListener of the DDS.Publisher.
See also: Entity_get_listener
procedure Suspend_Publications
( | Self | : not null access Ref) is abstract; |
It is a hint to RTI Connext so it can optimize its performance by e.g., holding the dissemination of the modifications and then batching them.
The use of this operation must be matched by a corresponding call to DDS.Publisher.resume_publications indicating that the set of modifications has completed.
If the DDS.Publisher is deleted before DDS.Publisher.resume_publications is called, any suspended updates yet to be published will be discarded.
RTI Connext is not required and does not currently make use of this hint in any way. However, similar results can be achieved by using asynchronous publishing. Combined with DDS.FlowController, DDS.ASYNCHRONOUS_PUBLISH_MODE_QOS DDS.DataWriter instances allow the user even finer control of traffic shaping and sample coalescing.
self: <<in>> Cannot be NULL
Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_NOT_ENABLED.
See also: DDS.FlowController
See also: DDS.FlowController.trigger_flow
See also: DDS.ON_DEMAND_FLOW_CONTROLLER_NAME
See also: DDS.PublishModeQosPolicy
procedure Resume_Publications
( | Self | : not null access Ref) is abstract; |
This is a hint to RTI Connext that can be used for example, to batch all the modifications made since the DDS.Publisher.suspend_publications.
RTI Connext is not required and does not currently make use of this hint in any way. However, similar results can be achieved by using asynchronous publishing. Combined with DDS.FlowController, DDS.ASYNCHRONOUS_PUBLISH_MODE_QOS DDS.DataWriter instances allow the user even finer control of traffic shaping and sample coalescing.
Precondition: A call to DDS.Publisher.resume_publications must match a previous call to DDS.Publisher.suspend_publications. Otherwise the operation will fail with 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.
See also: DDS.FlowController
See also: DDS.FlowController.trigger_flow
See also: DDS.ON_DEMAND_FLOW_CONTROLLER_NAME
See also: DDS.PublishModeQosPolicy
procedure Begin_Coherent_Changes
( | Self | : not null access Ref) is abstract; |
A 'coherent set' is a set of modifications that must be propagated in such a way that they are interpreted at the receiver's side as a consistent set of modifications; that is, the receiver will only be able to access the data after all the modifications in the set are available at the receiver end.
A connectivity change may occur in the middle of a set of coherent changes; for example, the set of partitions used by the DDS.Publisher or one of its subscribers (DDS.Subscriber) may change, a late-joining DDS.DataReader may appear on the network, or a communication failure may occur. In the event that such a change prevents an entity from receiving the entire set of coherent changes, that entity must behave as if it had received none of the set.
These calls can be nested. In that case, the coherent set terminates only with the last call to DDS.Publisher.end_coherent_changes. Publisher's samples (samples published by any of the DataWriters within the Publisher) that are not published within a begin_coherent_changes/end_coherent_changes block will not be provided to the DataReaders as a set.
The support for coherent changes enables a publishing application to change the value of several data-instances that could belong to the same or different topics and have those changes be seen atomically by the readers. This is useful in cases where the values are inter-related (for example, if there are two data-instances representing the altitude and velocity vector of the same aircraft and both are changed, it may be useful to communicate those values in a way the reader can see both together; otherwise, it may, e.g., erroneously interpret that the aircraft is on a collision course).
Note: Coherent sets don't apply to Topic Queries. If a DDS.TopicQuery selects only a subset of samples that was published as a coherent set, the subscribing application will receive them regardless of their membership to the coherent set.
self: <<in>> Cannot be NULL
Raises: One of the DDSReturnTypesModules_std_retcodes or DDS.RETCODE_NOT_ENABLED.
See also: DDS.PresentationQosPolicy
procedure End_Coherent_Changes
( | Self | : not null access Ref) is abstract; |
Precondition: If there is no matching call to DDS.Publisher.begin_coherent_changes the operation will fail with DDS.RETCODE_PRECONDITION_NOT_MET.
self: <<in>> Cannot be NULL
Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_PRECONDITION_NOT_MET or DDS.RETCODE_NOT_ENABLED.
procedure Wait_For_Acknowledgments
( | Self | : not null access Ref; |
Max_Wait | : in DDS.Duration_T) is abstract; |
This operation blocks the calling thread until either all data written by the reliable DataWriters entities is acknowledged by (a) all reliable DDS.DataReader entities that are matched and alive and (b) by all required subscriptions, or until the duration specified by the max_wait parameter elapses, whichever happens first. A successful completion indicates that all the samples written have been acknowledged; a timeout indicates that max_wait elapsed before all the data was acknowledged.
Note that if a thread is blocked in the call to this operation on a DDS.Publisher and a different thread writes new samples on any of the reliable DataWriters that belong to this Publisher, the new samples must be acknowledged before unblocking the thread that is waiting on this operation.
If none of the DDS.DataWriter instances have DDS.ReliabilityQosPolicy kind set to RELIABLE, the operation will complete successfully.
self: <<in>> Cannot be NULL
max_wait: <<in>> Specifies maximum time to wait for acknowledgements DDS.Duration_t . Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_NOT_ENABLED, DDS.RETCODE_TIMEOUT
procedure Wait_For_Asynchronous_Publishing
( | Self | : not null access Ref; |
Max_Wait | : in DDS.Duration_T) is abstract; |
This operation blocks the calling thread (up to max_wait) until all data written by the asynchronous DDS.DataWriter entities is sent and acknowledged (if reliable) by all matched DDS.DataReader entities. A successful completion indicates that all the samples written have been sent and acknowledged where applicable; if it times out, this indicates that max_wait elapsed before all the data was sent and/or acknowledged.
In other words, this guarantees that sending to best effort DDS.DataReader is complete in addition to what DDS.Publisher.wait_for_acknowledgments provides.
If none of the DDS.DataWriter instances have DDS.PublishModeQosPolicy.kind set to DDS.ASYNCHRONOUS_PUBLISH_MODE_QOS, the operation will complete immediately , with DDS.RETCODE_OK.
self: <<in>> Cannot be NULL
max_wait: <<in>> Specifies maximum time to wait for acknowledgements DDS.Duration_t.
Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_NOT_ENABLED, DDS.RETCODE_TIMEOUT
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.Publisher belongs.
procedure Set_Default_DataWriter_Qos
( | Self | : not null access Ref; |
Qos | : in DDS.DataWriterQos) 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.DataWriter if DDS.DATAWRITER_QOS_DEFAULT is specified as the qos parameter when DDS.Publisher.create_datawriter 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 DDS.Publisher while another thread may be simultaneously calling DDS.Publisher.set_default_datawriter_qos, DDS.Publisher.get_default_datawriter_qos or calling DDS.Publisher.create_datawriter with DDS.DATAWRITER_QOS_DEFAULT as the qos parameter.
self: <<in>> Cannot be NULL
qos: <<in>> Default qos to be set. 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.Publisher.set_default_datawriter_qos had never been called. Cannot be NULL.
Raises: One of the DDSReturnTypesModules_std_retcodes, or DDS.RETCODE_INCONSISTENT_POLICY
procedure Set_Default_DataWriter_Qos_With_Profile
( | Self | : not null access Ref; |
libName | : DDS.String; | |
profName | : DDS.String) is abstract; |
procedure Set_Default_DataWriter_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.DataWriter if DDS.DATAWRITER_QOS_DEFAULT is specified as the qos parameter when DDS.Publisher.create_datawriter is called.
Precondition: The DDS.DataWriterQos 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.Publisher while another thread may be simultaneously calling DDS.Publisher.set_default_datawriter_qos, DDS.Publisher.get_default_datawriter_qos or calling DDS.Publisher.create_datawriter with DDS.DATAWRITER_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.Publisher.set_default_library).
profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.Publisher.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.DATAWRITER_QOS_DEFAULT
See also: DDS.Publisher.create_datawriter_with_profile
procedure Get_Default_DataWriter_Qos
( | Self | : not null access Ref; |
Qos | : in out DDS.DataWriterQos) is abstract; |
The retrieved qos will match the set of values specified on the last successful call to DDS.Publisher.set_default_datawriter_qos or DDS.Publisher.set_default_datawriter_qos_with_profile, or else, if the call was never made, the default values from its 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 DDS.Publisher while another thread may be simultaneously calling DDS.Publisher.set_default_datawriter_qos.
self: <<in>> Cannot be NULL
qos: <<inout>> DDS.DataWriterQos to be filled-up. Cannot be NULL.
Raises: One of the DDSReturnTypesModules_std_retcodes
See also: DDS.DATAWRITER_QOS_DEFAULT
See also: DDS.Publisher.create_datawriter
procedure Copy_From_Topic_Qos
( | Self | : not null access Ref; |
A_DataWriter_Qos | : in out DDS.DataWriterQos; | |
A_Topic_Qos | : in DDS.TopicQos) is abstract; |
Copies the policies in the DDS.TopicQos to the corresponding policies in the DDS.DataWriterQos (replacing values in the DDS.DataWriterQos, if present).
This is a "convenience" operation most useful in combination with the operations DDS.Publisher.get_default_datawriter_qos and DDS.Topic.get_qos. The operation DDS.Publisher.copy_from_topic_qos can be used to merge the DDS.DataWriter default QoS policies with the corresponding ones on the DDS.Topic. The resulting QoS can then be used to create a new DDS.DataWriter, or set its QoS.
This operation does not check the resulting DDS.DataWriterQos for consistency. This is because the 'merged' DDS.DataWriterQos may not be the final one, as the application can still modify some policies prior to applying the policies to the DDS.DataWriter.
self: <<in>> Cannot be NULL
a_datawriter_qos: <<inout>> DDS.DataWriterQos to be filled-up. Cannot be NULL.
a_topic_qos: <<in>> DDS.TopicQos to be merged with DDS.DataWriterQos. 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 Publisher profile is needed during a call to one of this Publisher's operations. When calling a DDS.Publisher 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.Publisher inherits the default from the DDS.DomainParticipant (see DDS.DomainParticipant.set_default_profile).
This procedure does not set the default QoS for DDS.DataWriter objects created by the DDS.Publisher; for this functionality, use DDS.Publisher.set_default_datawriter_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 Publishers; for this functionality, use DDS.DomainParticipant.set_default_publisher_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.Publisher.get_default_profile
See also: DDS.Publisher.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 Publisher'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.Publisher 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.Publisher.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.Publisher.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.Publisher.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.Publisher.set_default_profile is called.
This library can be different than the DDS.Publisher default library (see DDS.Publisher.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.Publisher.set_default_profile
QoS:
DDS.PublisherQos
Listener:
DDS.PublisherListener
A publisher acts on the behalf of one or several DDS.DataWriter objects that belong to it. When it is informed of a change to the data associated with one of its DDS.DataWriter objects, it decides when it is appropriate to actually send the data-update message. In making this decision, it considers any extra information that goes with the data (timestamp, writer, etc.) as well as the QoS of the DDS.Publisher and the DDS.DataWriter.
The following operations may be called even if the DDS.Publisher is not enabled. Other operations will fail with the value DDS.RETCODE_NOT_ENABLED if called on a disabled DDS.Publisher:
See also: SharedEACallbackRules