package DDS.Topic_Impl is
type Ref is limited new DDS.TopicDescription_Impl.Ref and DDS.Topic.Ref with private;
type Ref_Access is access all Ref'Class;
procedure Set_Qos
| ( | Self | : not null access Ref; | 
| Qos | : in DDS.TopicQos); | 
procedure Set_Qos_With_Profile
| ( | Self | : not null access Ref; | 
| Library_Name | : in Standard.String; | |
| Profile_Name | : in Standard.String); | 
procedure Get_Qos
| ( | Self | : not null access Ref; | 
| Qos | : in out DDS.TopicQos); | 
procedure Set_Listener
| ( | Self | : not null access Ref; | 
| A_Listener | : in DDS.TopicListener.Ref_Access; | |
| Mask | : in DDS.StatusMask); | 
function Get_Listener
| ( | Self | : not null access Ref) return DDS.TopicListener.Ref_Access; | 
procedure Get_Inconsistent_Topic_Status
| ( | Self | : not null access Ref; | 
| Status | : in out DDS.InconsistentTopicStatus); | 
function Get_Type_Name
| ( | Self | : not null access Ref) return DDS.String; | 
function Get_Name
| ( | Self | : not null access Ref) return DDS.String; | 
function Get_Participant
| ( | Self | : not null access Ref) return access DDS.DomainParticipant.Ref'Class; | 
function As_TopicDescription_Impl_I
| ( | Self | : not null access Ref) return access DDS.TopicDescription_Impl.Ref; | 
function As_TopicDescription_I
| ( | Self | : not null access Ref) return DDS.TopicDescription.Ref_Access; | 
function Get_FacadeI
| ( | C_TopicW | : access RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h.DDS_Topic) return Ref_Access; | 
function CreateI
| ( | Participant | : DDS.DomainParticipant.Ref_Access; | 
| Topic_Name | : in DDS.String; | |
| Type_Name | : in DDS.String; | |
| Qos | : in DDS.TopicQos; | |
| A_Listener | : in DDS.TopicListener.Ref_Access; | |
| Mask | : in DDS.StatusMask) return DDS.Topic.Ref_Access; | 
function Create_WrapperI
| ( | C_TopicW | : access RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h.DDS_Topic) return DDS.Topic_Impl.Ref_Access; | 
function Create_ReferenceI
| ( | C_TopicW | : access RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h.DDS_Topic) return Ref_Access; | 
function TW_As_TopicDescription_I
| ( | Self | : not null access Ref) return access DDS_TopicDescription; | 
function TW_As_Entity_I
| ( | Self | : not null access Ref) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_infrastructure_h.DDS_Entity; | 
function TW_As_Impl_I
| ( | Self | : not null access Ref) return access DDS_TopicImpl; | 
function As_TopicWrapper_I
| ( | Self | : not null access Ref) return access RTIDDS.Low_Level.ndds_dds_c_dds_c_topic_h.DDS_Topic; | 
function Get_StatusCondition
| ( | Self | : not null access Ref) return DDS.StatusCondition.Ref_Access; | 
function Get_Status_Changes
| ( | Self | : not null access Ref) return DDS.StatusMask; | 
function Get_Instance_Handle
| ( | Self | : not null access Ref) return DDS.InstanceHandle_T; | 
function create_datareaderI
| ( | self | : not null access Ref; | 
| l | : Integer; | |
| datareaderlistener | : DDS.DataReaderListener.Ref_Access; | |
| i | : Integer) return DDS.DataReader.Ref_Access; | 
function get_data_type
| ( | self | : not null access Ref) return DDS.TypeSupport_Impl.Ref_Access; | 
procedure Free
| ( | This | : in out Ref_Access); | 
function As_TopicDescription
| ( | Self | : not null access Ref) return DDS.TopicDescription.Ref_Access; |