with DDS.TypeCodeFactory;
with RTIDDS.Low_Level.dds_c.typecode_h;
package DDS.TypeCodeFactory_Impl is
use DDS.TypeCodeFactory;
use RTIDDS.Low_Level.dds_c.typecode_h;
type Ref is new DDS.TypeCodeFactory.Ref with record
Impl : access DDS_TypeCodeFactory;
end record;
function Create_Alias_Tc
(This : not null access Ref;
Name : in String;
Original_Type : in TypeCode;
Is_Pointer : in Boolean) return TypeCode;
function Create_Array_Tc
(This : not null access Ref;
Ai : in Long_Array;
Tc : in TypeCode) return TypeCode;
function Create_Enum_Tc
(This : not null access Ref;
Name : in String;
Aenummember : in EnumMember) return TypeCode;
function Create_Sequence_Tc
(This : not null access Ref;
I : in Long;
Tc : in TypeCode) return TypeCode;
function Create_Sparse_Tc
(This : not null access Ref;
Name : in String;
Word0 : in Short;
Tc : in TypeCode) return TypeCode;
function Create_String_Tc
(This : not null access Ref;
I : in Long) return TypeCode;
function Create_Struct_Tc
(This : not null access Ref;
Name : in String;
Astructmember : in StructMember) return TypeCode;
function Create_Tc_From_Stream
(This : not null access Ref;
Inputstream : in CdrInputStream) return TypeCode;
function Create_Union_Tc
(This : not null access Ref;
Name : in String;
Tc : in TypeCode;
I : in Long;
Aunionmember : in UnionMember) return TypeCode;
function Create_Value_Tc
(This : not null access Ref;
Name : in String;
Word0 : in Short;
Tc : in TypeCode;
Avaluemember : in ValueMember) return TypeCode;
function Create_Wstring_Tc
(This : not null access Ref;
I : in Long) return TypeCode;
function Get_Primitive_Tc
(This : not null access Ref;
Kind : in TCKind) return TypeCode;
function Get_Instance return Ref_Access;
end DDS.TypeCodeFactory_Impl;