pragma Ada_05;
package DDS.TypeCodeFactory is
type Ref is interface;
type Ref_Access is access all Ref'Class;
type StructMember is new Integer;
type EnumMember is new Integer;
type ValueMember is new Integer;
type UnionMember is new Integer;
type CdrInputStream is new Integer;
type TCKind is new Integer;
function Get_Instance return Ref_Access;
function Create_Alias_Tc (This : not null access Ref;
S : in String;
Tc : in TypeCode;
Flag : in Boolean) return TypeCode is abstract;
function Create_Array_Tc (This : not null access Ref;
Ai : in Long_Array;
Tc : in TypeCode) return TypeCode is abstract;
function Create_Enum_Tc (This : not null access Ref;
S : in String;
Aenummember : in EnumMember) return TypeCode is abstract;
function Create_Sequence_Tc (This : not null access Ref; I : in Long;
Tc : in TypeCode) return TypeCode is abstract;
function Create_Sparse_Tc (This : not null access Ref;
S : in String;
Word0 : in Short;
Tc : in TypeCode) return TypeCode is abstract;
function Create_String_Tc (This : not null access Ref;
I : in Long)
return TypeCode is abstract;
function Create_Struct_Tc (This : not null access Ref;
S : in String;
Astructmember : in StructMember) return TypeCode is abstract;
function Create_Tc_From_Stream (This : not null access Ref; Inputstream : in CdrInputStream) return TypeCode is abstract;
function Create_Union_Tc (This : not null access Ref; S : in String;
Tc : in TypeCode;
I : in Long;
Aunionmember : in UnionMember) return TypeCode is abstract;
function Create_Value_Tc (This : not null access Ref;
S : in String;
Word0 : in Short;
Tc : in TypeCode;
Avaluemember : in ValueMember) return TypeCode is abstract;
function Create_Wstring_Tc (This : not null access Ref; I : in Long) return TypeCode is abstract;
function Get_Primitive_Tc (This : not null access Ref;
Kind : in TCKind) return TypeCode is abstract;
end DDS.TypeCodeFactory;