Index

Package: DDS.Topic

Description

package DDS.Topic is

Summary: <<interface>> The most basic description of the data to be published and subscribed.

QoS:
DDS.TopicQos

Status:
DDS.INCONSISTENT_TOPIC_STATUS, DDS.InconsistentTopicStatus

Listener:
DDS.TopicListener

A DDS.Topic is identified by its name, which must be unique in the whole domain. In addition (by virtue of extending DDS.TopicDescription) it fully specifies the type of the data that can be communicated when publishing or subscribing to the DDS.Topic.

DDS.Topic is the only DDS.TopicDescription that can be used for publications and therefore associated with a DDS.DataWriter.

The following operations may be called even if the DDS.Topic is not enabled. Other operations will fail with the value DDS.RETCODE_NOT_ENABLED if called on a disabled DDS.Topic:

  • DDS.Entity.enable
  • DDS.Topic.set_qos, DDS.Topic.get_qos
  • DDS.Topic.set_qos_with_profile
  • DDS.Topic.set_listener, DDS.Topic.get_listener
  • DDS.Entity.get_statuscondition, DDS.Entity.get_status_changes
  • DDS.Topic.get_inconsistent_topic_status


    See also: SharedEACallbackRules

  • Types

    Ref (abstract)

    type Ref is limited interface and DDS.TopicDescription.Ref and DDS.Domain_Entity.Ref;

    Ref_Access

    type Ref_Access is access all Ref'Class;

    Subprograms & Entries

    Set_Qos (abstract)

    procedure Set_Qos 
    (Self: not null access Ref;
    Qos: in DDS.TopicQos) is abstract;

    Summary: Set the topic QoS.

    The DDS.TopicQos.topic_data and DDS.TopicQos.deadline, DDS.TopicQos.latency_budget, DDS.TopicQos.transport_priority and DDS.TopicQos.lifespan can be changed. The other policies are immutable.

    qos: <<in>> Set of policies to be applied to DDS.Topic.

    Policies must be consistent. Immutable policies cannot be changed after DDS.Topic is enabled. The special value DDS.TOPIC_QOS_DEFAULT can be used to indicate that the QoS of the DDS.Topic should be changed to match the current default DDS.TopicQos set in the DDS.DomainParticipant. Cannot be NULL.

    self: <<in>> Cannot be NULL

    Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_IMMUTABLE_POLICY if immutable policy is changed, or DDS.RETCODE_INCONSISTENT_POLICY if policies are inconsistent


    See also: DDS.TopicQos for rules on consistency among QoS
    See also: Entity_set_qos
    See also: SharedEACallbackRules

    Set_Qos_With_Profile (abstract)

    procedure Set_Qos_With_Profile 
    (Self: not null access Ref;
    library_name: in String;
    profile_name: in String) is abstract;

    Set_Qos_With_Profile (abstract)

    procedure Set_Qos_With_Profile 
    (Self: not null access Ref;
    library_name: in Standard.String;
    profile_name: in Standard.String) is abstract;

    Summary: <<ext>> Change the QoS of this topic using the input XML QoS profile.

    The DDS.TopicQos.topic_data and DDS.TopicQos.deadline, DDS.TopicQos.latency_budget, DDS.TopicQos.transport_priority and DDS.TopicQos.lifespan 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.DomainParticipant.set_default_library).

    profile_name: <<in>> XML QoS Profile name. If profile_name is null RTI Connext will use the default profile (see DDS.DomainParticipant.set_default_profile).

    Raises: One of the DDSReturnTypesModules_std_retcodes, DDS.RETCODE_IMMUTABLE_POLICY if immutable policy is changed, or DDS.RETCODE_INCONSISTENT_POLICY if policies are inconsistent


    See also: DDS.TopicQos for rules on consistency among QoS
    See also: SharedEACallbackRules

    Get_Qos (abstract)

    procedure Get_Qos 
    (Self: not null access Ref;
    Qos: in out DDS.TopicQos) is abstract;

    Summary: Get the topic QoS.

    This procedure may potentially allocate memory depending on the sequences contained in some QoS policies.

    self: <<in>> Cannot be NULL

    qos: <<inout>> QoS to be filled up. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: Entity_get_qos

    Set_Listener (abstract)

    procedure Set_Listener 
    (Self: not null access Ref;
    A_Listener: in DDS.TopicListener.Ref_Access;
    Mask: in DDS.StatusMask) is abstract;

    Summary: Set the topic listener.

    self: <<in>> Cannot be NULL

    l: <<in>> Listener to be installed on entity.

    mask: <<in>> Changes of communication status to be invoked on the listener. See DDS.StatusMask.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: Entity_set_listener

    Get_Listener (abstract)

    function Get_Listener 
    (Self: not null access Ref) return DDS.TopicListener.Ref_Access is abstract;

    Summary: Get the topic listener.

    self: <<in>> Cannot be NULL

    Returns: Existing listener attached to the DDS.Topic.


    See also: Entity_get_listener

    Get_Inconsistent_Topic_Status (abstract)

    procedure Get_Inconsistent_Topic_Status 
    (Self: not null access Ref;
    Status: in out DDS.InconsistentTopicStatus) is abstract;

    Summary: Allows the application to retrieve the DDS.INCONSISTENT_TOPIC_STATUS status of a DDS.Topic.

    Retrieve the current DDS.InconsistentTopicStatus

    self: <<in>> Cannot be NULL

    status: <<inout>> Status to be retrieved. Cannot be NULL.

    Raises: One of the DDSReturnTypesModules_std_retcodes


    See also: DDS.InconsistentTopicStatus

    Get_Type_Name (abstract)

    function Get_Type_Name 
    (Self: not null access Ref) return DDS.String is abstract;

    Get_Name (abstract)

    function Get_Name 
    (Self: not null access Ref) return DDS.String is abstract;

    Get_Participant (abstract)

    function Get_Participant 
    (Self: not null access Ref) return access DDS.DomainParticipant.Ref'Class is abstract;

    As_TopicDescription (abstract)

    function As_TopicDescription 
    (Self: not null access Ref) return DDS.TopicDescription.Ref_Access is abstract;

    Summary: Access a DDS.Topic's DDS.TopicDescription supertype instance.

    Returns: DDS.Topic's supertype DDS.TopicDescription instance

    Narrow

    function Narrow 
    (Self: not null access DDS.TopicDescription.Ref'Class) return Ref_Access;

    Summary: Narrow the given DDS.TopicDescription pointer to a DDS.Topic pointer.

    Returns: DDS.Topic if this DDS.TopicDescription is a DDS.Topic. Otherwise, return NULL.

    To_Topic

    function To_Topic 
    (Self: not null access DDS.TopicDescription.Ref'Class) return Ref_Access;

    Summary: Narrow the given DDS.TopicDescription pointer to a DDS.Topic pointer.

    Returns: DDS.Topic if this DDS.TopicDescription is a DDS.Topic. Otherwise, return NULL.

    Narrow_From_Entity

    function Narrow_From_Entity 
    (Self: not null access DDS.Entity.Ref'Class) return Ref_Access;

    Summary: Narrow the given DDS.Entity pointer to a DDS.Topic pointer.

    self: <<in>> Cannot be NULL

    Returns: DDS.Topic if this DDS.Entity is a DDS.Topic. Otherwise, return NULL.