pragma Ada_05;
with DDS.Entity;
with DDS.Domain_Entity;
with DDS.TopicListener;
with DDS.TopicDescription;
limited with DDS.DomainParticipant;
package DDS.Topic is
type Ref is limited interface and DDS.Domain_Entity.Ref;
type Ref_Access is access all Ref'Class;
procedure Set_Qos
(Self : not null access Ref;
Qos : in DDS.TopicQos) is abstract;
procedure Set_Qos_With_Profile
(Self : not null access Ref;
library_name : in String;
profile_name : in String) is abstract;
procedure Set_Qos_With_Profile
(Self : not null access Ref;
library_name : in Standard.String;
profile_name : in Standard.String) is abstract;
procedure Get_Qos
(Self : not null access Ref;
Qos : in out DDS.TopicQos) is abstract;
procedure Set_Listener
(Self : not null access Ref;
A_Listener : in DDS.TopicListener.Ref_Access;
Mask : in DDS.StatusMask) is abstract;
function Get_Listener
(Self : not null access Ref)
return DDS.TopicListener.Ref_Access is abstract;
procedure Get_Inconsistent_Topic_Status
(Self : not null access Ref;
Status : in out DDS.InconsistentTopicStatus) is abstract;
function Get_Type_Name
(Self : not null access Ref)
return DDS.String is abstract;
function Get_Name
(Self : not null access Ref)
return DDS.String is abstract;
function Get_Participant
(Self : not null access Ref)
return access DDS.DomainParticipant.Ref'Class is abstract;
function As_TopicDescription
(Self : not null access Ref)
return DDS.TopicDescription.Ref_Access is abstract;
function Narrow (Self : not null access DDS.TopicDescription.Ref'Class)
return Ref_Access;
function To_Topic (Self : not null access DDS.TopicDescription.Ref'Class)
return Ref_Access;
function Narrow_From_Entity (Self : not null access DDS.Entity.Ref'Class)
return Ref_Access;
end DDS.Topic;