with DDS;
with DDS.DomainParticipant;
with DDS.TypeSupport;
with DDS.DataReader;
with DDS.DataWriter;
package DDS.SubscriptionBuiltinTopicData_TypeSupport is
type Ref is new Standard.DDS.TypeSupport.Ref with null record;
type Ref_Access is access all Ref'Class;
function Create_TypedDataReaderI
(Self : access Ref) return Standard.DDS.DataReader.Ref_Access;
procedure Destroy_TypedDataReaderI
(Self : access Ref;
Reader : in out Standard.DDS.DataReader.Ref_Access);
function Create_TypedDataWriterI
(Self : access Ref) return Standard.DDS.DataWriter.Ref_Access;
procedure Destroy_TypedDataWriterI
(Self : access Ref;
Writer : in out Standard.DDS.DataWriter.Ref_Access) is null;
procedure Register_Type
(Participant : not null access Standard.DDS.DomainParticipant.Ref'Class;
Type_Name : in Standard.DDS.String);
function Get_Type_Name return Standard.DDS.String;
procedure Get_Type_Name (name : out Standard.DDS.String);
function Create_Data (AllocatePointers : in Boolean := True)
return not null SubscriptionBuiltinTopicData_Access;
procedure Delete_Data
(A_Data : in out SubscriptionBuiltinTopicData_Access; DeletePointers : in Boolean := True);
procedure Print_Data (A_Data : not null access constant SubscriptionBuiltinTopicData);
procedure Copy_Data
(Dest : not null access SubscriptionBuiltinTopicData;
Source : not null access constant SubscriptionBuiltinTopicData);
procedure Initialize_Data
(Dest : not null access SubscriptionBuiltinTopicData;
AllocatePointers : in Boolean := True);
procedure Finalize_Data
(Dest : not null access SubscriptionBuiltinTopicData;
DeletePointers : in Boolean := True);
end DDS.SubscriptionBuiltinTopicData_TypeSupport;