initial commit for github
This commit is contained in:
commit
60968612de
370 changed files with 68427 additions and 0 deletions
137
test/headerrepresentation/files/adtf2.description
Normal file
137
test/headerrepresentation/files/adtf2.description
Normal file
|
@ -0,0 +1,137 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>2.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>07.04.2010</date_creation>
|
||||
<date_change>07.04.2010</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="Fundamental unit for length" name="Metre" symbol="m" />
|
||||
<baseunit description="Fundamental unit for mass" name="Kilogram" symbol="kg" />
|
||||
<baseunit description="Fundamental unit for time" name="Second" symbol="s" />
|
||||
<baseunit description="Fundamental unit for electric current" name="Ampere" symbol="A" />
|
||||
<baseunit description="Fundamental unit for thermodynamic temperature" name="Kelvin" symbol="K" />
|
||||
<baseunit description="Fundamental unit for amount of substance" name="Mole" symbol="mol" />
|
||||
<baseunit description="Fundamental unit for luminous intensity" name="Candela" symbol="cd" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Degree" symbol="deg" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Radiant" symbol="rad" />
|
||||
<baseunit description="No SI, but needed for own unit definitions" name="Unitless" symbol="" />
|
||||
<baseunit description="No SI, but needed for no unit definitions" name="nou" symbol="" />
|
||||
<prefixes name="atto" power="-18" symbol="a" />
|
||||
<prefixes name="centi" power="-2" symbol="c" />
|
||||
<prefixes name="deca" power="1" symbol="da" />
|
||||
<prefixes name="deci" power="-1" symbol="d" />
|
||||
<prefixes name="exa" power="18" symbol="E" />
|
||||
<prefixes name="femto" power="-15" symbol="f" />
|
||||
<prefixes name="giga" power="9" symbol="G" />
|
||||
<prefixes name="hecto" power="2" symbol="h" />
|
||||
<prefixes name="kilo" power="3" symbol="k" />
|
||||
<prefixes name="mega" power="6" symbol="M" />
|
||||
<prefixes name="micro" power="-6" symbol="u" />
|
||||
<prefixes name="milli" power="-3" symbol="m" />
|
||||
<prefixes name="nano" power="-9" symbol="n" />
|
||||
<prefixes name="peta" power="15" symbol="P" />
|
||||
<prefixes name="pico" power="-12" symbol="p" />
|
||||
<prefixes name="tera" power="12" symbol="T" />
|
||||
<prefixes name="test" power="1" symbol="a" />
|
||||
<prefixes name="yocto" power="-24" symbol="y" />
|
||||
<prefixes name="yotta" power="24" symbol="Y" />
|
||||
<prefixes name="zepto" power="-21" symbol="z" />
|
||||
<prefixes name="zetta" power="21" symbol="Z" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" name="tBool" size="8" />
|
||||
<datatype description="predefined ADTF tChar datatype" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" name="tUInt8" size="8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" name="tFloat64" size="64" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="tPixelFormat" type="tInt16">
|
||||
<element name="PF_16BIT" value="20" />
|
||||
<element name="PF_24BIT" value="40" />
|
||||
<element name="PF_32BIT" value="50" />
|
||||
<element name="PF_8BIT" value="10" />
|
||||
<element name="PF_ABGR_4444" value="29" />
|
||||
<element name="PF_ABGR_8888" value="52" />
|
||||
<element name="PF_ARGB_8888" value="51" />
|
||||
<element name="PF_BGRA_8888" value="54" />
|
||||
<element name="PF_BGR_555" value="34" />
|
||||
<element name="PF_BGR_565" value="35" />
|
||||
<element name="PF_BGR_888" value="46" />
|
||||
<element name="PF_CUSTOM" value="1000" />
|
||||
<element name="PF_GREYSCALE_10" value="21" />
|
||||
<element name="PF_GREYSCALE_12" value="22" />
|
||||
<element name="PF_GREYSCALE_14" value="23" />
|
||||
<element name="PF_GREYSCALE_16" value="24" />
|
||||
<element name="PF_GREYSCALE_18" value="41" />
|
||||
<element name="PF_GREYSCALE_20" value="42" />
|
||||
<element name="PF_GREYSCALE_22" value="43" />
|
||||
<element name="PF_GREYSCALE_24" value="44" />
|
||||
<element name="PF_GREYSCALE_32" value="55" />
|
||||
<element name="PF_GREYSCALE_8" value="11" />
|
||||
<element name="PF_GREYSCALE_FLOAT32" value="56" />
|
||||
<element name="PF_RGBA_4444" value="28" />
|
||||
<element name="PF_RGBA_8888" value="53" />
|
||||
<element name="PF_RGB_444" value="25" />
|
||||
<element name="PF_RGB_555" value="26" />
|
||||
<element name="PF_RGB_565" value="27" />
|
||||
<element name="PF_RGB_8" value="12" />
|
||||
<element name="PF_RGB_888" value="45" />
|
||||
<element name="PF_RIII_10" value="30" />
|
||||
<element name="PF_RIII_12" value="31" />
|
||||
<element name="PF_RIII_14" value="32" />
|
||||
<element name="PF_RIII_16" value="33" />
|
||||
<element name="PF_UNKNOWN" value="0" />
|
||||
<element name="PF_YUV420P_888" value="60" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="1" name="tMediaTypeInfo" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32MajorType" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui32SubType" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="ui32Flags" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="adtf.core.media_type" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="mediatype" type="tMediaTypeInfo" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tBitmapFormat" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidth" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="nHeight" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="nBitsPerPixel" type="tInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="10" name="nPixelFormat" type="tPixelFormat" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="nBytesPerLine" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="nSize" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="20" name="nPaletteSize" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tWaveFormat" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nFormatType" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="nChannels" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="nSamplesPerSec" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="nBitsPerSample" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="nNumSamples" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="20" name="nSize" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="adtf.type.video" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="sMediatype" type="tMediaTypeInfo" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="sBitmapFormat" type="tBitmapFormat" />
|
||||
</struct>
|
||||
<struct alignment="1" name="adtf.type.audio" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="sMediatype" type="tMediaTypeInfo" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="sWaveFormat" type="tWaveFormat" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="audio stream" name="audio_stream" type="adtf.type.audio" />
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
113
test/headerrepresentation/files/adtf_expected.h
Normal file
113
test/headerrepresentation/files/adtf_expected.h
Normal file
|
@ -0,0 +1,113 @@
|
|||
// This is a generated file, changes to it may be overwritten in the future.
|
||||
|
||||
typedef enum {
|
||||
PF_UNKNOWN=0,
|
||||
PF_8BIT=10,
|
||||
PF_GREYSCALE_8=11,
|
||||
PF_RGB_8=12,
|
||||
PF_16BIT=20,
|
||||
PF_GREYSCALE_10=21,
|
||||
PF_GREYSCALE_12=22,
|
||||
PF_GREYSCALE_14=23,
|
||||
PF_GREYSCALE_16=24,
|
||||
PF_RGB_444=25,
|
||||
PF_RGB_555=26,
|
||||
PF_RGB_565=27,
|
||||
PF_RGBA_4444=28,
|
||||
PF_ABGR_4444=29,
|
||||
PF_RIII_10=30,
|
||||
PF_RIII_12=31,
|
||||
PF_RIII_14=32,
|
||||
PF_RIII_16=33,
|
||||
PF_BGR_555=34,
|
||||
PF_BGR_565=35,
|
||||
PF_24BIT=40,
|
||||
PF_GREYSCALE_18=41,
|
||||
PF_GREYSCALE_20=42,
|
||||
PF_GREYSCALE_22=43,
|
||||
PF_GREYSCALE_24=44,
|
||||
PF_RGB_888=45,
|
||||
PF_BGR_888=46,
|
||||
PF_32BIT=50,
|
||||
PF_ARGB_8888=51,
|
||||
PF_ABGR_8888=52,
|
||||
PF_RGBA_8888=53,
|
||||
PF_BGRA_8888=54,
|
||||
PF_GREYSCALE_32=55,
|
||||
PF_GREYSCALE_FLOAT32=56,
|
||||
PF_YUV420P_888=60,
|
||||
PF_CUSTOM=1000
|
||||
} tPixelFormat;
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 ui32MajorType;
|
||||
tUInt32 ui32SubType;
|
||||
tUInt32 ui32Flags;
|
||||
} tMediaTypeInfo;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo mediatype;
|
||||
} adtf_core_media_type;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tInt32 nWidth;
|
||||
tInt32 nHeight;
|
||||
tInt16 nBitsPerPixel;
|
||||
tPixelFormat nPixelFormat;
|
||||
tInt32 nBytesPerLine;
|
||||
tInt32 nSize;
|
||||
tInt32 nPaletteSize;
|
||||
} tBitmapFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tInt32 nFormatType;
|
||||
tInt32 nChannels;
|
||||
tInt32 nSamplesPerSec;
|
||||
tInt32 nBitsPerSample;
|
||||
tInt32 nNumSamples;
|
||||
tInt32 nSize;
|
||||
} tWaveFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tBitmapFormat sBitmapFormat;
|
||||
} adtf_type_video;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tWaveFormat sWaveFormat;
|
||||
} adtf_type_audio;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef uint32_t tUInt32;
|
||||
|
||||
typedef int32_t tInt32;
|
||||
|
||||
typedef int16_t tInt16;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint32_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// int32_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// int16_t
|
||||
|
31
test/headerrepresentation/files/array_header.h
Normal file
31
test/headerrepresentation/files/array_header.h
Normal file
|
@ -0,0 +1,31 @@
|
|||
struct simple_array_struct
|
||||
{
|
||||
tUInt8 a[5];
|
||||
};
|
||||
|
||||
struct simple_struct1
|
||||
{
|
||||
tUInt8 b;
|
||||
};
|
||||
|
||||
struct complex_array_struct1
|
||||
{
|
||||
tUInt8 c;
|
||||
simple_struct1 d;
|
||||
simple_array_struct f;
|
||||
simple_struct1 g[6];
|
||||
simple_array_struct h[7];
|
||||
};
|
||||
|
||||
#define count1 8
|
||||
const tUInt8 count2 = 9;
|
||||
|
||||
struct complex_array_struct2
|
||||
{
|
||||
tUInt8 i[count1];
|
||||
simple_struct1 j;
|
||||
simple_array_struct k;
|
||||
simple_struct1 l[count2];
|
||||
simple_array_struct m[10];
|
||||
};
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>ANOAFR4</author>
|
||||
<date_creation>11.04.2016</date_creation>
|
||||
<date_change>11.04.2016</date_change>
|
||||
<description>Generated by ADTF 2.14.0beta</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="Fundamental unit for length" name="Metre" symbol="m" />
|
||||
<baseunit description="Fundamental unit for mass" name="Kilogram" symbol="kg" />
|
||||
<baseunit description="Fundamental unit for time" name="Second" symbol="s" />
|
||||
<baseunit description="Fundamental unit for electric current" name="Ampere" symbol="A" />
|
||||
<baseunit description="Fundamental unit for thermodynamic temperature" name="Kelvin" symbol="K" />
|
||||
<baseunit description="Fundamental unit for amount of substance" name="Mole" symbol="mol" />
|
||||
<baseunit description="Fundamental unit for luminous intensity" name="Candela" symbol="cd" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Degree" symbol="deg" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Radiant" symbol="rad" />
|
||||
<baseunit description="No SI, but needed for own unit definitions" name="Unitless" symbol="" />
|
||||
<baseunit description="No SI, but needed for no unit definitions" name="nou" symbol="" />
|
||||
<prefixes name="yotta" power="24" symbol="Y" /><prefixes name="zetta" power="21" symbol="Z" />
|
||||
<prefixes name="exa" power="18" symbol="E" /><prefixes name="peta" power="15" symbol="P" />
|
||||
<prefixes name="tera" power="12" symbol="T" /><prefixes name="giga" power="9" symbol="G" />
|
||||
<prefixes name="mega" power="6" symbol="M" /><prefixes name="kilo" power="3" symbol="k" />
|
||||
<prefixes name="hecto" power="2" symbol="h" /><prefixes name="deca" power="1" symbol="da" />
|
||||
<prefixes name="deci" power="-1" symbol="d" /><prefixes name="centi" power="-2" symbol="c" />
|
||||
<prefixes name="milli" power="-3" symbol="m" /><prefixes name="micro" power="-6" symbol="u" />
|
||||
<prefixes name="nano" power="-9" symbol="n" /><prefixes name="pico" power="-12" symbol="p" />
|
||||
<prefixes name="femto" power="-15" symbol="f" /><prefixes name="atto" power="-18" symbol="a" />
|
||||
<prefixes name="zepto" power="-21" symbol="z" /><prefixes name="yocto" power="-24" symbol="y" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" max="tTrue" min="tFalse" name="tBool" size="8" />
|
||||
<datatype description="predefined ADTF tChar datatype" max="127" min="-128" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" max="127" min="-128" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" max="65535" min="0" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" max="3.402823e+38" min="-3.402823e+38" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" max="1.797693e+308" min="-1.797693e+308" name="tFloat64" size="64" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="tPixelFormat" type="tInt16">
|
||||
<element name="PF_16BIT" value="20" />
|
||||
<element name="PF_24BIT" value="40" />
|
||||
<element name="PF_32BIT" value="50" />
|
||||
<element name="PF_8BIT" value="10" />
|
||||
<element name="PF_ABGR_4444" value="29" />
|
||||
<element name="PF_ABGR_8888" value="52" />
|
||||
<element name="PF_ARGB_8888" value="51" />
|
||||
<element name="PF_BGRA_8888" value="54" />
|
||||
<element name="PF_BGR_555" value="34" />
|
||||
<element name="PF_BGR_565" value="35" />
|
||||
<element name="PF_BGR_888" value="46" />
|
||||
<element name="PF_CUSTOM" value="1000" />
|
||||
<element name="PF_GREYSCALE_10" value="21" />
|
||||
<element name="PF_GREYSCALE_12" value="22" />
|
||||
<element name="PF_GREYSCALE_14" value="23" />
|
||||
<element name="PF_GREYSCALE_16" value="24" />
|
||||
<element name="PF_GREYSCALE_18" value="41" />
|
||||
<element name="PF_GREYSCALE_20" value="42" />
|
||||
<element name="PF_GREYSCALE_22" value="43" />
|
||||
<element name="PF_GREYSCALE_24" value="44" />
|
||||
<element name="PF_GREYSCALE_32" value="55" />
|
||||
<element name="PF_GREYSCALE_8" value="11" />
|
||||
<element name="PF_GREYSCALE_FLOAT32" value="56" />
|
||||
<element name="PF_RGBA_4444" value="28" />
|
||||
<element name="PF_RGBA_8888" value="53" />
|
||||
<element name="PF_RGB_444" value="25" />
|
||||
<element name="PF_RGB_555" value="26" />
|
||||
<element name="PF_RGB_565" value="27" />
|
||||
<element name="PF_RGB_8" value="12" />
|
||||
<element name="PF_RGB_888" value="45" />
|
||||
<element name="PF_RIII_10" value="30" />
|
||||
<element name="PF_RIII_12" value="31" />
|
||||
<element name="PF_RIII_14" value="32" />
|
||||
<element name="PF_RIII_16" value="33" />
|
||||
<element name="PF_UNKNOWN" value="0" />
|
||||
<element name="PF_YUV420P_888" value="60" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="1" name="simple_array_struct" version="0">
|
||||
<element alignment="1" arraysize="5" byteorder="LE" bytepos="0" name="a" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="simple_struct1" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="b" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="complex_array_struct1" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="c" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="1" name="d" type="simple_struct1" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="f" type="simple_array_struct" />
|
||||
<element alignment="1" arraysize="6" byteorder="LE" bytepos="7" name="g" type="simple_struct1" />
|
||||
<element alignment="1" arraysize="7" byteorder="LE" bytepos="13" name="h" type="simple_array_struct" />
|
||||
</struct>
|
||||
<struct alignment="1" name="complex_array_struct2" version="0">
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="0" name="i" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="j" type="simple_struct1" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="9" name="k" type="simple_array_struct" />
|
||||
<element alignment="1" arraysize="9" byteorder="LE" bytepos="14" name="l" type="simple_struct1" />
|
||||
<element alignment="1" arraysize="10" byteorder="LE" bytepos="23" name="m" type="simple_array_struct" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
52
test/headerrepresentation/files/array_header_expected.h
Normal file
52
test/headerrepresentation/files/array_header_expected.h
Normal file
|
@ -0,0 +1,52 @@
|
|||
// This is a generated file, changes to it may be overwritten in the future.
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt8 a[5];
|
||||
} simple_array_struct;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt8 b;
|
||||
} simple_struct1;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt8 c;
|
||||
simple_struct1 d;
|
||||
simple_array_struct f;
|
||||
simple_struct1 g[6];
|
||||
simple_array_struct h[7];
|
||||
} complex_array_struct1;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt8 i[8];
|
||||
simple_struct1 j;
|
||||
simple_array_struct k;
|
||||
simple_struct1 l[9];
|
||||
simple_array_struct m[10];
|
||||
} complex_array_struct2;
|
||||
#pragma pack(pop)
|
||||
|
||||
const tUInt64 count1 = 8;
|
||||
|
||||
const tUInt8 count2 = 9;
|
||||
|
||||
typedef uint8_t tUInt8;
|
||||
|
||||
typedef uint64_t tUInt64;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint8_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint64_t
|
||||
|
38
test/headerrepresentation/files/commented_header.h
Normal file
38
test/headerrepresentation/files/commented_header.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
// struct simple_struct0
|
||||
struct /*oh my god, a comment*/ simple_struct1
|
||||
// struct simple_struct5
|
||||
{
|
||||
/*oh my god, a comment*/ tUInt8 /*oh my god, a comment*/ a /*oh my god, a comment*/;/*oh my god, a comment// dammit*/ //; tUInt b;
|
||||
/*oh my god, a comment* tUInt8 ***** / *oh my god, a comment/ a *oh my god, a comment*;*oh my god, a comment// dammit*/ //; tUInt c;
|
||||
}/*Comments!!!!!*/;
|
||||
|
||||
|
||||
typedef/*oh my god, a comment*/ struct
|
||||
{/*oh my god, a comment*//*oh my god, a comment*/
|
||||
/*oh my god, a comment*/tUInt16/*oh my god, a comment*/ b;/*oh my god, a comment*/
|
||||
} /*oh my god, a comment*/simple_struct2/*oh my god, a comment*/;/*oh my god, a comment*/
|
||||
|
||||
|
||||
typedef /*oh my god, a comment*//*oh my god, a comment*/struct/*oh my god, a comment*//*oh my god, a comment*/ simple_struct3/*oh my god, a comment*//*oh my god, a comment*//*oh my god, a comment*/
|
||||
{/*oh my god, a comment*/
|
||||
/*oh my god, a comment*/ tUInt32 /*oh my god, a comment*/c;
|
||||
} /*oh my god, a comment*/simple_struct4;/*oh my god, a comment*/
|
||||
|
||||
/*
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 b;
|
||||
} simple_struct5;
|
||||
*/
|
||||
|
||||
//const tInt16 f = 42;
|
||||
/*const tInt16 g = 42;*/
|
||||
/*oh my god, a comment*/const/*oh my god, a comment*/tInt16/*oh my god, a comment*//*oh my god, a comment*/d/*oh my god, a comment*/=/*oh my god, a comment*/42/*oh my god, a comment*/;/*oh my god, a comment*//*oh my god, a comment*/
|
||||
const/*oh my god, a comment*/tInt32 e/*oh my god, a comment*/=/*oh my god, a comment*/43;/*oh my god, a comment*/
|
||||
|
||||
/*oh my god, a comment*/#define constant1 /*This will compile*/ 6 /*...maybe*/
|
||||
|
||||
/*oh my god, a comment*/typedef/*oh my god, a comment*/tUInt32/*oh my god, a comment*/UINT_32/*oh my god, a comment*/;
|
||||
/*oh my god, a comment*/typedef tUInt16 /*oh my god, a comment*/UINT_16; //Hello World
|
||||
//typedef uint64 supergross2;
|
||||
/*typedef uint64 supergross3;*/
|
28
test/headerrepresentation/files/complex_header.h
Normal file
28
test/headerrepresentation/files/complex_header.h
Normal file
|
@ -0,0 +1,28 @@
|
|||
struct simple_struct1
|
||||
{
|
||||
tUInt8 a;
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 b;
|
||||
} simple_struct2;
|
||||
|
||||
typedef struct simple_struct3
|
||||
{
|
||||
tUInt32 c;
|
||||
} simple_struct4;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 a;
|
||||
simple_struct1 b;
|
||||
simple_struct3 c;
|
||||
} complex_struct1;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
simple_struct1 d;
|
||||
simple_struct3 e;
|
||||
complex_struct1 f;
|
||||
} complex_struct2;
|
|
@ -0,0 +1,119 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>ANOAFR4</author>
|
||||
<date_creation>11.04.2016</date_creation>
|
||||
<date_change>11.04.2016</date_change>
|
||||
<description>Generated by ADTF 2.14.0beta</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="Fundamental unit for length" name="Metre" symbol="m" />
|
||||
<baseunit description="Fundamental unit for mass" name="Kilogram" symbol="kg" />
|
||||
<baseunit description="Fundamental unit for time" name="Second" symbol="s" />
|
||||
<baseunit description="Fundamental unit for electric current" name="Ampere" symbol="A" />
|
||||
<baseunit description="Fundamental unit for thermodynamic temperature" name="Kelvin" symbol="K" />
|
||||
<baseunit description="Fundamental unit for amount of substance" name="Mole" symbol="mol" />
|
||||
<baseunit description="Fundamental unit for luminous intensity" name="Candela" symbol="cd" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Degree" symbol="deg" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Radiant" symbol="rad" />
|
||||
<baseunit description="No SI, but needed for own unit definitions" name="Unitless" symbol="" />
|
||||
<baseunit description="No SI, but needed for no unit definitions" name="nou" symbol="" />
|
||||
<prefixes name="yotta" power="24" symbol="Y" />
|
||||
<prefixes name="zetta" power="21" symbol="Z" />
|
||||
<prefixes name="exa" power="18" symbol="E" />
|
||||
<prefixes name="peta" power="15" symbol="P" />
|
||||
<prefixes name="tera" power="12" symbol="T" />
|
||||
<prefixes name="giga" power="9" symbol="G" />
|
||||
<prefixes name="mega" power="6" symbol="M" />
|
||||
<prefixes name="kilo" power="3" symbol="k" />
|
||||
<prefixes name="hecto" power="2" symbol="h" />
|
||||
<prefixes name="deca" power="1" symbol="da" />
|
||||
<prefixes name="deci" power="-1" symbol="d" />
|
||||
<prefixes name="centi" power="-2" symbol="c" />
|
||||
<prefixes name="milli" power="-3" symbol="m" />
|
||||
<prefixes name="micro" power="-6" symbol="u" />
|
||||
<prefixes name="nano" power="-9" symbol="n" />
|
||||
<prefixes name="pico" power="-12" symbol="p" />
|
||||
<prefixes name="femto" power="-15" symbol="f" />
|
||||
<prefixes name="atto" power="-18" symbol="a" />
|
||||
<prefixes name="zepto" power="-21" symbol="z" />
|
||||
<prefixes name="yocto" power="-24" symbol="y" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" max="tTrue" min="tFalse" name="tBool" size="8" />
|
||||
<datatype description="predefined ADTF tChar datatype" max="127" min="-128" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" max="127" min="-128" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" max="65535" min="0" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" max="3.402823e+38" min="-3.402823e+38" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" max="1.797693e+308" min="-1.797693e+308" name="tFloat64" size="64" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="tPixelFormat" type="tInt16">
|
||||
<element name="PF_16BIT" value="20" />
|
||||
<element name="PF_24BIT" value="40" />
|
||||
<element name="PF_32BIT" value="50" />
|
||||
<element name="PF_8BIT" value="10" />
|
||||
<element name="PF_ABGR_4444" value="29" />
|
||||
<element name="PF_ABGR_8888" value="52" />
|
||||
<element name="PF_ARGB_8888" value="51" />
|
||||
<element name="PF_BGRA_8888" value="54" />
|
||||
<element name="PF_BGR_555" value="34" />
|
||||
<element name="PF_BGR_565" value="35" />
|
||||
<element name="PF_BGR_888" value="46" />
|
||||
<element name="PF_CUSTOM" value="1000" />
|
||||
<element name="PF_GREYSCALE_10" value="21" />
|
||||
<element name="PF_GREYSCALE_12" value="22" />
|
||||
<element name="PF_GREYSCALE_14" value="23" />
|
||||
<element name="PF_GREYSCALE_16" value="24" />
|
||||
<element name="PF_GREYSCALE_18" value="41" />
|
||||
<element name="PF_GREYSCALE_20" value="42" />
|
||||
<element name="PF_GREYSCALE_22" value="43" />
|
||||
<element name="PF_GREYSCALE_24" value="44" />
|
||||
<element name="PF_GREYSCALE_32" value="55" />
|
||||
<element name="PF_GREYSCALE_8" value="11" />
|
||||
<element name="PF_GREYSCALE_FLOAT32" value="56" />
|
||||
<element name="PF_RGBA_4444" value="28" />
|
||||
<element name="PF_RGBA_8888" value="53" />
|
||||
<element name="PF_RGB_444" value="25" />
|
||||
<element name="PF_RGB_555" value="26" />
|
||||
<element name="PF_RGB_565" value="27" />
|
||||
<element name="PF_RGB_8" value="12" />
|
||||
<element name="PF_RGB_888" value="45" />
|
||||
<element name="PF_RIII_10" value="30" />
|
||||
<element name="PF_RIII_12" value="31" />
|
||||
<element name="PF_RIII_14" value="32" />
|
||||
<element name="PF_RIII_16" value="33" />
|
||||
<element name="PF_UNKNOWN" value="0" />
|
||||
<element name="PF_YUV420P_888" value="60" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="4" name="simple_struct3" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="c" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="simple_struct1" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="a" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="2" name="simple_struct2" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="b" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="complex_struct1" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="a" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="b" type="simple_struct1" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="3" name="c" type="simple_struct3" />
|
||||
</struct>
|
||||
<struct alignment="4" name="complex_struct2" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="d" type="simple_struct1" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="1" name="e" type="simple_struct3" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="5" name="f" type="complex_struct1" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
58
test/headerrepresentation/files/complex_header_expected.h
Normal file
58
test/headerrepresentation/files/complex_header_expected.h
Normal file
|
@ -0,0 +1,58 @@
|
|||
// This is a generated file, changes to it may be overwritten in the future.
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 c;
|
||||
} simple_struct3;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef simple_struct3 simple_struct4;
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt8 a;
|
||||
} simple_struct1;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,2)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 b;
|
||||
} simple_struct2;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 a;
|
||||
simple_struct1 b;
|
||||
simple_struct3 c;
|
||||
} complex_struct1;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
simple_struct1 d;
|
||||
simple_struct3 e;
|
||||
complex_struct1 f;
|
||||
} complex_struct2;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef uint32_t tUInt32;
|
||||
|
||||
typedef uint8_t tUInt8;
|
||||
|
||||
typedef uint16_t tUInt16;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint32_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint8_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint16_t
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>ANOAFR4</author>
|
||||
<date_creation>11.04.2016</date_creation>
|
||||
<date_change>11.04.2016</date_change>
|
||||
<description>Generated by ADTF 2.14.0beta</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="Fundamental unit for length" name="Metre" symbol="m" />
|
||||
<baseunit description="Fundamental unit for mass" name="Kilogram" symbol="kg" />
|
||||
<baseunit description="Fundamental unit for time" name="Second" symbol="s" />
|
||||
<baseunit description="Fundamental unit for electric current" name="Ampere" symbol="A" />
|
||||
<baseunit description="Fundamental unit for thermodynamic temperature" name="Kelvin" symbol="K" />
|
||||
<baseunit description="Fundamental unit for amount of substance" name="Mole" symbol="mol" />
|
||||
<baseunit description="Fundamental unit for luminous intensity" name="Candela" symbol="cd" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Degree" symbol="deg" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Radiant" symbol="rad" />
|
||||
<baseunit description="No SI, but needed for own unit definitions" name="Unitless" symbol="" />
|
||||
<baseunit description="No SI, but needed for no unit definitions" name="nou" symbol="" />
|
||||
<prefixes name="yotta" power="24" symbol="Y" />
|
||||
<prefixes name="zetta" power="21" symbol="Z" />
|
||||
<prefixes name="exa" power="18" symbol="E" />
|
||||
<prefixes name="peta" power="15" symbol="P" />
|
||||
<prefixes name="tera" power="12" symbol="T" />
|
||||
<prefixes name="giga" power="9" symbol="G" />
|
||||
<prefixes name="mega" power="6" symbol="M" />
|
||||
<prefixes name="kilo" power="3" symbol="k" />
|
||||
<prefixes name="hecto" power="2" symbol="h" />
|
||||
<prefixes name="deca" power="1" symbol="da" />
|
||||
<prefixes name="deci" power="-1" symbol="d" />
|
||||
<prefixes name="centi" power="-2" symbol="c" />
|
||||
<prefixes name="milli" power="-3" symbol="m" />
|
||||
<prefixes name="micro" power="-6" symbol="u" />
|
||||
<prefixes name="nano" power="-9" symbol="n" />
|
||||
<prefixes name="pico" power="-12" symbol="p" />
|
||||
<prefixes name="femto" power="-15" symbol="f" />
|
||||
<prefixes name="atto" power="-18" symbol="a" />
|
||||
<prefixes name="zepto" power="-21" symbol="z" />
|
||||
<prefixes name="yocto" power="-24" symbol="y" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" max="tTrue" min="tFalse" name="tBool" size="8" />
|
||||
<datatype description="predefined ADTF tChar datatype" max="127" min="-128" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" max="127" min="-128" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" max="65535" min="0" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" max="3.402823e+38" min="-3.402823e+38" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" max="1.797693e+308" min="-1.797693e+308" name="tFloat64" size="64" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="tPixelFormat" type="tInt16">
|
||||
<element name="PF_16BIT" value="20" />
|
||||
<element name="PF_24BIT" value="40" />
|
||||
<element name="PF_32BIT" value="50" />
|
||||
<element name="PF_8BIT" value="10" />
|
||||
<element name="PF_ABGR_4444" value="29" />
|
||||
<element name="PF_ABGR_8888" value="52" />
|
||||
<element name="PF_ARGB_8888" value="51" />
|
||||
<element name="PF_BGRA_8888" value="54" />
|
||||
<element name="PF_BGR_555" value="34" />
|
||||
<element name="PF_BGR_565" value="35" />
|
||||
<element name="PF_BGR_888" value="46" />
|
||||
<element name="PF_CUSTOM" value="1000" />
|
||||
<element name="PF_GREYSCALE_10" value="21" />
|
||||
<element name="PF_GREYSCALE_12" value="22" />
|
||||
<element name="PF_GREYSCALE_14" value="23" />
|
||||
<element name="PF_GREYSCALE_16" value="24" />
|
||||
<element name="PF_GREYSCALE_18" value="41" />
|
||||
<element name="PF_GREYSCALE_20" value="42" />
|
||||
<element name="PF_GREYSCALE_22" value="43" />
|
||||
<element name="PF_GREYSCALE_24" value="44" />
|
||||
<element name="PF_GREYSCALE_32" value="55" />
|
||||
<element name="PF_GREYSCALE_8" value="11" />
|
||||
<element name="PF_GREYSCALE_FLOAT32" value="56" />
|
||||
<element name="PF_RGBA_4444" value="28" />
|
||||
<element name="PF_RGBA_8888" value="53" />
|
||||
<element name="PF_RGB_444" value="25" />
|
||||
<element name="PF_RGB_555" value="26" />
|
||||
<element name="PF_RGB_565" value="27" />
|
||||
<element name="PF_RGB_8" value="12" />
|
||||
<element name="PF_RGB_888" value="45" />
|
||||
<element name="PF_RIII_10" value="30" />
|
||||
<element name="PF_RIII_12" value="31" />
|
||||
<element name="PF_RIII_14" value="32" />
|
||||
<element name="PF_RIII_16" value="33" />
|
||||
<element name="PF_UNKNOWN" value="0" />
|
||||
<element name="PF_YUV420P_888" value="60" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="1" name="simple_struct1" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="a" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="4" name="simple_struct3" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="c" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="complex_struct1" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="a" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="b" type="simple_struct1" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="3" name="c" type="simple_struct3" />
|
||||
</struct>
|
||||
<struct alignment="4" name="complex_struct2" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="d" type="simple_struct1" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="1" name="e" type="simple_struct3" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="5" name="f" type="complex_struct1" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
7
test/headerrepresentation/files/constants_header.h
Normal file
7
test/headerrepresentation/files/constants_header.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
|
||||
|
||||
const tInt16 d = 42;
|
||||
|
||||
|
||||
|
||||
const tInt32 e = 43;
|
5
test/headerrepresentation/files/default_types_header.h
Normal file
5
test/headerrepresentation/files/default_types_header.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
struct doubles
|
||||
{
|
||||
tUInt8 a;
|
||||
tFloat64 b;
|
||||
};
|
26
test/headerrepresentation/files/defines_header.h
Normal file
26
test/headerrepresentation/files/defines_header.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
// inclusion protection should not be a problem since #22594
|
||||
#ifndef DEFINES_HEADER_H__
|
||||
#define DEFINES_HEADER_H__
|
||||
|
||||
// empty macro followed by another one shouldn't be a problem either since #22594
|
||||
#define SOME_MACRO_WITHOUT_VALUE1
|
||||
#define SOME_MACRO_WITHOUT_VALUE2
|
||||
#define SOME_MACRO_WITHOUT_VALUE3
|
||||
#define FIRST_CONSTANT 5
|
||||
#define OTHER_CONSTANT 6
|
||||
#define SOME_MACRO_WITHOUT_VALUE4
|
||||
#define SOME_MACRO_WITHOUT_VALUE5
|
||||
#define LAST_CONSTANT 7
|
||||
|
||||
// This was copied from RDB header
|
||||
/** @addtogroup ARRAY_SIZES
|
||||
* ------ array sizes ------
|
||||
* @{
|
||||
*/
|
||||
#define RDB_SIZE_OBJECT_NAME 32 /**< m */
|
||||
#define RDB_SIZE_SCP_NAME 64 /**< maximum length of an SCP sender / receiver @version 0x010C */
|
||||
#define RDB_SIZE_FILENAME 1024 /**< number of bytes in a filename (may include path) @version 0x0100 */
|
||||
#define RDB_SIZE_TRLIGHT_PHASES 8 /**< maximum number of phases for a traffic light @version 0x0100 */
|
||||
/** @} */
|
||||
|
||||
#endif /* DEFINES_HEADER_H__ */
|
5
test/headerrepresentation/files/faulty_header1.h
Normal file
5
test/headerrepresentation/files/faulty_header1.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define constant1 5 or better 6, i am not sure
|
||||
#define constant2 5+4
|
||||
#define constant3
|
||||
#define constant4 \
|
||||
5
|
4
test/headerrepresentation/files/faulty_header2.h
Normal file
4
test/headerrepresentation/files/faulty_header2.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
// Unnamed struct
|
||||
struct {
|
||||
tInt8 a;
|
||||
};
|
4
test/headerrepresentation/files/faulty_header3.h
Normal file
4
test/headerrepresentation/files/faulty_header3.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
// Wrong type of member
|
||||
struct wrong_member {
|
||||
tInt9 a;
|
||||
};
|
4
test/headerrepresentation/files/faulty_header4.h
Normal file
4
test/headerrepresentation/files/faulty_header4.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
// Unnamed struct
|
||||
struct {
|
||||
tInt8 a;
|
||||
} unnamed_struct_var;
|
9
test/headerrepresentation/files/faulty_header5.h
Normal file
9
test/headerrepresentation/files/faulty_header5.h
Normal file
|
@ -0,0 +1,9 @@
|
|||
typedef a;
|
||||
|
||||
// Unknown type
|
||||
typedef tUInt9 who_the_fuck_is_tUInt9;
|
||||
|
||||
// Weird typedef
|
||||
typedef struct not_ok{
|
||||
tInt8 a;
|
||||
};
|
31
test/headerrepresentation/files/packing_header.h
Normal file
31
test/headerrepresentation/files/packing_header.h
Normal file
|
@ -0,0 +1,31 @@
|
|||
#pragma pack(push, 4)
|
||||
struct simple_struct1
|
||||
{
|
||||
tUInt8 a;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 b;
|
||||
} simple_struct2;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 2)
|
||||
typedef struct simple_struct3
|
||||
{
|
||||
tUInt32 c;
|
||||
} simple_struct4;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
tUInt64 d;
|
||||
} simple_struct5;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt64 e;
|
||||
} simple_struct6;
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author></author>
|
||||
<date_creation></date_creation>
|
||||
<date_change></date_change>
|
||||
<description></description>
|
||||
</header>
|
||||
<units>
|
||||
</units>
|
||||
<datatypes>
|
||||
</datatypes>
|
||||
<enums>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="2" name="simple_struct3" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="c" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="simple_struct1" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="a" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="simple_struct2" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="b" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="2" name="simple_struct5" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="d" type="tUInt64" />
|
||||
</struct>
|
||||
<struct alignment="1" name="simple_struct6" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="e" type="tUInt64" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
59
test/headerrepresentation/files/packing_header_expected.h
Normal file
59
test/headerrepresentation/files/packing_header_expected.h
Normal file
|
@ -0,0 +1,59 @@
|
|||
// This is a generated file, changes to it may be overwritten in the future.
|
||||
|
||||
#pragma pack(push,2)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 c;
|
||||
} simple_struct3;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef simple_struct3 simple_struct4;
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt8 a;
|
||||
} simple_struct1;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 b;
|
||||
} simple_struct2;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,2)
|
||||
typedef struct
|
||||
{
|
||||
tUInt64 d;
|
||||
} simple_struct5;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tUInt64 e;
|
||||
} simple_struct6;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef uint32_t tUInt32;
|
||||
|
||||
typedef uint8_t tUInt8;
|
||||
|
||||
typedef uint16_t tUInt16;
|
||||
|
||||
typedef uint64_t tUInt64;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint32_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint8_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint16_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint64_t
|
||||
|
19
test/headerrepresentation/files/simple_header.h
Normal file
19
test/headerrepresentation/files/simple_header.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
// For type # see implementation of cHeaderImporter::BuildStructs()
|
||||
|
||||
// Type #1
|
||||
struct simple_struct1
|
||||
{
|
||||
uint8_t a;
|
||||
};
|
||||
|
||||
// Type #2
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 b;
|
||||
} simple_struct2;
|
||||
|
||||
// Type #3
|
||||
typedef struct simple_struct3
|
||||
{
|
||||
unsigned int c;
|
||||
} simple_struct4;
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author></author>
|
||||
<date_creation></date_creation>
|
||||
<date_change></date_change>
|
||||
<description></description>
|
||||
</header>
|
||||
<units>
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" max="tTrue" min="tFalse" name="tBool" size="8" />
|
||||
<datatype description="predefined ADTF tChar datatype" max="127" min="-128" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" max="127" min="-128" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" max="65535" min="0" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" max="3.402823e+38" min="-3.402823e+38" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" max="1.797693e+308" min="-1.797693e+308" name="tFloat64" size="64" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="4" name="simple_struct3" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="c" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="simple_struct1" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="a" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="2" name="simple_struct2" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="b" type="tUInt16" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
38
test/headerrepresentation/files/simple_header_expected.h
Normal file
38
test/headerrepresentation/files/simple_header_expected.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
// This is a generated file, changes to it may be overwritten in the future.
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
unsigned int c;
|
||||
} simple_struct3;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef simple_struct3 simple_struct4;
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
uint8_t a;
|
||||
} simple_struct1;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,2)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 b;
|
||||
} simple_struct2;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef uint32_t unsigned int;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint8_t
|
||||
|
||||
typedef uint16_t tUInt16;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint32_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint16_t
|
||||
|
109
test/headerrepresentation/files/simple_header_result.description
Normal file
109
test/headerrepresentation/files/simple_header_result.description
Normal file
|
@ -0,0 +1,109 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>titm724</author>
|
||||
<date_creation>06.09.2013</date_creation>
|
||||
<date_change>06.09.2013</date_change>
|
||||
<description>Generated by ADTF 2.10.0beta</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="Fundamental unit for length" name="Metre" symbol="m" />
|
||||
<baseunit description="Fundamental unit for mass" name="Kilogram" symbol="kg" />
|
||||
<baseunit description="Fundamental unit for time" name="Second" symbol="s" />
|
||||
<baseunit description="Fundamental unit for electric current" name="Ampere" symbol="A" />
|
||||
<baseunit description="Fundamental unit for thermodynamic temperature" name="Kelvin" symbol="K" />
|
||||
<baseunit description="Fundamental unit for amount of substance" name="Mole" symbol="mol" />
|
||||
<baseunit description="Fundamental unit for luminous intensity" name="Candela" symbol="cd" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Degree" symbol="deg" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Radiant" symbol="rad" />
|
||||
<baseunit description="No SI, but needed for own unit definitions" name="Unitless" symbol="" />
|
||||
<baseunit description="No SI, but needed for no unit definitions" name="nou" symbol="" />
|
||||
<prefixes name="yotta" power="24" symbol="Y" />
|
||||
<prefixes name="zetta" power="21" symbol="Z" />
|
||||
<prefixes name="exa" power="18" symbol="E" />
|
||||
<prefixes name="peta" power="15" symbol="P" />
|
||||
<prefixes name="tera" power="12" symbol="T" />
|
||||
<prefixes name="giga" power="9" symbol="G" />
|
||||
<prefixes name="mega" power="6" symbol="M" />
|
||||
<prefixes name="kilo" power="3" symbol="k" />
|
||||
<prefixes name="hecto" power="2" symbol="h" />
|
||||
<prefixes name="deca" power="1" symbol="da" />
|
||||
<prefixes name="deci" power="-1" symbol="d" />
|
||||
<prefixes name="centi" power="-2" symbol="c" />
|
||||
<prefixes name="milli" power="-3" symbol="m" />
|
||||
<prefixes name="micro" power="-6" symbol="u" />
|
||||
<prefixes name="nano" power="-9" symbol="n" />
|
||||
<prefixes name="pico" power="-12" symbol="p" />
|
||||
<prefixes name="femto" power="-15" symbol="f" />
|
||||
<prefixes name="atto" power="-18" symbol="a" />
|
||||
<prefixes name="zepto" power="-21" symbol="z" />
|
||||
<prefixes name="yocto" power="-24" symbol="y" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" max="tTrue" min="tFalse" name="tBool" size="8" />
|
||||
<datatype description="predefined ADTF tChar datatype" max="127" min="-128" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" max="127" min="-128" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" max="65535" min="0" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" max="3.402823e+38" min="-3.402823e+38" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" max="1.797693e+308" min="-1.797693e+308" name="tFloat64" size="64" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="tPixelFormat" type="tInt16">
|
||||
<element name="PF_16BIT" value="20" />
|
||||
<element name="PF_24BIT" value="40" />
|
||||
<element name="PF_32BIT" value="50" />
|
||||
<element name="PF_8BIT" value="10" />
|
||||
<element name="PF_ABGR_4444" value="29" />
|
||||
<element name="PF_ABGR_8888" value="52" />
|
||||
<element name="PF_ARGB_8888" value="51" />
|
||||
<element name="PF_BGRA_8888" value="54" />
|
||||
<element name="PF_BGR_555" value="34" />
|
||||
<element name="PF_BGR_565" value="35" />
|
||||
<element name="PF_BGR_888" value="46" />
|
||||
<element name="PF_CUSTOM" value="1000" />
|
||||
<element name="PF_GREYSCALE_10" value="21" />
|
||||
<element name="PF_GREYSCALE_12" value="22" />
|
||||
<element name="PF_GREYSCALE_14" value="23" />
|
||||
<element name="PF_GREYSCALE_16" value="24" />
|
||||
<element name="PF_GREYSCALE_18" value="41" />
|
||||
<element name="PF_GREYSCALE_20" value="42" />
|
||||
<element name="PF_GREYSCALE_22" value="43" />
|
||||
<element name="PF_GREYSCALE_24" value="44" />
|
||||
<element name="PF_GREYSCALE_32" value="55" />
|
||||
<element name="PF_GREYSCALE_8" value="11" />
|
||||
<element name="PF_GREYSCALE_FLOAT32" value="56" />
|
||||
<element name="PF_RGBA_4444" value="28" />
|
||||
<element name="PF_RGBA_8888" value="53" />
|
||||
<element name="PF_RGB_444" value="25" />
|
||||
<element name="PF_RGB_555" value="26" />
|
||||
<element name="PF_RGB_565" value="27" />
|
||||
<element name="PF_RGB_8" value="12" />
|
||||
<element name="PF_RGB_888" value="45" />
|
||||
<element name="PF_RIII_10" value="30" />
|
||||
<element name="PF_RIII_12" value="31" />
|
||||
<element name="PF_RIII_14" value="32" />
|
||||
<element name="PF_RIII_16" value="33" />
|
||||
<element name="PF_UNKNOWN" value="0" />
|
||||
<element name="PF_YUV420P_888" value="60" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="4" name="simple_struct3" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="c" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="simple_struct1" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="a" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="2" name="simple_struct2" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="b" type="tUInt16" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
5
test/headerrepresentation/files/typedef_header.h
Normal file
5
test/headerrepresentation/files/typedef_header.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
typedef tUInt32 UINT_32;
|
||||
typedef tUInt16 UINT_16;
|
||||
typedef tUInt64 UINT_64;
|
||||
typedef UINT_64 uint64;
|
||||
typedef uint64 supergross;
|
27
test/headerrepresentation/files/typedef_header_expected.h
Normal file
27
test/headerrepresentation/files/typedef_header_expected.h
Normal file
|
@ -0,0 +1,27 @@
|
|||
// This is a generated file, changes to it may be overwritten in the future.
|
||||
|
||||
typedef tUInt32 UINT_32;
|
||||
|
||||
typedef tUInt16 UINT_16;
|
||||
|
||||
typedef tUInt64 UINT_64;
|
||||
|
||||
typedef UINT_64 uint64;
|
||||
|
||||
typedef uint64 supergross;
|
||||
|
||||
typedef uint32_t tUInt32;
|
||||
|
||||
typedef uint16_t tUInt16;
|
||||
|
||||
typedef uint64_t tUInt64;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint32_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint16_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint64_t
|
||||
|
551
test/headerrepresentation/files/viRDBIcd.description
Normal file
551
test/headerrepresentation/files/viRDBIcd.description
Normal file
|
@ -0,0 +1,551 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>titm724</author>
|
||||
<date_creation>17.09.2013</date_creation>
|
||||
<date_change>17.09.2013</date_change>
|
||||
<description>Generated by ADTF 2.10.0beta</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="Fundamental unit for length" name="Metre" symbol="m" />
|
||||
<baseunit description="Fundamental unit for mass" name="Kilogram" symbol="kg" />
|
||||
<baseunit description="Fundamental unit for time" name="Second" symbol="s" />
|
||||
<baseunit description="Fundamental unit for electric current" name="Ampere" symbol="A" />
|
||||
<baseunit description="Fundamental unit for thermodynamic temperature" name="Kelvin" symbol="K" />
|
||||
<baseunit description="Fundamental unit for amount of substance" name="Mole" symbol="mol" />
|
||||
<baseunit description="Fundamental unit for luminous intensity" name="Candela" symbol="cd" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Degree" symbol="deg" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Radiant" symbol="rad" />
|
||||
<baseunit description="No SI, but needed for own unit definitions" name="Unitless" symbol="" />
|
||||
<baseunit description="No SI, but needed for no unit definitions" name="nou" symbol="" />
|
||||
<prefixes name="yotta" power="24" symbol="Y" />
|
||||
<prefixes name="zetta" power="21" symbol="Z" />
|
||||
<prefixes name="exa" power="18" symbol="E" />
|
||||
<prefixes name="peta" power="15" symbol="P" />
|
||||
<prefixes name="tera" power="12" symbol="T" />
|
||||
<prefixes name="giga" power="9" symbol="G" />
|
||||
<prefixes name="mega" power="6" symbol="M" />
|
||||
<prefixes name="kilo" power="3" symbol="k" />
|
||||
<prefixes name="hecto" power="2" symbol="h" />
|
||||
<prefixes name="deca" power="1" symbol="da" />
|
||||
<prefixes name="deci" power="-1" symbol="d" />
|
||||
<prefixes name="centi" power="-2" symbol="c" />
|
||||
<prefixes name="milli" power="-3" symbol="m" />
|
||||
<prefixes name="micro" power="-6" symbol="u" />
|
||||
<prefixes name="nano" power="-9" symbol="n" />
|
||||
<prefixes name="pico" power="-12" symbol="p" />
|
||||
<prefixes name="femto" power="-15" symbol="f" />
|
||||
<prefixes name="atto" power="-18" symbol="a" />
|
||||
<prefixes name="zepto" power="-21" symbol="z" />
|
||||
<prefixes name="yocto" power="-24" symbol="y" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" max="tTrue" min="tFalse" name="tBool" size="8" />
|
||||
<datatype description="predefined ADTF tChar datatype" max="127" min="-128" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" max="127" min="-128" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" max="65535" min="0" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" max="3.402823e+38" min="-3.402823e+38" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" max="1.797693e+308" min="-1.797693e+308" name="tFloat64" size="64" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="tPixelFormat" type="tInt16">
|
||||
<element name="PF_16BIT" value="20" />
|
||||
<element name="PF_24BIT" value="40" />
|
||||
<element name="PF_32BIT" value="50" />
|
||||
<element name="PF_8BIT" value="10" />
|
||||
<element name="PF_ABGR_4444" value="29" />
|
||||
<element name="PF_ABGR_8888" value="52" />
|
||||
<element name="PF_ARGB_8888" value="51" />
|
||||
<element name="PF_BGRA_8888" value="54" />
|
||||
<element name="PF_BGR_555" value="34" />
|
||||
<element name="PF_BGR_565" value="35" />
|
||||
<element name="PF_BGR_888" value="46" />
|
||||
<element name="PF_CUSTOM" value="1000" />
|
||||
<element name="PF_GREYSCALE_10" value="21" />
|
||||
<element name="PF_GREYSCALE_12" value="22" />
|
||||
<element name="PF_GREYSCALE_14" value="23" />
|
||||
<element name="PF_GREYSCALE_16" value="24" />
|
||||
<element name="PF_GREYSCALE_18" value="41" />
|
||||
<element name="PF_GREYSCALE_20" value="42" />
|
||||
<element name="PF_GREYSCALE_22" value="43" />
|
||||
<element name="PF_GREYSCALE_24" value="44" />
|
||||
<element name="PF_GREYSCALE_32" value="55" />
|
||||
<element name="PF_GREYSCALE_8" value="11" />
|
||||
<element name="PF_GREYSCALE_FLOAT32" value="56" />
|
||||
<element name="PF_RGBA_4444" value="28" />
|
||||
<element name="PF_RGBA_8888" value="53" />
|
||||
<element name="PF_RGB_444" value="25" />
|
||||
<element name="PF_RGB_555" value="26" />
|
||||
<element name="PF_RGB_565" value="27" />
|
||||
<element name="PF_RGB_8" value="12" />
|
||||
<element name="PF_RGB_888" value="45" />
|
||||
<element name="PF_RIII_10" value="30" />
|
||||
<element name="PF_RIII_12" value="31" />
|
||||
<element name="PF_RIII_14" value="32" />
|
||||
<element name="PF_RIII_16" value="33" />
|
||||
<element name="PF_UNKNOWN" value="0" />
|
||||
<element name="PF_YUV420P_888" value="60" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="4" name="RDB_POINT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="x" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="y" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="z" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="system" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_COORD_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="x" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="y" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="z" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="h" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="p" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="r" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="system" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_COORD_SYSTEM_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="pos" type="RDB_COORD_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ROAD_POS_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="roadId" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="laneId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="roadS" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="roadT" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="laneOffset" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="hdgRel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="pitchRel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="rollRel" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="roadType" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="spare1" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare2" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="spare3" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ROADMARK_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="prevId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nextId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="lateralDist" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="yawRel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="curvHor" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="curvHorDot" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="startDx" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="previewDx" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="width" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="height" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="curvVert" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="curvVertDot" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="color" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="noDataPoints" type="tUInt16" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_LANE_INFO_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="roadId" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="neighborMask" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="leftLaneId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="rightLaneId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="borderType" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="material" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="status" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="width" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="curvVert" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="curvVertDot" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="curvHor" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="curvHorDot" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_CFG_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="category" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="modelId" type="tInt16" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="0" name="name" type="tChar" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="0" name="modelName" type="tChar" />
|
||||
<element alignment="1" arraysize="1024" byteorder="LE" bytepos="0" name="fileName" type="tChar" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_GEOMETRY_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dimX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dimY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dimZ" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="offX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="offY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="offZ" type="tFloat32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_STATE_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="category" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="visMask" type="tUInt16" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="0" name="name" type="tChar" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="geo" type="RDB_GEOMETRY_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="parent" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_STATE_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="speed" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="accel" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_STATE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_OBJECT_STATE_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="ext" type="RDB_OBJECT_STATE_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ENGINE_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="rps" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="load" type="tFloat32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ENGINE_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="rpsStart" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="torque" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="torqueInner" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="torqueMax" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="torqueFriction" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="fuelCurrent" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="fuelAverage" type="tFloat32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ENGINE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_ENGINE_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="ext" type="RDB_ENGINE_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVETRAIN_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="gearBoxType" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="driveTrainType" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="gear" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVETRAIN_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="torqueGearBoxIn" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="torqueCenterDiffOut" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="torqueShaft" type="tFloat32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVETRAIN_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_DRIVETRAIN_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="ext" type="RDB_DRIVETRAIN_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_WHEEL_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt8" />
|
||||
<element alignment="1" arraysize="3" byteorder="LE" bytepos="0" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="radiusStatic" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="springCompression" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="rotAngle" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="slip" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="steeringAngle" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_WHEEL_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="vAngular" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="forceZ" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="forceLat" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="forceLong" type="tFloat32" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="0" name="forceTireWheelXYZ" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="radiusDynamic" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="brakePressure" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="torqueDriveShaft" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="damperSpeed" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare2" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_WHEEL_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_WHEEL_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="ext" type="RDB_WHEEL_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_VEHICLE_SYSTEMS_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="lightMask" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="steering" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="steeringWheelTorque" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="accMask" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="accSpeed" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="batteryState" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="batteryRate" type="tInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="displayLightMask" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="5" byteorder="LE" bytepos="0" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_VEHICLE_SETUP_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="mass" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="wheelBase" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_IMAGE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="width" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="height" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="pixelSize" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="pixelFormat" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="imgSize" type="tUInt32" />
|
||||
<element alignment="1" arraysize="4" byteorder="LE" bytepos="0" name="color" type="tUInt8" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_FUNCTION_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="dimension" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dataSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SENSOR_STATE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="hostCategory" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="hostId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="0" name="name" type="tChar" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="fovHV" type="tFloat32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="clipNF" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="originCoordSys" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SENSOR_OBJECT_t" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="category" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="sensorId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dist" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="sensorPos" type="RDB_COORD_t" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="occlusion" type="tInt8" />
|
||||
<element alignment="1" arraysize="3" byteorder="LE" bytepos="0" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="0" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_CAMERA_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="width" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="height" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="clipNear" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="clipFar" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="focalX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="focalY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="principalX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="principalY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_LIGHT_SOURCE_BASE_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="templateId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="state" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="spare1" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_LIGHT_SOURCE_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="nearFar" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="frustumLRBT" type="tFloat32" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="0" name="intensity" type="tFloat32" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="0" name="atten" type="tFloat32" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="0" name="spare1" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_LIGHT_SOURCE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_LIGHT_SOURCE_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="ext" type="RDB_LIGHT_SOURCE_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_CONTACT_POINT_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="roadDataIn" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="friction" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="spare1" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_SIGN_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="roadDist" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="subType" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="value" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="state" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="readability" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="occlusion" type="tInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="addOnId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="minLane" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="maxLane" type="tInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ROAD_STATE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="wheelId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare1" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="roadId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="defaultSpeed" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="waterLevel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="eventMask" type="tUInt32" />
|
||||
<element alignment="4" arraysize="12" byteorder="LE" bytepos="0" name="spare2" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ENVIRONMENT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="visibility" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="timeOfDay" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="brightness" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="precipitation" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="cloudState" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt16" />
|
||||
<element alignment="4" arraysize="8" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_PED_ANIMATION_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="noCoords" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dataSize" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_CUSTOM_SCORING_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="pathS" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="roadS" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="fuelCurrent" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="fuelAverage" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="stateFlags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="slip" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRIGGER_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="deltaT" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="frameNo" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="spare" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVER_CTRL_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="steeringWheel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="steeringSpeed" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="throttlePedal" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="brakePedal" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="clutchPedal" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="accelTgt" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="steeringTgt" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="curvatureTgt" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="steeringTorque" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="engineTorqueTgt" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="speedTgt" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="gear" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="sourceId" type="tUInt8" />
|
||||
<element alignment="1" arraysize="2" byteorder="LE" bytepos="0" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="validityFlags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="mockupInput0" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="mockupInput1" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="mockupInput2" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVER_PERCEPTION_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="speedFromRules" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="distToSpeed" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare0" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_LIGHT_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="state" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="stateMask" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_LIGHT_PHASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="duration" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="type" type="tUInt8" />
|
||||
<element alignment="1" arraysize="3" byteorder="LE" bytepos="0" name="spare" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_LIGHT_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="ctrlId" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="cycleTime" type="tFloat32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="noPhases" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dataSize" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_LIGHT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_TRAFFIC_LIGHT_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="ext" type="RDB_TRAFFIC_LIGHT_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SYNC_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="mask" type="tUInt32" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="0" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ROAD_QUERY_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt16" />
|
||||
<element alignment="2" arraysize="2" byteorder="LE" bytepos="0" name="spare" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="x" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="y" type="tFloat64" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SCP_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="version" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare" type="tUInt16" />
|
||||
<element alignment="1" arraysize="64" byteorder="LE" bytepos="0" name="sender" type="tChar" />
|
||||
<element alignment="1" arraysize="64" byteorder="LE" bytepos="0" name="receiver" type="tChar" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dataSize" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_MSG_HDR_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="magicNo" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="version" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="headerSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dataSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="frameNo" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="simTime" type="tFloat64" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_MSG_ENTRY_HDR_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="headerSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dataSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="elementSize" type="tUInt32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="pkgId" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_MSG_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="hdr" type="RDB_MSG_HDR_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="entryHdr" type="RDB_MSG_ENTRY_HDR_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SHM_BUFFER_INFO_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="thisSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="bufferSize" type="tUInt32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="flags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="offset" type="tUInt32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="0" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SHM_HDR_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="headerSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dataSize" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="noBuffers" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
1737
test/headerrepresentation/files/viRDBIcd.h
Normal file
1737
test/headerrepresentation/files/viRDBIcd.h
Normal file
File diff suppressed because it is too large
Load diff
561
test/headerrepresentation/files/viRDBIcd_expected.description
Normal file
561
test/headerrepresentation/files/viRDBIcd_expected.description
Normal file
|
@ -0,0 +1,561 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>ANOAFR4</author>
|
||||
<date_creation>11.04.2016</date_creation>
|
||||
<date_change>11.04.2016</date_change>
|
||||
<description>Generated by ADTF 2.14.0beta</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="Fundamental unit for length" name="Metre" symbol="m" />
|
||||
<baseunit description="Fundamental unit for mass" name="Kilogram" symbol="kg" />
|
||||
<baseunit description="Fundamental unit for time" name="Second" symbol="s" />
|
||||
<baseunit description="Fundamental unit for electric current" name="Ampere" symbol="A" />
|
||||
<baseunit description="Fundamental unit for thermodynamic temperature" name="Kelvin" symbol="K" />
|
||||
<baseunit description="Fundamental unit for amount of substance" name="Mole" symbol="mol" />
|
||||
<baseunit description="Fundamental unit for luminous intensity" name="Candela" symbol="cd" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Degree" symbol="deg" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Radiant" symbol="rad" />
|
||||
<baseunit description="No SI, but needed for own unit definitions" name="Unitless" symbol="" />
|
||||
<baseunit description="No SI, but needed for no unit definitions" name="nou" symbol="" />
|
||||
<prefixes name="yotta" power="24" symbol="Y" />
|
||||
<prefixes name="zetta" power="21" symbol="Z" />
|
||||
<prefixes name="exa" power="18" symbol="E" />
|
||||
<prefixes name="peta" power="15" symbol="P" />
|
||||
<prefixes name="tera" power="12" symbol="T" />
|
||||
<prefixes name="giga" power="9" symbol="G" />
|
||||
<prefixes name="mega" power="6" symbol="M" />
|
||||
<prefixes name="kilo" power="3" symbol="k" />
|
||||
<prefixes name="hecto" power="2" symbol="h" />
|
||||
<prefixes name="deca" power="1" symbol="da" />
|
||||
<prefixes name="deci" power="-1" symbol="d" />
|
||||
<prefixes name="centi" power="-2" symbol="c" />
|
||||
<prefixes name="milli" power="-3" symbol="m" />
|
||||
<prefixes name="micro" power="-6" symbol="u" />
|
||||
<prefixes name="nano" power="-9" symbol="n" />
|
||||
<prefixes name="pico" power="-12" symbol="p" />
|
||||
<prefixes name="femto" power="-15" symbol="f" />
|
||||
<prefixes name="atto" power="-18" symbol="a" />
|
||||
<prefixes name="zepto" power="-21" symbol="z" />
|
||||
<prefixes name="yocto" power="-24" symbol="y" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" max="tTrue" min="tFalse" name="tBool" size="8" />
|
||||
<datatype description="predefined ADTF tChar datatype" max="127" min="-128" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" max="127" min="-128" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" max="65535" min="0" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" max="3.402823e+38" min="-3.402823e+38" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" max="1.797693e+308" min="-1.797693e+308" name="tFloat64" size="64" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="tPixelFormat" type="tInt16">
|
||||
<element name="PF_16BIT" value="20" />
|
||||
<element name="PF_24BIT" value="40" />
|
||||
<element name="PF_32BIT" value="50" />
|
||||
<element name="PF_8BIT" value="10" />
|
||||
<element name="PF_ABGR_4444" value="29" />
|
||||
<element name="PF_ABGR_8888" value="52" />
|
||||
<element name="PF_ARGB_8888" value="51" />
|
||||
<element name="PF_BGRA_8888" value="54" />
|
||||
<element name="PF_BGR_555" value="34" />
|
||||
<element name="PF_BGR_565" value="35" />
|
||||
<element name="PF_BGR_888" value="46" />
|
||||
<element name="PF_CUSTOM" value="1000" />
|
||||
<element name="PF_GREYSCALE_10" value="21" />
|
||||
<element name="PF_GREYSCALE_12" value="22" />
|
||||
<element name="PF_GREYSCALE_14" value="23" />
|
||||
<element name="PF_GREYSCALE_16" value="24" />
|
||||
<element name="PF_GREYSCALE_18" value="41" />
|
||||
<element name="PF_GREYSCALE_20" value="42" />
|
||||
<element name="PF_GREYSCALE_22" value="43" />
|
||||
<element name="PF_GREYSCALE_24" value="44" />
|
||||
<element name="PF_GREYSCALE_32" value="55" />
|
||||
<element name="PF_GREYSCALE_8" value="11" />
|
||||
<element name="PF_GREYSCALE_FLOAT32" value="56" />
|
||||
<element name="PF_RGBA_4444" value="28" />
|
||||
<element name="PF_RGBA_8888" value="53" />
|
||||
<element name="PF_RGB_444" value="25" />
|
||||
<element name="PF_RGB_555" value="26" />
|
||||
<element name="PF_RGB_565" value="27" />
|
||||
<element name="PF_RGB_8" value="12" />
|
||||
<element name="PF_RGB_888" value="45" />
|
||||
<element name="PF_RIII_10" value="30" />
|
||||
<element name="PF_RIII_12" value="31" />
|
||||
<element name="PF_RIII_14" value="32" />
|
||||
<element name="PF_RIII_16" value="33" />
|
||||
<element name="PF_UNKNOWN" value="0" />
|
||||
<element name="PF_YUV420P_888" value="60" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="4" name="RDB_POINT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="x" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="y" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="z" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="24" name="flags" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="25" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="26" name="system" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_COORD_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="x" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="y" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="z" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="h" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="28" name="p" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="32" name="r" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="36" name="flags" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="37" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="38" name="system" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_COORD_SYSTEM_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="2" name="spare" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="pos" type="RDB_COORD_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ROAD_POS_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="4" name="roadId" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="6" name="laneId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="7" name="flags" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="roadS" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="roadT" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="laneOffset" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="hdgRel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="pitchRel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="28" name="rollRel" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="32" name="roadType" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="33" name="spare1" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="34" name="spare2" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="36" name="pathS" type="tFloat32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ROADMARK_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="id" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="prevId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="6" name="nextId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="7" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="lateralDist" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="yawRel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="curvHor" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="curvHorDot" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="32" name="startDx" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="36" name="previewDx" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="40" name="width" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="44" name="height" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="48" name="curvVert" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="56" name="curvVertDot" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="64" name="type" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="65" name="color" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="66" name="noDataPoints" type="tUInt16" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="68" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_LANE_INFO_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="roadId" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="id" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="neighborMask" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="leftLaneId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="rightLaneId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="6" name="borderType" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="7" name="material" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="8" name="status" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="10" name="type" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="width" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="curvVert" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="curvVertDot" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="32" name="curvHor" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="40" name="curvHorDot" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="48" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="52" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_CFG_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="category" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="6" name="modelId" type="tInt16" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="8" name="name" type="tChar" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="40" name="modelName" type="tChar" />
|
||||
<element alignment="1" arraysize="1024" byteorder="LE" bytepos="72" name="fileName" type="tChar" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="1096" name="flags" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="1098" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="1100" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_GEOMETRY_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dimX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="dimY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="dimZ" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="offX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="offY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="offZ" type="tFloat32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_STATE_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="category" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="6" name="visMask" type="tUInt16" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="8" name="name" type="tChar" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="40" name="geo" type="RDB_GEOMETRY_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="64" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="104" name="parent" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="108" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_STATE_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="speed" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="40" name="accel" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="80" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_STATE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_OBJECT_STATE_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="112" name="ext" type="RDB_OBJECT_STATE_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ENGINE_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="rps" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="load" type="tFloat32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="12" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ENGINE_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="rpsStart" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="torque" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="torqueInner" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="torqueMax" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="torqueFriction" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="fuelCurrent" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="fuelAverage" type="tFloat32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="28" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ENGINE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_ENGINE_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="ext" type="RDB_ENGINE_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVETRAIN_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="gearBoxType" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="driveTrainType" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="6" name="gear" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="7" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="8" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVETRAIN_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="torqueGearBoxIn" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="torqueCenterDiffOut" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="torqueShaft" type="tFloat32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="12" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVETRAIN_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_DRIVETRAIN_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="ext" type="RDB_DRIVETRAIN_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_WHEEL_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="id" type="tUInt8" />
|
||||
<element alignment="1" arraysize="3" byteorder="LE" bytepos="5" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="radiusStatic" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="springCompression" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="rotAngle" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="slip" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="steeringAngle" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="28" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_WHEEL_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="vAngular" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="forceZ" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="forceLat" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="forceLong" type="tFloat32" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="16" name="forceTireWheelXYZ" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="28" name="radiusDynamic" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="32" name="brakePressure" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="36" name="torqueDriveShaft" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="40" name="damperSpeed" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="44" name="spare2" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_WHEEL_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_WHEEL_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="44" name="ext" type="RDB_WHEEL_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_VEHICLE_SYSTEMS_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="lightMask" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="steering" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="steeringWheelTorque" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="accMask" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="17" name="accSpeed" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="18" name="batteryState" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="19" name="batteryRate" type="tInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="20" name="displayLightMask" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="22" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="5" byteorder="LE" bytepos="24" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_VEHICLE_SETUP_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="mass" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="wheelBase" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="12" name="spare" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_IMAGE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="4" name="width" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="6" name="height" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="pixelSize" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="9" name="pixelFormat" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="10" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="imgSize" type="tUInt32" />
|
||||
<element alignment="1" arraysize="4" byteorder="LE" bytepos="16" name="color" type="tUInt8" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="20" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_FUNCTION_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="type" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="dimension" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="6" name="spare" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="dataSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="12" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SENSOR_STATE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="type" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="hostCategory" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="6" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="hostId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="12" name="name" type="tChar" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="44" name="fovHV" type="tFloat32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="52" name="clipNF" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="60" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="100" name="originCoordSys" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="140" name="spare" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SENSOR_OBJECT_t" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="category" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="1" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="2" name="flags" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="id" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="sensorId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="dist" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="sensorPos" type="RDB_COORD_t" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="60" name="occlusion" type="tInt8" />
|
||||
<element alignment="1" arraysize="3" byteorder="LE" bytepos="61" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="64" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_CAMERA_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="2" name="width" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="4" name="height" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="6" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="clipNear" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="clipFar" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="focalX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="focalY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="principalX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="28" name="principalY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="32" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="72" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_LIGHT_SOURCE_BASE_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="templateId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="state" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="playerId" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="48" name="flags" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="50" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="52" name="spare1" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_LIGHT_SOURCE_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="0" name="nearFar" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="8" name="frustumLRBT" type="tFloat32" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="24" name="intensity" type="tFloat32" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="36" name="atten" type="tFloat32" />
|
||||
<element alignment="4" arraysize="3" byteorder="LE" bytepos="48" name="spare1" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_LIGHT_SOURCE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_LIGHT_SOURCE_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="60" name="ext" type="RDB_LIGHT_SOURCE_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_CONTACT_POINT_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="2" name="flags" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="roadDataIn" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="44" name="friction" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="48" name="playerId" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="52" name="spare1" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_SIGN_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="roadDist" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="52" name="type" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="56" name="subType" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="60" name="value" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="64" name="state" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="68" name="readability" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="69" name="occlusion" type="tInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="70" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="72" name="addOnId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="76" name="minLane" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="77" name="maxLane" type="tInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="78" name="spare" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ROAD_STATE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="wheelId" type="tInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="spare0" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="6" name="spare1" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="roadId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="defaultSpeed" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="waterLevel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="eventMask" type="tUInt32" />
|
||||
<element alignment="4" arraysize="12" byteorder="LE" bytepos="24" name="spare2" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ENVIRONMENT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="visibility" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="timeOfDay" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="brightness" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="precipitation" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="13" name="cloudState" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="14" name="flags" type="tUInt16" />
|
||||
<element alignment="4" arraysize="8" byteorder="LE" bytepos="16" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_PED_ANIMATION_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="44" name="spare" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="60" name="noCoords" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="64" name="dataSize" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_CUSTOM_SCORING_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="pathS" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="roadS" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="fuelCurrent" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="fuelAverage" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="stateFlags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="slip" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="28" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRIGGER_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="deltaT" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="frameNo" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="spare" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVER_CTRL_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="steeringWheel" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="steeringSpeed" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="throttlePedal" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="brakePedal" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="clutchPedal" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="accelTgt" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="28" name="steeringTgt" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="32" name="curvatureTgt" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="40" name="steeringTorque" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="44" name="engineTorqueTgt" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="48" name="speedTgt" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="52" name="gear" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="53" name="sourceId" type="tUInt8" />
|
||||
<element alignment="1" arraysize="2" byteorder="LE" bytepos="54" name="spare0" type="tUInt8" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="56" name="validityFlags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="60" name="flags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="64" name="mockupInput0" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="68" name="mockupInput1" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="72" name="mockupInput2" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="76" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_DRIVER_PERCEPTION_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="speedFromRules" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="distToSpeed" type="tFloat32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="12" name="spare0" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="28" name="flags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="32" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_LIGHT_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="state" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="stateMask" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_LIGHT_PHASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="duration" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="type" type="tUInt8" />
|
||||
<element alignment="1" arraysize="3" byteorder="LE" bytepos="5" name="spare" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_LIGHT_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="ctrlId" type="tInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="cycleTime" type="tFloat32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="8" name="noPhases" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="10" name="dataSize" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAFFIC_LIGHT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_TRAFFIC_LIGHT_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="ext" type="RDB_TRAFFIC_LIGHT_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SYNC_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="mask" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="cmdMask" type="tUInt32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="8" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_ROAD_QUERY_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="2" name="flags" type="tUInt16" />
|
||||
<element alignment="2" arraysize="2" byteorder="LE" bytepos="4" name="spare" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="x" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="y" type="tFloat64" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SCP_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="version" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="2" name="spare" type="tUInt16" />
|
||||
<element alignment="1" arraysize="64" byteorder="LE" bytepos="4" name="sender" type="tChar" />
|
||||
<element alignment="1" arraysize="64" byteorder="LE" bytepos="68" name="receiver" type="tChar" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="132" name="dataSize" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_TRAJECTORY_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="playerId" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="spacing" type="tFloat64" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="12" name="flags" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="14" name="noDataPoints" type="tUInt16" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="16" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="RDB_END_OF_FRAME_t" version="0" />
|
||||
<struct alignment="1" name="RDB_START_OF_FRAME_t" version="0" />
|
||||
<struct alignment="4" name="RDB_MSG_HDR_t" version="0">
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="0" name="magicNo" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="2" name="version" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="headerSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="dataSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="frameNo" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="simTime" type="tFloat64" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_MSG_ENTRY_HDR_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="headerSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="dataSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="elementSize" type="tUInt32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="12" name="pkgId" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="14" name="flags" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_MSG_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="hdr" type="RDB_MSG_HDR_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="entryHdr" type="RDB_MSG_ENTRY_HDR_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SHM_BUFFER_INFO_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="thisSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="bufferSize" type="tUInt32" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="8" name="id" type="tUInt16" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="10" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="flags" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="offset" type="tUInt32" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="20" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SHM_HDR_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="headerSize" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="dataSize" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="noBuffers" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
765
test/headerrepresentation/files/viRDBIcd_expected.h
Normal file
765
test/headerrepresentation/files/viRDBIcd_expected.h
Normal file
|
@ -0,0 +1,765 @@
|
|||
// This is a generated file, changes to it may be overwritten in the future.
|
||||
|
||||
typedef enum {
|
||||
PF_UNKNOWN=0,
|
||||
PF_8BIT=10,
|
||||
PF_GREYSCALE_8=11,
|
||||
PF_RGB_8=12,
|
||||
PF_16BIT=20,
|
||||
PF_GREYSCALE_10=21,
|
||||
PF_GREYSCALE_12=22,
|
||||
PF_GREYSCALE_14=23,
|
||||
PF_GREYSCALE_16=24,
|
||||
PF_RGB_444=25,
|
||||
PF_RGB_555=26,
|
||||
PF_RGB_565=27,
|
||||
PF_RGBA_4444=28,
|
||||
PF_ABGR_4444=29,
|
||||
PF_RIII_10=30,
|
||||
PF_RIII_12=31,
|
||||
PF_RIII_14=32,
|
||||
PF_RIII_16=33,
|
||||
PF_BGR_555=34,
|
||||
PF_BGR_565=35,
|
||||
PF_24BIT=40,
|
||||
PF_GREYSCALE_18=41,
|
||||
PF_GREYSCALE_20=42,
|
||||
PF_GREYSCALE_22=43,
|
||||
PF_GREYSCALE_24=44,
|
||||
PF_RGB_888=45,
|
||||
PF_BGR_888=46,
|
||||
PF_32BIT=50,
|
||||
PF_ARGB_8888=51,
|
||||
PF_ABGR_8888=52,
|
||||
PF_RGBA_8888=53,
|
||||
PF_BGRA_8888=54,
|
||||
PF_GREYSCALE_32=55,
|
||||
PF_GREYSCALE_FLOAT32=56,
|
||||
PF_YUV420P_888=60,
|
||||
PF_CUSTOM=1000
|
||||
} tPixelFormat;
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat64 x;
|
||||
tFloat64 y;
|
||||
tFloat64 z;
|
||||
tUInt8 flags;
|
||||
tUInt8 type;
|
||||
tUInt16 system;
|
||||
} RDB_POINT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat64 x;
|
||||
tFloat64 y;
|
||||
tFloat64 z;
|
||||
tFloat32 h;
|
||||
tFloat32 p;
|
||||
tFloat32 r;
|
||||
tUInt8 flags;
|
||||
tUInt8 type;
|
||||
tUInt16 system;
|
||||
} RDB_COORD_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 id;
|
||||
tUInt16 spare;
|
||||
RDB_COORD_t pos;
|
||||
} RDB_COORD_SYSTEM_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tUInt16 roadId;
|
||||
tInt8 laneId;
|
||||
tUInt8 flags;
|
||||
tFloat32 roadS;
|
||||
tFloat32 roadT;
|
||||
tFloat32 laneOffset;
|
||||
tFloat32 hdgRel;
|
||||
tFloat32 pitchRel;
|
||||
tFloat32 rollRel;
|
||||
tUInt8 roadType;
|
||||
tUInt8 spare1;
|
||||
tUInt16 spare2;
|
||||
tFloat32 pathS;
|
||||
} RDB_ROAD_POS_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tInt8 id;
|
||||
tInt8 prevId;
|
||||
tInt8 nextId;
|
||||
tUInt8 spare0;
|
||||
tFloat32 lateralDist;
|
||||
tFloat32 yawRel;
|
||||
tFloat64 curvHor;
|
||||
tFloat64 curvHorDot;
|
||||
tFloat32 startDx;
|
||||
tFloat32 previewDx;
|
||||
tFloat32 width;
|
||||
tFloat32 height;
|
||||
tFloat64 curvVert;
|
||||
tFloat64 curvVertDot;
|
||||
tUInt8 type;
|
||||
tUInt8 color;
|
||||
tUInt16 noDataPoints;
|
||||
tUInt32 spare1[2];
|
||||
} RDB_ROADMARK_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 roadId;
|
||||
tInt8 id;
|
||||
tUInt8 neighborMask;
|
||||
tInt8 leftLaneId;
|
||||
tInt8 rightLaneId;
|
||||
tUInt8 borderType;
|
||||
tUInt8 material;
|
||||
tUInt16 status;
|
||||
tUInt16 type;
|
||||
tFloat32 width;
|
||||
tFloat64 curvVert;
|
||||
tFloat64 curvVertDot;
|
||||
tFloat64 curvHor;
|
||||
tFloat64 curvHorDot;
|
||||
tUInt32 playerId;
|
||||
tUInt32 spare1;
|
||||
} RDB_LANE_INFO_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 id;
|
||||
tUInt8 category;
|
||||
tUInt8 type;
|
||||
tInt16 modelId;
|
||||
tChar name[32];
|
||||
tChar modelName[32];
|
||||
tChar fileName[1024];
|
||||
tUInt16 flags;
|
||||
tUInt16 spare0;
|
||||
tUInt32 spare1;
|
||||
} RDB_OBJECT_CFG_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat32 dimX;
|
||||
tFloat32 dimY;
|
||||
tFloat32 dimZ;
|
||||
tFloat32 offX;
|
||||
tFloat32 offY;
|
||||
tFloat32 offZ;
|
||||
} RDB_GEOMETRY_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 id;
|
||||
tUInt8 category;
|
||||
tUInt8 type;
|
||||
tUInt16 visMask;
|
||||
tChar name[32];
|
||||
RDB_GEOMETRY_t geo;
|
||||
RDB_COORD_t pos;
|
||||
tUInt32 parent;
|
||||
tUInt32 spare1;
|
||||
} RDB_OBJECT_STATE_BASE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
RDB_COORD_t speed;
|
||||
RDB_COORD_t accel;
|
||||
tUInt32 spare[4];
|
||||
} RDB_OBJECT_STATE_EXT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
RDB_OBJECT_STATE_BASE_t base;
|
||||
RDB_OBJECT_STATE_EXT_t ext;
|
||||
} RDB_OBJECT_STATE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tFloat32 rps;
|
||||
tFloat32 load;
|
||||
tUInt32 spare1[2];
|
||||
} RDB_ENGINE_BASE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat32 rpsStart;
|
||||
tFloat32 torque;
|
||||
tFloat32 torqueInner;
|
||||
tFloat32 torqueMax;
|
||||
tFloat32 torqueFriction;
|
||||
tFloat32 fuelCurrent;
|
||||
tFloat32 fuelAverage;
|
||||
tUInt32 spare[2];
|
||||
} RDB_ENGINE_EXT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
RDB_ENGINE_BASE_t base;
|
||||
RDB_ENGINE_EXT_t ext;
|
||||
} RDB_ENGINE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tUInt8 gearBoxType;
|
||||
tUInt8 driveTrainType;
|
||||
tUInt8 gear;
|
||||
tUInt8 spare0;
|
||||
tUInt32 spare1[2];
|
||||
} RDB_DRIVETRAIN_BASE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat32 torqueGearBoxIn;
|
||||
tFloat32 torqueCenterDiffOut;
|
||||
tFloat32 torqueShaft;
|
||||
tUInt32 spare1[2];
|
||||
} RDB_DRIVETRAIN_EXT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
RDB_DRIVETRAIN_BASE_t base;
|
||||
RDB_DRIVETRAIN_EXT_t ext;
|
||||
} RDB_DRIVETRAIN_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tUInt8 id;
|
||||
tUInt8 spare0[3];
|
||||
tFloat32 radiusStatic;
|
||||
tFloat32 springCompression;
|
||||
tFloat32 rotAngle;
|
||||
tFloat32 slip;
|
||||
tFloat32 steeringAngle;
|
||||
tUInt32 spare1[4];
|
||||
} RDB_WHEEL_BASE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat32 vAngular;
|
||||
tFloat32 forceZ;
|
||||
tFloat32 forceLat;
|
||||
tFloat32 forceLong;
|
||||
tFloat32 forceTireWheelXYZ[3];
|
||||
tFloat32 radiusDynamic;
|
||||
tFloat32 brakePressure;
|
||||
tFloat32 torqueDriveShaft;
|
||||
tFloat32 damperSpeed;
|
||||
tUInt32 spare2[4];
|
||||
} RDB_WHEEL_EXT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
RDB_WHEEL_BASE_t base;
|
||||
RDB_WHEEL_EXT_t ext;
|
||||
} RDB_WHEEL_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tUInt32 lightMask;
|
||||
tFloat32 steering;
|
||||
tFloat32 steeringWheelTorque;
|
||||
tUInt8 accMask;
|
||||
tUInt8 accSpeed;
|
||||
tUInt8 batteryState;
|
||||
tInt8 batteryRate;
|
||||
tUInt16 displayLightMask;
|
||||
tUInt16 spare0;
|
||||
tUInt32 spare[5];
|
||||
} RDB_VEHICLE_SYSTEMS_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tFloat32 mass;
|
||||
tFloat32 wheelBase;
|
||||
tInt32 spare[4];
|
||||
} RDB_VEHICLE_SETUP_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 id;
|
||||
tUInt16 width;
|
||||
tUInt16 height;
|
||||
tUInt8 pixelSize;
|
||||
tUInt8 pixelFormat;
|
||||
tUInt16 spare0;
|
||||
tUInt32 imgSize;
|
||||
tUInt8 color[4];
|
||||
tUInt32 spare1[3];
|
||||
} RDB_IMAGE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 id;
|
||||
tUInt8 type;
|
||||
tUInt8 dimension;
|
||||
tUInt16 spare;
|
||||
tUInt32 dataSize;
|
||||
tUInt32 spare1[4];
|
||||
} RDB_FUNCTION_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 id;
|
||||
tUInt8 type;
|
||||
tUInt8 hostCategory;
|
||||
tUInt16 spare0;
|
||||
tUInt32 hostId;
|
||||
tChar name[32];
|
||||
tFloat32 fovHV[2];
|
||||
tFloat32 clipNF[2];
|
||||
RDB_COORD_t pos;
|
||||
RDB_COORD_t originCoordSys;
|
||||
tInt32 spare[4];
|
||||
} RDB_SENSOR_STATE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt8 category;
|
||||
tUInt8 type;
|
||||
tUInt16 flags;
|
||||
tUInt32 id;
|
||||
tUInt32 sensorId;
|
||||
tFloat64 dist;
|
||||
RDB_COORD_t sensorPos;
|
||||
tInt8 occlusion;
|
||||
tUInt8 spare0[3];
|
||||
tUInt32 spare[3];
|
||||
} RDB_SENSOR_OBJECT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 id;
|
||||
tUInt16 width;
|
||||
tUInt16 height;
|
||||
tUInt16 spare0;
|
||||
tFloat32 clipNear;
|
||||
tFloat32 clipFar;
|
||||
tFloat32 focalX;
|
||||
tFloat32 focalY;
|
||||
tFloat32 principalX;
|
||||
tFloat32 principalY;
|
||||
RDB_COORD_t pos;
|
||||
tUInt32 spare1[4];
|
||||
} RDB_CAMERA_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 id;
|
||||
tInt8 templateId;
|
||||
tUInt8 state;
|
||||
tInt32 playerId;
|
||||
RDB_COORD_t pos;
|
||||
tUInt16 flags;
|
||||
tUInt16 spare0;
|
||||
tInt32 spare1[2];
|
||||
} RDB_LIGHT_SOURCE_BASE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat32 nearFar[2];
|
||||
tFloat32 frustumLRBT[4];
|
||||
tFloat32 intensity[3];
|
||||
tFloat32 atten[3];
|
||||
tInt32 spare1[3];
|
||||
} RDB_LIGHT_SOURCE_EXT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
RDB_LIGHT_SOURCE_BASE_t base;
|
||||
RDB_LIGHT_SOURCE_EXT_t ext;
|
||||
} RDB_LIGHT_SOURCE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 id;
|
||||
tUInt16 flags;
|
||||
RDB_COORD_t roadDataIn;
|
||||
tFloat32 friction;
|
||||
tInt32 playerId;
|
||||
tInt32 spare1;
|
||||
} RDB_CONTACT_POINT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 id;
|
||||
tUInt32 playerId;
|
||||
tFloat32 roadDist;
|
||||
RDB_COORD_t pos;
|
||||
tInt32 type;
|
||||
tInt32 subType;
|
||||
tFloat32 value;
|
||||
tUInt32 state;
|
||||
tInt8 readability;
|
||||
tInt8 occlusion;
|
||||
tUInt16 spare0;
|
||||
tUInt32 addOnId;
|
||||
tInt8 minLane;
|
||||
tInt8 maxLane;
|
||||
tUInt16 spare;
|
||||
} RDB_TRAFFIC_SIGN_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tInt8 wheelId;
|
||||
tUInt8 spare0;
|
||||
tUInt16 spare1;
|
||||
tUInt32 roadId;
|
||||
tFloat32 defaultSpeed;
|
||||
tFloat32 waterLevel;
|
||||
tUInt32 eventMask;
|
||||
tInt32 spare2[12];
|
||||
} RDB_ROAD_STATE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat32 visibility;
|
||||
tUInt32 timeOfDay;
|
||||
tFloat32 brightness;
|
||||
tUInt8 precipitation;
|
||||
tUInt8 cloudState;
|
||||
tUInt16 flags;
|
||||
tUInt32 spare1[8];
|
||||
} RDB_ENVIRONMENT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
RDB_COORD_t pos;
|
||||
tUInt32 spare[4];
|
||||
tUInt32 noCoords;
|
||||
tUInt32 dataSize;
|
||||
} RDB_PED_ANIMATION_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tFloat32 pathS;
|
||||
tFloat32 roadS;
|
||||
tFloat32 fuelCurrent;
|
||||
tFloat32 fuelAverage;
|
||||
tUInt32 stateFlags;
|
||||
tFloat32 slip;
|
||||
tUInt32 spare[4];
|
||||
} RDB_CUSTOM_SCORING_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat32 deltaT;
|
||||
tUInt32 frameNo;
|
||||
tInt32 spare;
|
||||
} RDB_TRIGGER_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tFloat32 steeringWheel;
|
||||
tFloat32 steeringSpeed;
|
||||
tFloat32 throttlePedal;
|
||||
tFloat32 brakePedal;
|
||||
tFloat32 clutchPedal;
|
||||
tFloat32 accelTgt;
|
||||
tFloat32 steeringTgt;
|
||||
tFloat64 curvatureTgt;
|
||||
tFloat32 steeringTorque;
|
||||
tFloat32 engineTorqueTgt;
|
||||
tFloat32 speedTgt;
|
||||
tUInt8 gear;
|
||||
tUInt8 sourceId;
|
||||
tUInt8 spare0[2];
|
||||
tUInt32 validityFlags;
|
||||
tUInt32 flags;
|
||||
tUInt32 mockupInput0;
|
||||
tUInt32 mockupInput1;
|
||||
tUInt32 mockupInput2;
|
||||
tUInt32 spare;
|
||||
} RDB_DRIVER_CTRL_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tFloat32 speedFromRules;
|
||||
tFloat32 distToSpeed;
|
||||
tFloat32 spare0[4];
|
||||
tUInt32 flags;
|
||||
tUInt32 spare[4];
|
||||
} RDB_DRIVER_PERCEPTION_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tInt32 id;
|
||||
tFloat32 state;
|
||||
tUInt32 stateMask;
|
||||
} RDB_TRAFFIC_LIGHT_BASE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat32 duration;
|
||||
tUInt8 type;
|
||||
tUInt8 spare[3];
|
||||
} RDB_TRAFFIC_LIGHT_PHASE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tInt32 ctrlId;
|
||||
tFloat32 cycleTime;
|
||||
tUInt16 noPhases;
|
||||
tUInt32 dataSize;
|
||||
} RDB_TRAFFIC_LIGHT_EXT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
RDB_TRAFFIC_LIGHT_BASE_t base;
|
||||
RDB_TRAFFIC_LIGHT_EXT_t ext;
|
||||
} RDB_TRAFFIC_LIGHT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 mask;
|
||||
tUInt32 cmdMask;
|
||||
tUInt32 spare[2];
|
||||
} RDB_SYNC_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 id;
|
||||
tUInt16 flags;
|
||||
tUInt16 spare[2];
|
||||
tFloat64 x;
|
||||
tFloat64 y;
|
||||
} RDB_ROAD_QUERY_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 version;
|
||||
tUInt16 spare;
|
||||
tChar sender[64];
|
||||
tChar receiver[64];
|
||||
tUInt32 dataSize;
|
||||
} RDB_SCP_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tFloat64 spacing;
|
||||
tUInt16 flags;
|
||||
tUInt16 noDataPoints;
|
||||
tUInt32 spare[4];
|
||||
} RDB_TRAJECTORY_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
} RDB_END_OF_FRAME_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
} RDB_START_OF_FRAME_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt16 magicNo;
|
||||
tUInt16 version;
|
||||
tUInt32 headerSize;
|
||||
tUInt32 dataSize;
|
||||
tUInt32 frameNo;
|
||||
tFloat64 simTime;
|
||||
} RDB_MSG_HDR_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 headerSize;
|
||||
tUInt32 dataSize;
|
||||
tUInt32 elementSize;
|
||||
tUInt16 pkgId;
|
||||
tUInt16 flags;
|
||||
} RDB_MSG_ENTRY_HDR_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
RDB_MSG_HDR_t hdr;
|
||||
RDB_MSG_ENTRY_HDR_t entryHdr;
|
||||
} RDB_MSG_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 thisSize;
|
||||
tUInt32 bufferSize;
|
||||
tUInt16 id;
|
||||
tUInt16 spare0;
|
||||
tUInt32 flags;
|
||||
tUInt32 offset;
|
||||
tUInt32 spare1[4];
|
||||
} RDB_SHM_BUFFER_INFO_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 headerSize;
|
||||
tUInt32 dataSize;
|
||||
tUInt8 noBuffers;
|
||||
} RDB_SHM_HDR_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef double tFloat64;
|
||||
|
||||
typedef uint8_t tUInt8;
|
||||
|
||||
typedef uint16_t tUInt16;
|
||||
|
||||
typedef float tFloat32;
|
||||
|
||||
typedef uint32_t tUInt32;
|
||||
|
||||
typedef int8_t tInt8;
|
||||
|
||||
typedef int16_t tInt16;
|
||||
|
||||
typedef char tChar;
|
||||
|
||||
typedef int32_t tInt32;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// double
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint8_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint16_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// float
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint32_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// int8_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// int16_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// char
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// int32_t
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>ANOAFR4</author>
|
||||
<date_creation>11.04.2016</date_creation>
|
||||
<date_change>11.04.2016</date_change>
|
||||
<description>Generated by ADTF 2.14.0beta</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="Fundamental unit for length" name="Metre" symbol="m" />
|
||||
<baseunit description="Fundamental unit for mass" name="Kilogram" symbol="kg" />
|
||||
<baseunit description="Fundamental unit for time" name="Second" symbol="s" />
|
||||
<baseunit description="Fundamental unit for electric current" name="Ampere" symbol="A" />
|
||||
<baseunit description="Fundamental unit for thermodynamic temperature" name="Kelvin" symbol="K" />
|
||||
<baseunit description="Fundamental unit for amount of substance" name="Mole" symbol="mol" />
|
||||
<baseunit description="Fundamental unit for luminous intensity" name="Candela" symbol="cd" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Degree" symbol="deg" />
|
||||
<baseunit description="Non-SI standard unit for angle" name="Radiant" symbol="rad" />
|
||||
<baseunit description="No SI, but needed for own unit definitions" name="Unitless" symbol="" />
|
||||
<baseunit description="No SI, but needed for no unit definitions" name="nou" symbol="" />
|
||||
<prefixes name="yotta" power="24" symbol="Y" />
|
||||
<prefixes name="zetta" power="21" symbol="Z" />
|
||||
<prefixes name="exa" power="18" symbol="E" />
|
||||
<prefixes name="peta" power="15" symbol="P" />
|
||||
<prefixes name="tera" power="12" symbol="T" />
|
||||
<prefixes name="giga" power="9" symbol="G" />
|
||||
<prefixes name="mega" power="6" symbol="M" />
|
||||
<prefixes name="kilo" power="3" symbol="k" />
|
||||
<prefixes name="hecto" power="2" symbol="h" />
|
||||
<prefixes name="deca" power="1" symbol="da" />
|
||||
<prefixes name="deci" power="-1" symbol="d" />
|
||||
<prefixes name="centi" power="-2" symbol="c" />
|
||||
<prefixes name="milli" power="-3" symbol="m" />
|
||||
<prefixes name="micro" power="-6" symbol="u" />
|
||||
<prefixes name="nano" power="-9" symbol="n" />
|
||||
<prefixes name="pico" power="-12" symbol="p" />
|
||||
<prefixes name="femto" power="-15" symbol="f" />
|
||||
<prefixes name="atto" power="-18" symbol="a" />
|
||||
<prefixes name="zepto" power="-21" symbol="z" />
|
||||
<prefixes name="yocto" power="-24" symbol="y" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" max="tTrue" min="tFalse" name="tBool" size="8" />
|
||||
<datatype description="predefined ADTF tChar datatype" max="127" min="-128" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" max="127" min="-128" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" max="65535" min="0" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" max="3.402823e+38" min="-3.402823e+38" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" max="1.797693e+308" min="-1.797693e+308" name="tFloat64" size="64" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="tPixelFormat" type="tInt16">
|
||||
<element name="PF_16BIT" value="20" />
|
||||
<element name="PF_24BIT" value="40" />
|
||||
<element name="PF_32BIT" value="50" />
|
||||
<element name="PF_8BIT" value="10" />
|
||||
<element name="PF_ABGR_4444" value="29" />
|
||||
<element name="PF_ABGR_8888" value="52" />
|
||||
<element name="PF_ARGB_8888" value="51" />
|
||||
<element name="PF_BGRA_8888" value="54" />
|
||||
<element name="PF_BGR_555" value="34" />
|
||||
<element name="PF_BGR_565" value="35" />
|
||||
<element name="PF_BGR_888" value="46" />
|
||||
<element name="PF_CUSTOM" value="1000" />
|
||||
<element name="PF_GREYSCALE_10" value="21" />
|
||||
<element name="PF_GREYSCALE_12" value="22" />
|
||||
<element name="PF_GREYSCALE_14" value="23" />
|
||||
<element name="PF_GREYSCALE_16" value="24" />
|
||||
<element name="PF_GREYSCALE_18" value="41" />
|
||||
<element name="PF_GREYSCALE_20" value="42" />
|
||||
<element name="PF_GREYSCALE_22" value="43" />
|
||||
<element name="PF_GREYSCALE_24" value="44" />
|
||||
<element name="PF_GREYSCALE_32" value="55" />
|
||||
<element name="PF_GREYSCALE_8" value="11" />
|
||||
<element name="PF_GREYSCALE_FLOAT32" value="56" />
|
||||
<element name="PF_RGBA_4444" value="28" />
|
||||
<element name="PF_RGBA_8888" value="53" />
|
||||
<element name="PF_RGB_444" value="25" />
|
||||
<element name="PF_RGB_555" value="26" />
|
||||
<element name="PF_RGB_565" value="27" />
|
||||
<element name="PF_RGB_8" value="12" />
|
||||
<element name="PF_RGB_888" value="45" />
|
||||
<element name="PF_RIII_10" value="30" />
|
||||
<element name="PF_RIII_12" value="31" />
|
||||
<element name="PF_RIII_14" value="32" />
|
||||
<element name="PF_RIII_16" value="33" />
|
||||
<element name="PF_UNKNOWN" value="0" />
|
||||
<element name="PF_YUV420P_888" value="60" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="4" name="RDB_GEOMETRY_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="dimX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="4" name="dimY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="dimZ" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="12" name="offX" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="offY" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="20" name="offZ" type="tFloat32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_COORD_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="x" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="y" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="16" name="z" type="tFloat64" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="24" name="h" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="28" name="p" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="32" name="r" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="36" name="flags" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="37" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="38" name="system" type="tUInt16" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_STATE_BASE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="category" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="type" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="6" name="visMask" type="tUInt16" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="8" name="name" type="tChar" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="40" name="geo" type="RDB_GEOMETRY_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="64" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="104" name="parent" type="tUInt32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="108" name="spare1" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_STATE_EXT_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="speed" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="40" name="accel" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="80" name="spare" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_OBJECT_STATE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="base" type="RDB_OBJECT_STATE_BASE_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="112" name="ext" type="RDB_OBJECT_STATE_EXT_t" />
|
||||
</struct>
|
||||
<struct alignment="4" name="RDB_SENSOR_STATE_t" version="0">
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="0" name="id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="type" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="hostCategory" type="tUInt8" />
|
||||
<element alignment="2" arraysize="1" byteorder="LE" bytepos="6" name="spare0" type="tUInt16" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="8" name="hostId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="12" name="name" type="tChar" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="44" name="fovHV" type="tFloat32" />
|
||||
<element alignment="4" arraysize="2" byteorder="LE" bytepos="52" name="clipNF" type="tFloat32" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="60" name="pos" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="1" byteorder="LE" bytepos="100" name="originCoordSys" type="RDB_COORD_t" />
|
||||
<element alignment="4" arraysize="4" byteorder="LE" bytepos="140" name="spare" type="tInt32" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
99
test/headerrepresentation/files/viRDBIcd_extract_expected.h
Normal file
99
test/headerrepresentation/files/viRDBIcd_extract_expected.h
Normal file
|
@ -0,0 +1,99 @@
|
|||
// This is a generated file, changes to it may be overwritten in the future.
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 playerId;
|
||||
tUInt8 gearBoxType;
|
||||
tUInt8 driveTrainType;
|
||||
tUInt8 gear;
|
||||
tUInt8 spare0;
|
||||
tUInt32 spare1[2];
|
||||
} RDB_DRIVETRAIN_BASE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat32 torqueGearBoxIn;
|
||||
tFloat32 torqueCenterDiffOut;
|
||||
tFloat32 torqueShaft;
|
||||
tUInt32 spare1[2];
|
||||
} RDB_DRIVETRAIN_EXT_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
RDB_DRIVETRAIN_BASE_t base;
|
||||
RDB_DRIVETRAIN_EXT_t ext;
|
||||
} RDB_DRIVETRAIN_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tFloat64 x;
|
||||
tFloat64 y;
|
||||
tFloat64 z;
|
||||
tFloat32 h;
|
||||
tFloat32 p;
|
||||
tFloat32 r;
|
||||
tUInt8 flags;
|
||||
tUInt8 type;
|
||||
tUInt16 system;
|
||||
} RDB_COORD_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef struct
|
||||
{
|
||||
tUInt32 id;
|
||||
tUInt8 type;
|
||||
tUInt8 hostCategory;
|
||||
tUInt16 spare0;
|
||||
tUInt32 hostId;
|
||||
tChar name[32];
|
||||
tFloat32 fovHV[2];
|
||||
tFloat32 clipNF[2];
|
||||
RDB_COORD_t pos;
|
||||
RDB_COORD_t originCoordSys;
|
||||
tInt32 spare[4];
|
||||
} RDB_SENSOR_STATE_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef uint32_t tUInt32;
|
||||
|
||||
typedef uint8_t tUInt8;
|
||||
|
||||
typedef float tFloat32;
|
||||
|
||||
typedef double tFloat64;
|
||||
|
||||
typedef uint16_t tUInt16;
|
||||
|
||||
typedef char tChar;
|
||||
|
||||
typedef int32_t tInt32;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint32_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint8_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// float
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// double
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// uint16_t
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// char
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// int32_t
|
||||
|
19
test/headerrepresentation/files/wrong_header.h
Normal file
19
test/headerrepresentation/files/wrong_header.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
// For type # see implementation of cHeaderImporter::BuildStructs()
|
||||
|
||||
// Type #4
|
||||
struct
|
||||
{
|
||||
tUInt8 a;
|
||||
} simple_var;
|
||||
|
||||
// Type #5
|
||||
struct
|
||||
{
|
||||
tUInt8 b;
|
||||
};
|
||||
|
||||
// Type #6
|
||||
typedef struct
|
||||
{
|
||||
tUInt8 c;
|
||||
};
|
25
test/headerrepresentation/src/CMakeLists.txt
Normal file
25
test/headerrepresentation/src/CMakeLists.txt
Normal file
|
@ -0,0 +1,25 @@
|
|||
# to use generator lib we add sources to test because tester doesn't have this
|
||||
# internal lib for linking
|
||||
include(../../../ddlgenerators/generator_library/ddl_generator_lib.sources)
|
||||
include_directories(../../../ddlgenerators/generator_library/headerrepresentation)
|
||||
|
||||
set(TEST_NAME headerrepresentation)
|
||||
|
||||
add_executable(tester_${TEST_NAME} tester_${TEST_NAME}.cpp
|
||||
${HEADER_PRESENTATION_H}
|
||||
${HEADER_PRESENTATION_CPP}
|
||||
ddl_definitions.h)
|
||||
|
||||
set_target_properties(tester_${TEST_NAME} PROPERTIES FOLDER test/ddl)
|
||||
set_target_properties(tester_${TEST_NAME} PROPERTIES TIMEOUT 120)
|
||||
|
||||
target_link_libraries(tester_${TEST_NAME} PRIVATE
|
||||
ddl_test_compat
|
||||
ddl
|
||||
a_util_result
|
||||
GTest::Main
|
||||
$<$<PLATFORM_ID:Linux>:Threads::Threads>
|
||||
)
|
||||
add_test(NAME tester_${TEST_NAME}
|
||||
COMMAND tester_${TEST_NAME}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../")
|
616
test/headerrepresentation/src/ddl_definitions.h
Normal file
616
test/headerrepresentation/src/ddl_definitions.h
Normal file
|
@ -0,0 +1,616 @@
|
|||
/**
|
||||
* @file
|
||||
* Headerfile for the tester for the DDL representation.
|
||||
*
|
||||
* @copyright
|
||||
* @verbatim
|
||||
Copyright @ 2017 Audi Electronics Venture GmbH. All rights reserved.
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla
|
||||
Public License, v. 2.0. If a copy of the MPL was not distributed
|
||||
with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
If it is not possible or desirable to put the notice in a particular file, then
|
||||
You may include the notice in a location (such as a LICENSE file in a
|
||||
relevant directory) where a recipient would be likely to look for such a notice.
|
||||
|
||||
You may add additional accurate notices of copyright ownership.
|
||||
@endverbatim
|
||||
*/
|
||||
|
||||
#ifndef _TESTER_DDL_DEFINITIONS_HEADER_
|
||||
#define _TESTER_DDL_DEFINITIONS_HEADER_
|
||||
|
||||
static const std::string DDL_TEST_STRING =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<header>\n \
|
||||
<language_version>1.0+</language_version>\n \
|
||||
<author>AUDI Electronics Venture GmbH</author>\n \
|
||||
<date_creation>20100407</date_creation>\n \
|
||||
<date_change />\n \
|
||||
<description>ADTF Common Description File</description>\n \
|
||||
</header>\n \
|
||||
<units>\n \
|
||||
<baseunit description=\"this is the no unit class\" name=\"nou\" symbol=\"\" />\n \
|
||||
</units>\n \
|
||||
<datatypes>\n \
|
||||
<datatype description=\"predefined ADTF tBool datatype\" size=\"8\" name=\"tBool\" />\n \
|
||||
<datatype description=\"predefined ADTF tChar datatype\" size=\"8\" name=\"tChar\" />\n \
|
||||
<datatype description=\"predefined ADTF tUInt8 datatype\" size=\"8\" name=\"tUInt8\" />\n \
|
||||
<datatype description=\"predefined ADTF tInt8 datatype\" size=\"8\" name=\"tInt8\" />\n \
|
||||
<datatype description=\"predefined ADTF tUInt16 datatype\" size=\"16\" name=\"tUInt16\" />\n \
|
||||
<datatype description=\"predefined ADTF tInt16 datatype\" size=\"16\" name=\"tInt16\" />\n \
|
||||
<datatype description=\"predefined ADTF tUInt32 datatype\" size=\"32\" name=\"tUInt32\" />\n \
|
||||
<datatype description=\"predefined ADTF tInt32 datatype\" size=\"32\" name=\"tInt32\" />\n \
|
||||
<datatype description=\"predefined ADTF tUInt64 datatype\" size=\"64\" name=\"tUInt64\" />\n \
|
||||
<datatype description=\"predefined ADTF tInt64 datatype\" size=\"64\" name=\"tInt64\" />\n \
|
||||
<datatype description=\"predefined ADTF tFloat32 datatype\" size=\"32\" name=\"tFloat32\" />\n \
|
||||
<datatype description=\"predefined ADTF tFloat64 datatype\" size=\"64\" name=\"tFloat64\" />\n \
|
||||
</datatypes>\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"adtf.core.media_type\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"mediatype\" type=\"tMediaTypeInfo\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"14\" name=\"nBytesPerLine\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"28\" name=\"nSize\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"22\" name=\"nPaletteSize\" type=\"tInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"tWaveFormat\" alignment=\"1\" version=\"1\">\n \
|
||||
<element type=\"tInt32\" name=\"nFormatType\" bytepos=\"0\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>\n \
|
||||
<element type=\"tInt32\" name=\"nChannels\" bytepos=\"4\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>\n \
|
||||
<element type=\"tInt32\" name=\"nSamplesPerSec\" bytepos=\"8\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>\n \
|
||||
<element type=\"tInt32\" name=\"nBitsPerSample\" bytepos=\"12\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>\n \
|
||||
<element type=\"tInt32\" name=\"nNumSamples\" bytepos=\"16\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>\n \
|
||||
<element type=\"tInt32\" name=\"nSize\" bytepos=\"20\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.audio\" version=\"1\">\n \
|
||||
<element type=\"tMediaTypeInfo\" name=\"sMediatype\" bytepos=\"0\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>\n \
|
||||
<element type=\"tWaveFormat\" name=\"sWaveFormat\" bytepos=\"12\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>\n \
|
||||
</struct>\n \
|
||||
<!--SAMPLE CONTENT DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tCanMessage\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui16Id\" type=\"tUInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"2\" name=\"ui8Channel\" type=\"tUInt8\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"3\" name=\"ui8Length\" type=\"tUInt8\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"8\" byteorder=\"LE\" bytepos=\"4\" name=\"pui8Data\" type=\"tUInt8\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tCanMessageExt\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32Id\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui8Channel\" type=\"tUInt8\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"5\" name=\"ui8Length\" type=\"tUInt8\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"8\" byteorder=\"LE\" bytepos=\"6\" name=\"pui8Data\" type=\"tUInt8\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
<streams>\n \
|
||||
<stream description=\"can\" name=\"can_stream\" type=\"adtf.core.media_type\">\n \
|
||||
<struct bytepos=\"0\" type=\"tCanMessage\" />\n \
|
||||
</stream>\n \
|
||||
<stream description=\"extended can\" name=\"extended_can_stream\" type=\"adtf.core.media_type\">\n \
|
||||
<struct bytepos=\"0\" type=\"tCanMessageExt\" />\n \
|
||||
</stream>\n \
|
||||
<stream description=\"video stream\" name=\"video_stream\" type=\"adtf.type.video\" />\n \
|
||||
<stream description=\"video stream\" name=\"audio_stream\" type=\"adtf.type.audio\" />\n \
|
||||
<stream description=\"video stream\" type=\"adtf.type.audio\" />\n \
|
||||
</streams>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
// Test DDL that differs in the type of tBitmapFormat::nBytesPerLine
|
||||
static const std::string DDL_TEST_STRING_DIFF =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"14\" name=\"nBytesPerLine\" type=\"tFloat32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"28\" name=\"nSize\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"22\" name=\"nPaletteSize\" type=\"tInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
// Test DDL that differs by names
|
||||
static const std::string DDL_TEST_STRING_DIFF_NAMES =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo2\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"14\" name=\"nBytesPerLine34\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"28\" name=\"nSize\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"22\" name=\"nPaletteSize\" type=\"tInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo2\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
|
||||
// Test DDL that differs by version
|
||||
static const std::string DDL_TEST_STRING_DIFF_VERSION =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo2\" version=\"3\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"3\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"14\" name=\"nBytesPerLine34\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"28\" name=\"nSize\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"22\" name=\"nPaletteSize\" type=\"tInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"3\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo2\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
// Test DDL that differs by version
|
||||
static const std::string DDL_TEST_STRING_DIFF_ARRAY =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo2\" version=\"3\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"3\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"14\" name=\"nBytesPerLine34\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"100\" byteorder=\"LE\" bytepos=\"28\" name=\"nSize\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"22\" name=\"nPaletteSize\" type=\"tInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"3\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo2\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
|
||||
// Test DDL where tBitmapFormat is only a subset
|
||||
static const std::string DDL_TEST_STRING_SUBSET =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
|
||||
// Test DDL where tMediaTypInfo is one element short
|
||||
static const std::string DDL_TEST_STRING_INVALID_SUBSET =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"14\" name=\"nBytesPerLine\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"28\" name=\"nSize\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"22\" name=\"nPaletteSize\" type=\"tInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
// Test DDL with dynamic content
|
||||
static const std::string DDL_TEST_STRING_DYNAMIC =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"nCount\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
// Test DDL with dynamic content but with different naming
|
||||
static const std::string DDL_TEST_STRING_DYNAMIC_NAME_DIFF =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo2\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType2\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType2\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags2\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"nCount\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo2\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
// Test DDL with dynamic content that is not binary equal (tBitmapFormat::nPixelFormat2)
|
||||
static const std::string DDL_TEST_STRING_DYNAMIC_BIN_DIFF =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat2\" type=\"tInt16\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"nCount\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
// Test DDL with dynamic content that is not binary equal in dynamic part (tMediaTypeInfo::ui32Flags has different type)
|
||||
static const std::string DDL_TEST_STRING_DYNAMIC_BIN_DIFF_2 =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tMediaTypeInfo\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32SubType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32Flags\" type=\"tUInt64\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tBitmapFormat\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"32\" name=\"nWidth\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"18\" name=\"nHeight\" type=\"tInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"nBitsPerPixel\" type=\"tInt16\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"26\" name=\"nPixelFormat\" type=\"tInt16\" />\n \
|
||||
</struct>\n \
|
||||
<struct name=\"adtf.type.video\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"nCount\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount\" byteorder=\"LE\" bytepos=\"0\" name=\"sMediatype\" type=\"tMediaTypeInfo\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount\" byteorder=\"LE\" bytepos=\"12\" name=\"sBitmapFormat\" type=\"tBitmapFormat\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
// Test DDL to where the orignial struct layout is not the same (tTest1 vs tTest2) but the binary positions match
|
||||
static const std::string DDL_TEST_STRING_LAYOUT_TEST =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"sub1\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"3\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tTest1\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sSub1\" type=\"sub1\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sSub2\" type=\"sub1\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tTest2\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"6\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32MajorType\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
// Test DDL to where the array size element is different
|
||||
static const std::string DDL_TEST_STRING_DYNAMIC_DIFF_ARRAY_SPEC =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"tTest1\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"nCount1\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"nCount2\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount1\" byteorder=\"LE\" bytepos=\"0\" name=\"aArray\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
<struct alignment=\"1\" name=\"tTest2\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"nCount1\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"nCount2\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"nCount2\" byteorder=\"LE\" bytepos=\"0\" name=\"aArray\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
|
||||
static const std::string DDL_TEST_STRING_UNITS =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<header>\n \
|
||||
<language_version>3.0</language_version>\n \
|
||||
<author>AUDI Electronics Venture GmbH</author>\n \
|
||||
<date_creation>20100407</date_creation>\n \
|
||||
<date_change />\n \
|
||||
<description>ADTF Common Description File</description>\n \
|
||||
</header>\n \
|
||||
<units> \
|
||||
<baseunit description=\"Fundamental unit for electric current\" name=\"Ampere\" symbol=\"A\" /> \
|
||||
<baseunit description=\"Fundamental unit for luminous intensity\" name=\"Candela\" symbol=\"cd\" /> \
|
||||
<baseunit description=\"Non-SI standard unit for angle\" name=\"Degree\" symbol=\"deg\" /> \
|
||||
<baseunit description=\"Fundamental unit for thermodynamic temperature\" name=\"Kelvin\" symbol=\"K\" /> \
|
||||
<baseunit description=\"Fundamental unit for mass\" name=\"Kilogram\" symbol=\"kg\" /> \
|
||||
<baseunit description=\"Fundamental unit for length\" name=\"Metre\" symbol=\"m\" /> \
|
||||
<baseunit description=\"Fundamental unit for amount of substance\" name=\"Mole\" symbol=\"mol\" /> \
|
||||
<baseunit description=\"Non-SI standard unit for angle\" name=\"Radiant\" symbol=\"rad\" /> \
|
||||
<baseunit description=\"Fundamental unit for time\" name=\"Second\" symbol=\"s\" /> \
|
||||
<baseunit description=\"No SI, but needed for own unit definitions\" name=\"Unitless\" symbol=\"\" /> \
|
||||
\
|
||||
<prefixes name=\"atto\" power=\"-18\" symbol=\"a\" /> \
|
||||
<prefixes name=\"centi\" power=\"-2\" symbol=\"c\" /> \
|
||||
<prefixes name=\"deca\" power=\"1\" symbol=\"da\" /> \
|
||||
<prefixes name=\"deci\" power=\"-1\" symbol=\"d\" /> \
|
||||
<prefixes name=\"exa\" power=\"18\" symbol=\"E\" /> \
|
||||
<prefixes name=\"femto\" power=\"-15\" symbol=\"f\" /> \
|
||||
<prefixes name=\"giga\" power=\"9\" symbol=\"G\" /> \
|
||||
<prefixes name=\"hecto\" power=\"2\" symbol=\"h\" /> \
|
||||
<prefixes name=\"kilo\" power=\"3\" symbol=\"k\" /> \
|
||||
<prefixes name=\"mega\" power=\"6\" symbol=\"M\" /> \
|
||||
<prefixes name=\"micro\" power=\"-6\" symbol=\"u\" /> \
|
||||
<prefixes name=\"milli\" power=\"-3\" symbol=\"m\" /> \
|
||||
<prefixes name=\"nano\" power=\"-9\" symbol=\"n\" /> \
|
||||
<prefixes name=\"peta\" power=\"15\" symbol=\"P\" /> \
|
||||
<prefixes name=\"pico\" power=\"-12\" symbol=\"p\" /> \
|
||||
<prefixes name=\"tera\" power=\"12\" symbol=\"T\" /> \
|
||||
<prefixes name=\"yocto\" power=\"-24\" symbol=\"y\" /> \
|
||||
<prefixes name=\"yotta\" power=\"24\" symbol=\"Y\" /> \
|
||||
<prefixes name=\"zepto\" power=\"-21\" symbol=\"z\" /> \
|
||||
<prefixes name=\"zetta\" power=\"21\" symbol=\"Z\" /> \
|
||||
<unit name=\"bar_unit\"> \
|
||||
<numerator>1.0</numerator> \
|
||||
<denominator>1.0</denominator> \
|
||||
<offset>1.0</offset> \
|
||||
<refUnit name=\"Ampere\" power=\"10\" prefix=\"deca\" /> \
|
||||
</unit> \
|
||||
<unit name=\"bar_unit2\"> \
|
||||
<numerator>1.0</numerator> \
|
||||
<denominator>1.0</denominator> \
|
||||
<offset>1.0</offset> \
|
||||
<refUnit name=\"Ampere\" power=\"10\" prefix=\"deca\" /> \
|
||||
</unit> \
|
||||
</units> \
|
||||
<datatypes /> \
|
||||
<structs /> \
|
||||
<streams /> \
|
||||
</adtf:ddl>";
|
||||
|
||||
static const std::string DDL_TEST_STRING_ENUMS =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<header>\n \
|
||||
<language_version>3.0</language_version>\n \
|
||||
<author>AUDI Electronics Venture GmbH</author>\n \
|
||||
<date_creation>20100407</date_creation>\n \
|
||||
<date_change />\n \
|
||||
<description>ADTF Common Description File</description>\n \
|
||||
</header>\n \
|
||||
<datatypes>\n \
|
||||
<datatype description=\"predefined ADTF tBool datatype\" size=\"8\" name=\"tBool\" />\n \
|
||||
<datatype description=\"predefined ADTF tChar datatype\" size=\"8\" name=\"tChar\" />\n \
|
||||
<datatype description=\"predefined ADTF tUInt8 datatype\" size=\"8\" name=\"tUInt8\" />\n \
|
||||
<datatype description=\"predefined ADTF tInt8 datatype\" size=\"8\" name=\"tInt8\" />\n \
|
||||
<datatype description=\"predefined ADTF tUInt16 datatype\" size=\"16\" name=\"tUInt16\" />\n \
|
||||
<datatype description=\"predefined ADTF tInt16 datatype\" size=\"16\" name=\"tInt16\" />\n \
|
||||
<datatype description=\"predefined ADTF tUInt32 datatype\" size=\"32\" name=\"tUInt32\" />\n \
|
||||
<datatype description=\"predefined ADTF tInt32 datatype\" size=\"32\" name=\"tInt32\" />\n \
|
||||
<datatype description=\"predefined ADTF tUInt64 datatype\" size=\"64\" name=\"tUInt64\" />\n \
|
||||
<datatype description=\"predefined ADTF tInt64 datatype\" size=\"64\" name=\"tInt64\" />\n \
|
||||
<datatype description=\"predefined ADTF tFloat32 datatype\" size=\"32\" name=\"tFloat32\" />\n \
|
||||
<datatype description=\"predefined ADTF tFloat64 datatype\" size=\"64\" name=\"tFloat64\" />\n \
|
||||
</datatypes>\n \
|
||||
<enums> \
|
||||
<enum name=\"tValueDefinitions\" type=\"tUInt32\"> \
|
||||
<element name=\"ELEMENT_ONE\" value=\"10\"/> \
|
||||
<element name=\"ELEMENT_TWO\" value=\"20\"/> \
|
||||
<element name=\"ELEMENT_THREE\" value=\"5\"/> \
|
||||
</enum> \
|
||||
<enum name=\"tValueDefinitions2\" type=\"tUInt32\"> \
|
||||
<element name=\"ELEMENT_ONE2\" value=\"10\"/> \
|
||||
<element name=\"ELEMENT_TWO2\" value=\"20\"/> \
|
||||
<element name=\"ELEMENT_THREE2\" value=\"5\"/> \
|
||||
</enum> \
|
||||
</enums> \
|
||||
<structs /> \
|
||||
<streams /> \
|
||||
</adtf:ddl>";
|
||||
|
||||
static const std::string DDL_TEST_STRING_HEADER =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<header>\n \
|
||||
<language_version>3.0</language_version>\n \
|
||||
<author>AUDI Electronics Venture GmbH</author>\n \
|
||||
<date_creation>20100407</date_creation>\n \
|
||||
<date_change />\n \
|
||||
<description>ADTF Common Description File</description>\n \
|
||||
<ext_declaration key=\"AnyKey\" value=\"Any value for this key\"/> \
|
||||
<ext_declaration key=\"AnyKey2\" value=\"Any value for this key2\"/> \
|
||||
</header>\n \
|
||||
<datatypes /> \
|
||||
<structs /> \
|
||||
<streams /> \
|
||||
</adtf:ddl>";
|
||||
|
||||
|
||||
static const std::string DDL_TEST_STRING_USER_BASE_UNITS =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<header>\n \
|
||||
<language_version>3.0</language_version>\n \
|
||||
<author>AUDI Electronics Venture GmbH</author>\n \
|
||||
<date_creation>20100407</date_creation>\n \
|
||||
<date_change />\n \
|
||||
<description>ADTF Common Description File</description>\n \
|
||||
</header>\n \
|
||||
<units> \
|
||||
<baseunit description=\"test\" name=\"UNIT_HZ\" symbol=\"Hz\" /> \
|
||||
</units> \
|
||||
<datatypes>\n \
|
||||
<datatype description=\"predefined ADTF tUInt8 datatype\" size=\"8\" name=\"tUInt8\" />\n \
|
||||
</datatypes>\n \
|
||||
<structs> \
|
||||
<struct name=\"test_struct\" version=\"1\" > \
|
||||
<element name=\"test\" unit=\"UNIT_HZ\" alignment=\"1\" bytepos=\"0\" arraysize=\"1\" byteorder=\"BE\" type=\"tUInt8\" /> \
|
||||
</struct> \
|
||||
</structs> \
|
||||
<streams /> \
|
||||
</adtf:ddl>";
|
||||
|
||||
static const std::string DDL_TEST_STRING_STREAM_TO_PREFIX =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\
|
||||
<header>\
|
||||
<language_version>1.02</language_version>\
|
||||
<author>AUDI Electronics Venture GmbH</author>\
|
||||
<date_creation>07.04.2010</date_creation>\
|
||||
<date_change>03.04.2014</date_change>\
|
||||
<description>ADTF Common Description File</description>\
|
||||
</header>\
|
||||
<units>\
|
||||
<baseunit description=\"this is the no unit class\" name=\"nou\" symbol=\"\" />\
|
||||
<prefixes name=\"TestPrefix\" power=\"1\" symbol=\"p\" />\
|
||||
<unit name=\"TestUnit\">\
|
||||
<numerator>1</numerator>\
|
||||
<denominator>1</denominator>\
|
||||
<offset>1.000000</offset>\
|
||||
<refUnit name=\"nou\" power=\"1\" prefix=\"TestPrefix\" />\
|
||||
</unit>\
|
||||
</units>\
|
||||
<datatypes>\
|
||||
<datatype description=\"predefined ADTF tBool datatype\" name=\"tBool\" size=\"8\" />\
|
||||
<datatype description=\"predefined ADTF tChar datatype\" name=\"tChar\" size=\"8\" />\
|
||||
<datatype description=\"predefined ADTF tUInt8 datatype\" name=\"tUInt8\" size=\"8\" />\
|
||||
<datatype description=\"predefined ADTF tInt8 datatype\" name=\"tInt8\" size=\"8\" />\
|
||||
<datatype description=\"predefined ADTF tUInt16 datatype\" name=\"tUInt16\" size=\"16\" />\
|
||||
<datatype description=\"predefined ADTF tInt16 datatype\" name=\"tInt16\" size=\"16\" />\
|
||||
<datatype description=\"predefined ADTF tUInt32 datatype\" name=\"tUInt32\" size=\"32\" />\
|
||||
<datatype description=\"predefined ADTF tInt32 datatype\" name=\"tInt32\" size=\"32\" />\
|
||||
<datatype description=\"predefined ADTF tUInt64 datatype\" name=\"tUInt64\" size=\"64\" />\
|
||||
<datatype description=\"predefined ADTF tInt64 datatype\" name=\"tInt64\" size=\"64\" />\
|
||||
<datatype description=\"predefined ADTF tFloat32 datatype\" name=\"tFloat32\" size=\"32\" />\
|
||||
<datatype description=\"predefined ADTF tFloat64 datatype\" name=\"tFloat64\" size=\"64\" />\
|
||||
</datatypes>\
|
||||
<enums />\
|
||||
<structs>\
|
||||
<struct alignment=\"1\" name=\"tSimpleStruct\" version=\"1\">\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui8Val\" type=\"tUInt8\" />\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"1\" name=\"ui16Val\" type=\"tUInt16\" />\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"3\" name=\"ui32Val\" type=\"tUInt32\" />\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"7\" name=\"i32Val\" type=\"tInt32\" />\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"11\" name=\"i64Val\" type=\"tInt64\" />\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"19\" name=\"f64Val\" type=\"tFloat64\" />\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"27\" name=\"f32Val\" type=\"tFloat32\" />\
|
||||
</struct>\
|
||||
<struct alignment=\"1\" name=\"tHeaderStruct\" version=\"1\">\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32HeaderVal\" type=\"tUInt32\" />\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"f64HeaderVal\" type=\"tFloat64\" />\
|
||||
</struct>\
|
||||
<struct alignment=\"1\" name=\"tNestedStruct\" version=\"1\">\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"sHeaderStruct\" type=\"tHeaderStruct\" unit=\"TestUnit\" />\
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"12\" name=\"sSimpleStruct\" type=\"tSimpleStruct\" />\
|
||||
</struct> \
|
||||
</structs>\
|
||||
<streams>\
|
||||
<stream name=\"a\" type=\"tNestedStruct\" />\
|
||||
</streams>\
|
||||
</adtf:ddl>\
|
||||
";
|
||||
|
||||
#endif
|
956
test/headerrepresentation/src/tester_headerrepresentation.cpp
Normal file
956
test/headerrepresentation/src/tester_headerrepresentation.cpp
Normal file
|
@ -0,0 +1,956 @@
|
|||
/**
|
||||
*
|
||||
* Test functions for <template>
|
||||
*
|
||||
* @file
|
||||
* Copyright © Audi Electronics Venture GmbH. All rights reserved
|
||||
*
|
||||
* $Author$
|
||||
* $Date$
|
||||
* $Revision$
|
||||
*
|
||||
* @remarks
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ddl.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include "../../_common/adtf_compat.h"
|
||||
#include "../../_common/compat.h"
|
||||
#include "ddl_definitions.h"
|
||||
#include "header_importer.h"
|
||||
#include "header_header.h"
|
||||
#include "header_printer.h"
|
||||
#include "header_to_ddl_converter.h"
|
||||
#include "ddl_to_header_converter.h"
|
||||
|
||||
using namespace ddl;
|
||||
#ifdef WIN32
|
||||
#pragma warning(disable : 4355) // 'this' used in initializer list
|
||||
#endif
|
||||
|
||||
#define LOG_POS LOG_INFO(a_util::strings::format("Starting Test '%s' (Line %d)", __FUNCTION__, __LINE__).c_str());
|
||||
|
||||
HeaderTypesVec* m_pVecADTFTypes;
|
||||
|
||||
const ddl::HeaderType* getType(const char* strName)
|
||||
{
|
||||
for (ddl::HeaderTypesVec::const_iterator pIter = m_pVecADTFTypes->begin(); pIter != m_pVecADTFTypes->end(); pIter++)
|
||||
{
|
||||
if ((*pIter)->getName().compare(strName) == 0)
|
||||
{
|
||||
return (*pIter);
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void TestHeader(ddl::Header* pHeader, const char* strName, size_t szStructs, size_t szTypedefs, size_t szConstants)
|
||||
{
|
||||
ASSERT_TRUE(pHeader);
|
||||
ASSERT_TRUE(pHeader->getName().compare(strName) == 0);
|
||||
ASSERT_TRUE(pHeader->getStructs().size() == szStructs);
|
||||
ASSERT_TRUE(pHeader->getTypedefs().size() == szTypedefs);
|
||||
ASSERT_TRUE(pHeader->getConstants().size() == szConstants);
|
||||
}
|
||||
|
||||
void TestStruct(Header* pHeader, size_t szStructIndex, size_t szElements, bool bCanContainMoreElements /* = false */)
|
||||
{
|
||||
ASSERT_TRUE(pHeader);
|
||||
ASSERT_TRUE(pHeader->getStructs().size() > szStructIndex);
|
||||
HeaderStruct* pStruct = pHeader->getStructs()[szStructIndex];
|
||||
ASSERT_TRUE(pStruct);
|
||||
if (bCanContainMoreElements)
|
||||
{
|
||||
ASSERT_TRUE(pStruct->getElements().size() >= szElements);
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT_TRUE(pStruct->getElements().size() == szElements);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TestStruct(Header* pHeader, size_t szStructIndex, size_t szElements, const char* strName, size_t szPacking, bool bCanContainMoreElements = false)
|
||||
{
|
||||
TestStruct(pHeader, szStructIndex, szElements, bCanContainMoreElements);
|
||||
ASSERT_TRUE(pHeader->getStructs().size() > 0);
|
||||
HeaderStruct* pStruct = pHeader->getStructs()[szStructIndex];
|
||||
ASSERT_TRUE(pStruct->getName().compare(strName) == 0);
|
||||
size_t test = pStruct->getPacking();
|
||||
size_t test2 = szPacking;
|
||||
ASSERT_TRUE(pStruct->getPacking() == szPacking);
|
||||
}
|
||||
|
||||
void TestStructElement(Header* pHeader, size_t szStructIndex, size_t szElementIndex, const HeaderType *pType, const char* strName, size_t szArraySize)
|
||||
{
|
||||
TestStruct(pHeader, szStructIndex, szElementIndex, true);
|
||||
ASSERT_TRUE(pHeader->getStructs().size() > 0);
|
||||
HeaderStruct* pStruct = pHeader->getStructs()[szStructIndex];
|
||||
HeaderStructElement* pElement = pStruct->getElements()[szElementIndex];
|
||||
ASSERT_TRUE(pElement);
|
||||
ASSERT_TRUE(pElement->getType() == pType);
|
||||
ASSERT_TRUE(pElement->getName().compare(strName) == 0);
|
||||
ASSERT_TRUE(pElement->getArraySize() == szArraySize);
|
||||
}
|
||||
|
||||
void TestTypedef(Header* pHeader, size_t szTypedefIndex, const HeaderType* pOriginalType, const char* strName, size_t szPacking)
|
||||
{
|
||||
ASSERT_TRUE(pHeader);
|
||||
ASSERT_TRUE(pHeader->getTypedefs().size() > szTypedefIndex);
|
||||
HeaderTypedef* pTypedef = pHeader->getTypedefs()[szTypedefIndex];
|
||||
ASSERT_TRUE(pTypedef);
|
||||
ASSERT_TRUE(pTypedef->getOriginalType() == pOriginalType);
|
||||
ASSERT_TRUE(pTypedef->getName().compare(strName) == 0);
|
||||
ASSERT_TRUE(pTypedef->getPacking() == szPacking);
|
||||
}
|
||||
|
||||
void TestConstant(Header* pHeader, size_t szConstantIndex, const HeaderType* pType, int64_t i64Value, const char* strName)
|
||||
{
|
||||
ASSERT_TRUE(pHeader);
|
||||
ASSERT_TRUE(pHeader->getConstants().size() > szConstantIndex);
|
||||
HeaderConstant* pConstant = pHeader->getConstants()[szConstantIndex];
|
||||
ASSERT_TRUE(pConstant);
|
||||
ASSERT_TRUE(pConstant->getName().compare(strName) == 0);
|
||||
ASSERT_TRUE(pConstant->getType() == pType);
|
||||
ASSERT_TRUE(pConstant->asInt64() == i64Value);
|
||||
}
|
||||
|
||||
void TestDDL(DDLDescription* pDescription, const a_util::filesystem::Path &oReferenceFile)
|
||||
{
|
||||
DDLPrinter oPrinter;
|
||||
pDescription->accept(&oPrinter);
|
||||
std::string strXML = oPrinter.getXML();
|
||||
ASSERT_TRUE(strXML.find("description") != std::string::npos);
|
||||
ASSERT_TRUE(pDescription->getHeader()->getLanguageVersion() == ddl::DDLVersion::ddl_version_40);
|
||||
ASSERT_TRUE(pDescription->getBaseunits().size() > 0);
|
||||
ASSERT_TRUE(pDescription->getDatatypes().size() > 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void test_set_up()
|
||||
{
|
||||
m_pVecADTFTypes = HeaderImporter::getDefaultTypes();
|
||||
}
|
||||
|
||||
void test_tear_down()
|
||||
{
|
||||
if (m_pVecADTFTypes)
|
||||
{
|
||||
for (HeaderTypesVec::iterator pIter = m_pVecADTFTypes->begin(); pIter != m_pVecADTFTypes->end(); pIter++)
|
||||
{
|
||||
delete *pIter;
|
||||
}
|
||||
delete m_pVecADTFTypes;
|
||||
m_pVecADTFTypes = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
struct Testinitializer
|
||||
{
|
||||
Testinitializer()
|
||||
{
|
||||
test_set_up();
|
||||
}
|
||||
~Testinitializer()
|
||||
{
|
||||
test_tear_down();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that basic structures can be read.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
SimpleHeaders)
|
||||
{
|
||||
TEST_REQ("");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oHeaderImporter.setFileName("files/simple_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
|
||||
TestHeader(pHeader, "simple_header.h", 3, 1, 0);
|
||||
|
||||
TestStruct(pHeader, 0, 1, "simple_struct1", getType("uint8_t")->getPacking());
|
||||
TestStructElement(pHeader, 0, 0, getType("uint8_t"), "a", 1);
|
||||
|
||||
TestStruct(pHeader, 1, 1, "simple_struct2", getType("tUInt16")->getPacking());
|
||||
TestStructElement(pHeader, 1, 0, getType("tUInt16"), "b", 1);
|
||||
|
||||
TestStruct(pHeader, 2, 1, "simple_struct3", getType("unsigned int")->getPacking());
|
||||
TestStructElement(pHeader, 2, 0, getType("unsigned int"), "c", 1);
|
||||
|
||||
if (pHeader->getStructs().size() >= 2)
|
||||
{
|
||||
TestTypedef(pHeader, 0, pHeader->getStructs()[2], "simple_struct4", pHeader->getStructs()[2]->getPacking());
|
||||
}
|
||||
|
||||
delete pHeader;
|
||||
TearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure typedefs can be read.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
Typedefs)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oHeaderImporter.setFileName("files/typedef_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
|
||||
TestHeader(pHeader, "typedef_header.h", 0, 5, 0);
|
||||
|
||||
TestTypedef(pHeader, 0, getType("tUInt32"), "UINT_32", getType("tUInt32")->getPacking());
|
||||
TestTypedef(pHeader, 1, getType("tUInt16"), "UINT_16", getType("tUInt16")->getPacking());
|
||||
TestTypedef(pHeader, 2, getType("tUInt64"), "UINT_64", getType("tUInt64")->getPacking());
|
||||
|
||||
if (pHeader->getTypedefs().size() >= 3)
|
||||
{
|
||||
TestTypedef(pHeader, 3, pHeader->getTypedefs()[2], "uint64", getType("tUInt64")->getPacking());
|
||||
TestTypedef(pHeader, 4, pHeader->getTypedefs()[3], "supergross", getType("tUInt64")->getPacking());
|
||||
}
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that constants can be read.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
Constants)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/constants_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
|
||||
TestHeader(pHeader, "constants_header.h", 0, 0, 2);
|
||||
|
||||
TestConstant(pHeader, 0, getType("tInt16"), 42, "d");
|
||||
TestConstant(pHeader, 1, getType("tInt32"), 43, "e");
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that defines can be read.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
Defines)
|
||||
{
|
||||
TEST_REQ("ACORE-6822, ACORE-7188");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/defines_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
|
||||
TestHeader(pHeader, "defines_header.h", 0, 0, 7);
|
||||
TestConstant(pHeader, 0, getType("tUInt64"), 5, "FIRST_CONSTANT");
|
||||
TestConstant(pHeader, 1, getType("tUInt64"), 6, "OTHER_CONSTANT");
|
||||
TestConstant(pHeader, 2, getType("tUInt64"), 7, "LAST_CONSTANT");
|
||||
TestConstant(pHeader, 3, getType("tUInt64"), 32, "RDB_SIZE_OBJECT_NAME");
|
||||
TestConstant(pHeader, 4, getType("tUInt64"), 64, "RDB_SIZE_SCP_NAME");
|
||||
TestConstant(pHeader, 5, getType("tUInt64"), 1024, "RDB_SIZE_FILENAME");
|
||||
TestConstant(pHeader, 6, getType("tUInt64"), 8, "RDB_SIZE_TRLIGHT_PHASES");
|
||||
|
||||
delete pHeader;
|
||||
|
||||
// Now check if a explicitly set default type is used
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setDefaultIntegerType(getType("tUInt32")));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
pHeader = oHeaderImporter.getHeader();
|
||||
|
||||
TestHeader(pHeader, "defines_header.h", 0, 0, 7);
|
||||
TestConstant(pHeader, 0, getType("tUInt32"), 5, "FIRST_CONSTANT");
|
||||
TestConstant(pHeader, 1, getType("tUInt32"), 6, "OTHER_CONSTANT");
|
||||
TestConstant(pHeader, 2, getType("tUInt32"), 7, "LAST_CONSTANT");
|
||||
TestConstant(pHeader, 3, getType("tUInt32"), 32, "RDB_SIZE_OBJECT_NAME");
|
||||
TestConstant(pHeader, 4, getType("tUInt32"), 64, "RDB_SIZE_SCP_NAME");
|
||||
TestConstant(pHeader, 5, getType("tUInt32"), 1024, "RDB_SIZE_FILENAME");
|
||||
TestConstant(pHeader, 6, getType("tUInt32"), 8, "RDB_SIZE_TRLIGHT_PHASES");
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that wrong structures, typedefs and defines not parsed.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
FaultyHeader)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
// Correct defines will be ignored
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/faulty_header1.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
TestHeader(pHeader, "faulty_header1.h", 0, 0, 0);
|
||||
delete pHeader;
|
||||
|
||||
// Unnamed struct
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/faulty_header2.h"));
|
||||
ASSERT_NE(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
pHeader = oHeaderImporter.getHeader();
|
||||
delete pHeader;
|
||||
|
||||
// Member has unknown type
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/faulty_header3.h"));
|
||||
ASSERT_NE(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
pHeader = oHeaderImporter.getHeader();
|
||||
delete pHeader;
|
||||
|
||||
// Unnamed struct
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/faulty_header4.h"));
|
||||
ASSERT_NE(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
pHeader = oHeaderImporter.getHeader();
|
||||
delete pHeader;
|
||||
|
||||
// Weird typedefs
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/faulty_header5.h"));
|
||||
ASSERT_NE(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
pHeader = oHeaderImporter.getHeader();
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that wrong settings will lead to structures,
|
||||
* typedefs and defines not being parsed.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
FaultySettings)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
// Test if define will not be parsed when no default type is set and tUInt64 is not a known type
|
||||
// Remove tUInt64 from known types
|
||||
for (ddl::HeaderTypesVec::iterator pIter = m_pVecADTFTypes->begin(); pIter != m_pVecADTFTypes->end(); pIter++)
|
||||
{
|
||||
if ((*pIter)->getName().compare("tUInt64") == 0)
|
||||
{
|
||||
delete *pIter;
|
||||
m_pVecADTFTypes->erase(pIter);
|
||||
break;
|
||||
}
|
||||
}
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/defines_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setDefaultIntegerType(NULL));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
TestHeader(pHeader, "defines_header.h", 0, 0, 0);
|
||||
delete pHeader;
|
||||
// Check importer with faulty filename
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/does_not_exist_header.h"));
|
||||
ASSERT_TRUE(a_util::result::isFailed(oHeaderImporter.createNew()));
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that comments in and around structures,
|
||||
* typedefs and defines will be ignored and everything is parsed successfully.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
CommentedHeader)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/commented_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
TestHeader(pHeader, "commented_header.h", 3, 3, 3);
|
||||
|
||||
//Check structures
|
||||
TestStruct(pHeader, 0, 1, "simple_struct1", getType("tUInt8")->getPacking());
|
||||
TestStructElement(pHeader, 0, 0, getType("tUInt8"), "a", 1);
|
||||
|
||||
TestStruct(pHeader, 1, 1, "simple_struct2", getType("tUInt16")->getPacking());
|
||||
TestStructElement(pHeader, 1, 0, getType("tUInt16"), "b", 1);
|
||||
|
||||
TestStruct(pHeader, 2, 1, "simple_struct3", getType("tUInt32")->getPacking());
|
||||
TestStructElement(pHeader, 2, 0, getType("tUInt32"), "c", 1);
|
||||
|
||||
// Check typedefs
|
||||
TestTypedef(pHeader, 0, getType("tUInt32"), "UINT_32", getType("tUInt32")->getPacking());
|
||||
TestTypedef(pHeader, 1, getType("tUInt16"), "UINT_16", getType("tUInt16")->getPacking());
|
||||
if (pHeader->getStructs().size() >= 2)
|
||||
{
|
||||
TestTypedef(pHeader, 2, pHeader->getStructs()[2], "simple_struct4", pHeader->getStructs()[2]->getPacking());
|
||||
}
|
||||
|
||||
// Check constants
|
||||
TestConstant(pHeader, 0, getType("tInt16"), 42, "d");
|
||||
TestConstant(pHeader, 1, getType("tInt32"), 43, "e");
|
||||
TestConstant(pHeader, 2, getType("tUInt64"), 6, "constant1");
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that complex (nested) structures can be parsed successfully.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ComplexStructs)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/complex_header.h"));
|
||||
ASSERT_TRUE(a_util::result::isOk(oHeaderImporter.setKnownTypes(m_pVecADTFTypes)));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setDefaultIntegerType(NULL));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
|
||||
TestHeader(pHeader, "complex_header.h", 5, 1, 0);
|
||||
|
||||
TestStruct(pHeader, 0, 1, "simple_struct1", getType("tUInt8")->getPacking());
|
||||
TestStructElement(pHeader, 0, 0, getType("tUInt8"), "a", 1);
|
||||
|
||||
TestStruct(pHeader, 1, 1, "simple_struct2", getType("tUInt16")->getPacking());
|
||||
TestStructElement(pHeader, 1, 0, getType("tUInt16"), "b", 1);
|
||||
|
||||
TestStruct(pHeader, 2, 1, "simple_struct3", getType("tUInt32")->getPacking());
|
||||
TestStructElement(pHeader, 2, 0, getType("tUInt32"), "c", 1);
|
||||
|
||||
if (pHeader->getStructs().size() >= 2)
|
||||
{
|
||||
TestStruct(pHeader, 3, 3, "complex_struct1", pHeader->getStructs()[2]->getPacking());
|
||||
TestStructElement(pHeader, 3, 0, getType("tUInt16"), "a", 1);
|
||||
TestStructElement(pHeader, 3, 1, pHeader->getStructs()[0], "b", 1);
|
||||
TestStructElement(pHeader, 3, 2, pHeader->getStructs()[2], "c", 1);
|
||||
|
||||
TestStruct(pHeader, 4, 3, "complex_struct2", pHeader->getStructs()[2]->getPacking());
|
||||
TestStructElement(pHeader, 4, 0, pHeader->getStructs()[0], "d", 1);
|
||||
TestStructElement(pHeader, 4, 1, pHeader->getStructs()[2], "e", 1);
|
||||
TestStructElement(pHeader, 4, 2, pHeader->getStructs()[3], "f", 1);
|
||||
|
||||
TestTypedef(pHeader, 0, pHeader->getStructs()[2], "simple_struct4", pHeader->getStructs()[2]->getPacking());
|
||||
}
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that structures containing array elements can be parsed successfully.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ArrayStructs)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/array_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setDefaultIntegerType(NULL));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
|
||||
TestHeader(pHeader, "array_header.h", 4, 0, 2);
|
||||
TestConstant(pHeader, 0, getType("tUInt64"), 8, "count1");
|
||||
TestConstant(pHeader, 1, getType("tUInt8"), 9, "count2");
|
||||
|
||||
TestStruct(pHeader, 0, 1, "simple_array_struct", getType("tUInt8")->getPacking());
|
||||
TestStructElement(pHeader, 0, 0, getType("tUInt8"), "a", 5);
|
||||
|
||||
TestStruct(pHeader, 1, 1, "simple_struct1", getType("tUInt8")->getPacking());
|
||||
TestStructElement(pHeader, 1, 0, getType("tUInt8"), "b", 1);
|
||||
|
||||
TestStruct(pHeader, 2, 5, "complex_array_struct1", getType("tUInt8")->getPacking());
|
||||
TestStructElement(pHeader, 2, 0, getType("tUInt8"), "c", 1);
|
||||
|
||||
if (pHeader->getStructs().size() >= 1)
|
||||
{
|
||||
TestStructElement(pHeader, 2, 1, pHeader->getStructs()[1], "d", 1);
|
||||
TestStructElement(pHeader, 2, 2, pHeader->getStructs()[0], "f", 1);
|
||||
TestStructElement(pHeader, 2, 3, pHeader->getStructs()[1], "g", 6);
|
||||
TestStructElement(pHeader, 2, 4, pHeader->getStructs()[0], "h", 7);
|
||||
|
||||
TestStruct(pHeader, 3, 5, "complex_array_struct2", getType("tUInt8")->getPacking());
|
||||
TestStructElement(pHeader, 3, 0, getType("tUInt8"), "i", 8);
|
||||
TestStructElement(pHeader, 3, 1, pHeader->getStructs()[1], "j", 1);
|
||||
TestStructElement(pHeader, 3, 2, pHeader->getStructs()[0], "k", 1);
|
||||
TestStructElement(pHeader, 3, 3, pHeader->getStructs()[1], "l", 9);
|
||||
TestStructElement(pHeader, 3, 4, pHeader->getStructs()[0], "m", 10);
|
||||
}
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that the packing information stated by #pragma pack can be parsed successfully.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
StructsPacking)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/packing_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setDefaultIntegerType(NULL));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
|
||||
TestHeader(pHeader, "packing_header.h", 5, 1, 0);
|
||||
|
||||
TestStruct(pHeader, 0, 1, "simple_struct1", getType("tUInt8")->getPacking());
|
||||
TestStructElement(pHeader, 0, 0, getType("tUInt8"), "a", 1);
|
||||
|
||||
TestStruct(pHeader, 1, 1, "simple_struct2", 1);
|
||||
TestStructElement(pHeader, 1, 0, getType("tUInt16"), "b", 1);
|
||||
|
||||
TestStruct(pHeader, 2, 1, "simple_struct3", 2);
|
||||
TestStructElement(pHeader, 2, 0, getType("tUInt32"), "c", 1);
|
||||
|
||||
TestStruct(pHeader, 3, 1, "simple_struct5", 2);
|
||||
TestStructElement(pHeader, 3, 0, getType("tUInt64"), "d", 1);
|
||||
|
||||
TestStruct(pHeader, 4, 1, "simple_struct6", 1);
|
||||
TestStructElement(pHeader, 4, 0, getType("tUInt64"), "e", 1);
|
||||
|
||||
if (pHeader->getStructs().size() >= 2)
|
||||
{
|
||||
TestTypedef(pHeader, 0, pHeader->getStructs()[2], "simple_struct4", pHeader->getStructs()[2]->getPacking());
|
||||
}
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a simple header can be printed.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
PrintSimpleHeaders)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/simple_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderPrinter oPrinter;
|
||||
pHeader->accept(&oPrinter);
|
||||
std::string strExpected;
|
||||
a_util::filesystem::readTextFile(a_util::filesystem::Path("files/simple_header_expected.h"), strExpected);
|
||||
strExpected.erase(std::remove(strExpected.begin(), strExpected.end(), '\r'), strExpected.end());
|
||||
std::string test = oPrinter.getHeader();
|
||||
ASSERT_TRUE(strExpected.compare(oPrinter.getHeader()) == 0);
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a complex header can be printed.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
PrintComplexStructs)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/complex_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderPrinter oPrinter;
|
||||
pHeader->accept(&oPrinter);
|
||||
std::string strExpected;
|
||||
a_util::filesystem::readTextFile(a_util::filesystem::Path("files/complex_header_expected.h"), strExpected);
|
||||
strExpected.erase(std::remove(strExpected.begin(), strExpected.end(), '\r'), strExpected.end());
|
||||
ASSERT_TRUE(strExpected.compare(oPrinter.getHeader()) == 0);
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a header with arrays can be printed.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
PrintArrayStructs)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/array_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderPrinter oPrinter;
|
||||
pHeader->accept(&oPrinter);
|
||||
std::string strExpected;
|
||||
a_util::filesystem::readTextFile(a_util::filesystem::Path("files/array_header_expected.h"), strExpected);
|
||||
strExpected.erase(std::remove(strExpected.begin(), strExpected.end(), '\r'), strExpected.end());
|
||||
ASSERT_TRUE(strExpected.compare(oPrinter.getHeader()) == 0);
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a header with packing can be printed.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
PrintPackingStructs)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/packing_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderPrinter oPrinter;
|
||||
pHeader->accept(&oPrinter);
|
||||
std::string strExpected;
|
||||
a_util::filesystem::readTextFile(a_util::filesystem::Path("files/packing_header_expected.h"), strExpected);
|
||||
strExpected.erase(std::remove(strExpected.begin(), strExpected.end(), '\r'), strExpected.end());
|
||||
ASSERT_TRUE(strExpected.compare(oPrinter.getHeader()) == 0);
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a header with typedefs can be printed.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
PrintTypedefs)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/typedef_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderPrinter oPrinter;
|
||||
pHeader->accept(&oPrinter);
|
||||
std::string strExpected;
|
||||
a_util::filesystem::readTextFile(a_util::filesystem::Path("files/typedef_header_expected.h"), strExpected);
|
||||
strExpected.erase(std::remove(strExpected.begin(), strExpected.end(), '\r'), strExpected.end());
|
||||
ASSERT_TRUE(strExpected.compare(oPrinter.getHeader()) == 0);
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a simple header can be converted to DDL.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertSimpleHeaderToDDL)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/simple_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderToDDLConverter oConverter;
|
||||
pHeader->accept(&oConverter);
|
||||
oConverter.createNew();
|
||||
TestDDL(oConverter.getDDL(), a_util::filesystem::Path("files/simple_header_expected.description"));
|
||||
|
||||
delete pHeader;
|
||||
delete oConverter.getDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a complex header can be converted to DDL.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertComplexHeaderToDDL)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/complex_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderToDDLConverter oConverter;
|
||||
pHeader->accept(&oConverter);
|
||||
oConverter.createNew();
|
||||
TestDDL(oConverter.getDDL(), a_util::filesystem::Path("files/complex_header_expected.description"));
|
||||
|
||||
delete pHeader;
|
||||
delete oConverter.getDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a header with array information can be converted to DDL.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertArrayHeaderToDDL)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/array_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderToDDLConverter oConverter;
|
||||
pHeader->accept(&oConverter);
|
||||
oConverter.createNew();
|
||||
TestDDL(oConverter.getDDL(), a_util::filesystem::Path("files/array_header_expected.description"));
|
||||
|
||||
delete pHeader;
|
||||
delete oConverter.getDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a header with packing information can be converted to DDL.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertPackingHeaderToDDL)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/packing_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderToDDLConverter oConverter;
|
||||
pHeader->accept(&oConverter);
|
||||
oConverter.createNew();
|
||||
TestDDL(oConverter.getDDL(), a_util::filesystem::Path("files/packing_header_expected.description"));
|
||||
|
||||
delete pHeader;
|
||||
delete oConverter.getDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a VTD RDB header with can be converted to DDL.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertRDBHeaderToDDL)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/viRDBIcd.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderToDDLConverter oConverter;
|
||||
pHeader->accept(&oConverter);
|
||||
oConverter.createNew();
|
||||
TestDDL(oConverter.getDDL(), a_util::filesystem::Path("files/viRDBIcd_expected.description"));
|
||||
|
||||
delete pHeader;
|
||||
delete oConverter.getDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that a single struct and its dependencies can be converted to DDL.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertStructToDDL)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/complex_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderToDDLConverter oConverter;
|
||||
TestHeader(pHeader, "complex_header.h", 5, 1, 0);
|
||||
if (pHeader->getStructs().size() >= 4)
|
||||
{
|
||||
pHeader->getStructs()[4]->accept(&oConverter);
|
||||
}
|
||||
oConverter.createNew();
|
||||
TestDDL(oConverter.getDDL(), a_util::filesystem::Path("files/complex_struct2_expected.description"));
|
||||
delete pHeader;
|
||||
delete oConverter.getDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that multiple structures and its dependencies can be converted to DDL.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertTwoStructsToDDL)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/viRDBIcd.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
HeaderToDDLConverter oConverter;
|
||||
TestHeader(pHeader, "viRDBIcd.h", 55, 0, 221);
|
||||
if (pHeader->getStructs().size() >= 24)
|
||||
{
|
||||
pHeader->getStructs()[10]->accept(&oConverter);
|
||||
pHeader->getStructs()[24]->accept(&oConverter);
|
||||
}
|
||||
oConverter.createNew();
|
||||
TestDDL(oConverter.getDDL(), a_util::filesystem::Path("files/viRDBIcd_extract_expected.description"));
|
||||
delete pHeader;
|
||||
delete oConverter.getDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that simple DDL structures can be converted to a header.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertSimpleStructsToHeader)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
DDLImporter oImporter(true, false);
|
||||
oImporter.setFile("files/adtf2.description");
|
||||
oImporter.createNew();
|
||||
DDLToHeaderConverter oConverter;
|
||||
oConverter.setKnownTypes(m_pVecADTFTypes);
|
||||
ASSERT_TRUE(oImporter.getDDL());
|
||||
oImporter.getDDL()->accept(&oConverter);
|
||||
oConverter.createNew();
|
||||
oConverter.getHeader();
|
||||
Header* pHeader = oConverter.getHeader();
|
||||
HeaderPrinter oPrinter;
|
||||
pHeader->accept(&oPrinter);
|
||||
std::string strExpected;
|
||||
a_util::filesystem::readTextFile(a_util::filesystem::Path("files/adtf_expected.h"), strExpected);
|
||||
strExpected.erase(std::remove(strExpected.begin(), strExpected.end(), '\r'), strExpected.end());
|
||||
ASSERT_TRUE(strExpected.compare(oPrinter.getHeader()) == 0);
|
||||
delete pHeader;
|
||||
oImporter.destroyDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that complex DDL structures can be converted to a header.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertComplexStructsToHeader)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
DDLImporter oImporter(true, false);
|
||||
oImporter.setFile("files/viRDBIcd_expected.description");
|
||||
oImporter.createNew();
|
||||
DDLToHeaderConverter oConverter;
|
||||
oConverter.setKnownTypes(m_pVecADTFTypes);
|
||||
ASSERT_TRUE(oImporter.getDDL());
|
||||
oImporter.getDDL()->accept(&oConverter);
|
||||
oConverter.createNew();
|
||||
oConverter.getHeader();
|
||||
Header* pHeader = oConverter.getHeader();
|
||||
HeaderPrinter oPrinter;
|
||||
pHeader->accept(&oPrinter);
|
||||
std::string strExpected;
|
||||
a_util::filesystem::readTextFile(a_util::filesystem::Path("files/viRDBIcd_expected.h"), strExpected);
|
||||
strExpected.erase(std::remove(strExpected.begin(), strExpected.end(), '\r'), strExpected.end());
|
||||
ASSERT_TRUE(strExpected.compare(oPrinter.getHeader()) == 0);
|
||||
delete pHeader;
|
||||
oImporter.destroyDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that selected DDL structures can be converted to a header.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
ConvertTwoStructsToHeader)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
DDLImporter oImporter;
|
||||
oImporter.setFile("files/viRDBIcd_expected.description");
|
||||
oImporter.createNew();
|
||||
DDLToHeaderConverter oConverter;
|
||||
oConverter.setKnownTypes(m_pVecADTFTypes);
|
||||
ASSERT_TRUE(oImporter.getDDL());
|
||||
oImporter.getDDL()->getStructByName("RDB_DRIVETRAIN_t")->accept(&oConverter);
|
||||
oImporter.getDDL()->getStructByName("RDB_SENSOR_STATE_t")->accept(&oConverter);
|
||||
oConverter.createNew();
|
||||
oConverter.getHeader();
|
||||
Header* pHeader = oConverter.getHeader();
|
||||
HeaderPrinter oPrinter;
|
||||
pHeader->accept(&oPrinter);
|
||||
std::string strExpected;
|
||||
a_util::filesystem::readTextFile(a_util::filesystem::Path("files/viRDBIcd_extract_expected.h"), strExpected);
|
||||
strExpected.erase(std::remove(strExpected.begin(), strExpected.end(), '\r'), strExpected.end());
|
||||
ASSERT_TRUE(strExpected.compare(oPrinter.getHeader()) == 0);
|
||||
delete pHeader;
|
||||
oImporter.destroyDDL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail This test makes sure that the default types defined in the importer have the correct packing.
|
||||
*/
|
||||
TEST(cTesterHeaderRepresentation,
|
||||
CheckDefaultTypes)
|
||||
{
|
||||
TEST_REQ("ACORE-6822");
|
||||
|
||||
Testinitializer oTestSetup;
|
||||
// Check default types
|
||||
#ifdef __ADTF_WIN32
|
||||
ASSERT_TRUE(getType("float")->getPacking() == 8);
|
||||
#endif
|
||||
#ifdef __ADTF_WIN64
|
||||
ASSERT_TRUE(getType("float")->getPacking() == 8);
|
||||
#endif
|
||||
#ifdef __ADTF_LINUX32
|
||||
ASSERT_TRUE(getType("float")->getPacking() == 4);
|
||||
#endif
|
||||
#ifdef __ADTF_LINUX64
|
||||
ASSERT_TRUE(getType("float")->getPacking() == 8);
|
||||
#endif
|
||||
// Check default packing (no #pragma pack stated)
|
||||
HeaderImporter oHeaderImporter;
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setFileName("files/default_types_header.h"));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.setKnownTypes(m_pVecADTFTypes));
|
||||
ASSERT_EQ(a_util::result::SUCCESS,oHeaderImporter.createNew());
|
||||
Header* pHeader = oHeaderImporter.getHeader();
|
||||
|
||||
TestHeader(pHeader, "default_types_header.h", 1, 0, 0);
|
||||
|
||||
#ifdef __GNUC__
|
||||
#ifdef __ADTF32
|
||||
TestStruct(pHeader, 0, 2, "doubles", 4);
|
||||
#endif
|
||||
#ifdef __ADTF64
|
||||
TestStruct(pHeader, 0, 2, "doubles", 8);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef _MSC_VER
|
||||
TestStruct(pHeader, 0, 2, "doubles", getType("double")->getPacking());
|
||||
#endif
|
||||
delete pHeader;
|
||||
}
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue