initial commit for github
This commit is contained in:
commit
60968612de
370 changed files with 68427 additions and 0 deletions
46
test/CMakeLists.txt
Normal file
46
test/CMakeLists.txt
Normal file
|
@ -0,0 +1,46 @@
|
|||
if (NOT ddl_cmake_integrated_tests)
|
||||
project(ddl_tests)
|
||||
# if Conan is used, we have to include the generated file and doing some basic setup
|
||||
if(CONAN_COMPILER)
|
||||
if ( EXISTS ${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
elseif ( EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../conanbuildinfo.cmake)
|
||||
include(${CMAKE_CURRENT_BINARY_DIR}/../conanbuildinfo.cmake)
|
||||
elseif ( EXISTS ${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo_multi.cmake)
|
||||
include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo_multi.cmake)
|
||||
elseif ( EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../conanbuildinfo_multi.cmake)
|
||||
include(${CMAKE_CURRENT_BINARY_DIR}/../conanbuildinfo_multi.cmake)
|
||||
else()
|
||||
message(FATAL_ERROR "Conan build info can't be found.")
|
||||
endif()
|
||||
|
||||
if(CORTEX_WORKSPACE)
|
||||
conan_basic_setup(TARGETS)
|
||||
else()
|
||||
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package(a_util REQUIRED)
|
||||
find_package(ddl REQUIRED)
|
||||
enable_testing()
|
||||
endif ()
|
||||
find_package (Threads)
|
||||
find_package(gtest REQUIRED CONFIG)
|
||||
include(GoogleTest)
|
||||
|
||||
if (WIN32 AND CMAKE_CL_64)
|
||||
add_definitions(-DWIN64)
|
||||
endif()
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
add_subdirectory(_common)
|
||||
add_subdirectory(codec/src)
|
||||
add_subdirectory(ddlrepresentation/src)
|
||||
add_subdirectory(ddlinspector/src)
|
||||
add_subdirectory(mapping/src)
|
||||
add_subdirectory(headerrepresentation/src)
|
||||
|
||||
add_subdirectory(ddlgenerators/src)
|
||||
add_subdirectory(function/api/src)
|
9
test/README.md
Normal file
9
test/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# DDL Library Tests{#mainpage}
|
||||
|
||||
|
||||
# Description
|
||||
|
||||
The Data Defintion Language (DDL) Package provides utilities to handle data descriptions and data defined by these descriptions. This documentation contains all the tests for this package
|
||||
|
||||
|
||||
|
4
test/_common/CMakeLists.txt
Normal file
4
test/_common/CMakeLists.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
# Add compat header files as projetc files when using with target_link_libraries(MyProject compat)
|
||||
add_library(ddl_test_compat INTERFACE)
|
||||
target_sources(ddl_test_compat INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/adtf_compat.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/compat.h)
|
142
test/_common/adtf_compat.h
Normal file
142
test/_common/adtf_compat.h
Normal file
|
@ -0,0 +1,142 @@
|
|||
/**
|
||||
* @file
|
||||
* Compat header containing structs and defines needed for the ddlcoder (mediacoder) test
|
||||
*
|
||||
* @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 _ADTF_TEST_COMPAT_HEADER_
|
||||
#define _ADTF_TEST_COMPAT_HEADER_
|
||||
|
||||
/**
|
||||
* This Macro is the type name of the tCanMessage to describe media samples submitted on a pin (@ref adtf::IPin).
|
||||
* set these description on the Media Type (@ref adtf::IMediaTypeDescription of the IMediatype set on pin).
|
||||
*/
|
||||
#define ADTF_MEDIA_DESC_CANMESSAGE "tCanMessage"
|
||||
|
||||
/**
|
||||
* This Macro defines the description of tCanMessage structure used within ADTF @ref adtf::cMediaSampleCan.
|
||||
* used for @ref ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION in Version 1.0+.
|
||||
*/
|
||||
#define ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION_DDL1 "<struct name=\"" ADTF_MEDIA_DESC_CANMESSAGE "\" alignment=\"1\" version=\"1\">" \
|
||||
" <element type=\"tUInt16\" name=\"ui16Id\" bytepos=\"0\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" <element type=\"tUInt8\" name=\"ui8Channel\" bytepos=\"2\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" <element type=\"tUInt8\" name=\"ui8Length\" bytepos=\"3\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" <element type=\"tUInt8\" name=\"pui8Data\" bytepos=\"4\" arraysize=\"8\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
"</struct>"
|
||||
|
||||
/**
|
||||
* This Macro defines the description of a tCanMessage structure used within ADTF @ref adtf::cMediaSampleCan.
|
||||
* See @ref ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION_DDL1.
|
||||
*/
|
||||
#define ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION ADTF_MEDIA_DESC_CANMESSAGE_DESCRIPTION_DDL1
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/// id of can message
|
||||
std::uint16_t ui16Id;
|
||||
/// channel to send or transmit can data
|
||||
std::uint8_t ui8Channel;
|
||||
/// length of data
|
||||
std::uint8_t ui8Length;
|
||||
/// data field
|
||||
std::uint8_t pui8Data[8];
|
||||
} tCanMessage;
|
||||
|
||||
#define ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL1 " <struct name=\"tMediaTypeInfo\" alignment=\"1\" version=\"1\">" \
|
||||
" <element type=\"tUInt32\" name=\"ui32MajorType\" bytepos=\"0\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" <element type=\"tUInt32\" name=\"ui32SubType\" bytepos=\"4\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" <element type=\"tUInt32\" name=\"ui32Flags\" bytepos=\"8\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" </struct>"
|
||||
|
||||
#define ADTF_MEDIA_DESC_MEDIATYPE_DDL1 "<structs>" \
|
||||
ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL1 \
|
||||
" <struct name=\"" OID_ADTF_MEDIA_TYPE "\" alignment=\"1\" version=\"1\">" \
|
||||
" <element type=\"tMediaTypeInfo\" name=\"mediatype\" bytepos=\"0\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" </struct>" \
|
||||
"</structs>"
|
||||
|
||||
#define ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL2 " <struct name=\"tMediaTypeInfo\" alignment=\"1\" version=\"1\">" \
|
||||
" <element type=\"tUInt32\" name=\"ui32MajorType\" bytepos=\"0\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" <element type=\"tUInt32\" name=\"ui32SubType\" bytepos=\"4\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" <element type=\"tUInt32\" name=\"ui32Flags\" bytepos=\"8\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" </struct>"
|
||||
|
||||
|
||||
#define ADTF_MEDIA_DESC_MEDIATYPE_DDL2 "<structs>" \
|
||||
ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL2 \
|
||||
" <struct name=\"" OID_ADTF_MEDIA_TYPE "\" alignment=\"1\" version=\"1\">" \
|
||||
" <element type=\"tMediaTypeInfo\" name=\"mediatype\" bytepos=\"0\" arraysize=\"1\" byteorder=\"LE\" alignment=\"1\"/>" \
|
||||
" </struct>" \
|
||||
"</structs>"
|
||||
|
||||
#define ADTF_MEDIA_DESC_MEDIA_TYPEINFO ADTF_MEDIA_DESC_MEDIA_TYPEINFO_DDL2
|
||||
#define ADTF_MEDIA_DESC_MEDIATYPE ADTF_MEDIA_DESC_MEDIATYPE_DDL2
|
||||
|
||||
#pragma pack ( push, 1 )
|
||||
typedef struct
|
||||
{
|
||||
///The major type.
|
||||
std::uint32_t ui32MajorType;
|
||||
///The minor sub type.
|
||||
std::uint32_t ui32SubType;
|
||||
///Flags.
|
||||
std::uint32_t ui32Flags;
|
||||
} tMediaTypeInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/// media type information
|
||||
tMediaTypeInfo mediatype;
|
||||
} tADTFCoreMediaType;
|
||||
|
||||
|
||||
#pragma pack ( pop )
|
||||
|
||||
|
||||
class IMediaDescription
|
||||
{
|
||||
public:
|
||||
typedef enum
|
||||
{
|
||||
MDNT_FindOutSelf = 0x00,
|
||||
MDNT_StreamType = 0x01,
|
||||
MDNT_StructType = 0x02,
|
||||
MDNT_DataType = 0x03,
|
||||
MDNT_UnitType = 0x04,
|
||||
MDNT_BaseUnitType = 0x05
|
||||
} tMediaNameType;
|
||||
|
||||
};
|
||||
|
||||
class IMediaDescriptionManager
|
||||
{
|
||||
public:
|
||||
typedef enum
|
||||
{
|
||||
MDMF_ForceOverwrite = 0x0001000,
|
||||
MDMF_FilenameRef = 0x0002000,
|
||||
MDMF_StreamStructType = 0x0004000,
|
||||
MDMF_StreamDataType = 0x0008000,
|
||||
MDMF_ForceStreamDescription = 0x0010000,
|
||||
MDMF_ForceStructDescription = 0x0020000,
|
||||
MDMF_ForceDatatypeDescription = 0x0040000
|
||||
} tMediaDecriptionManagerFlags;
|
||||
|
||||
};
|
||||
|
||||
#endif // _ADTF_TEST_COMPAT_HEADER_
|
32
test/_common/compat.h
Normal file
32
test/_common/compat.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
/**
|
||||
* @file
|
||||
* Compat header containing structs and defines needed for the ddlcoder (mediacoder) test
|
||||
*
|
||||
* @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 DDL_TEST_COMMON_COMPAT_HEADER_INCLUDED_
|
||||
#define DDL_TEST_COMMON_COMPAT_HEADER_INCLUDED_
|
||||
|
||||
#ifndef TEST_REQ
|
||||
/**
|
||||
* Porting AEV specific macro - only necessary for internal use
|
||||
* @param[in] req_id Unused
|
||||
*/
|
||||
#define TEST_REQ(req_id)
|
||||
#endif // TEST_REQ
|
||||
|
||||
#endif // DDL_TEST_COMMON_COMPAT_HEADER_INCLUDED_
|
5
test/_doc/ddl_test.html
Normal file
5
test/_doc/ddl_test.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0; URL=html/index.html">
|
||||
</head>
|
||||
</html>
|
147
test/codec/files/hca.description
Normal file
147
test/codec/files/hca.description
Normal file
|
@ -0,0 +1,147 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>1.02</language_version>
|
||||
<author>fneumth</author>
|
||||
<date_creation>28.09.2011</date_creation>
|
||||
<date_change>01.01.1900</date_change>
|
||||
<description>ADTF generated</description>
|
||||
</header>
|
||||
<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" />
|
||||
</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 tFloat32 datatype" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" name="tFloat64" size="64" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" name="tUInt8" size="8" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<struct alignment="8" name="scHCAObjectData" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="i16Number" type="tInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="i16DxV" type="tInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="i16DyV" type="tInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="6" name="i16VxV" type="tInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="i16Width" type="tInt16" />
|
||||
<element alignment="1" arraysize="6" byteorder="LE" bytepos="10" description="Padding for compatibility with MATLAB" name="ui8Spare" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="8" name="scHCATrackData" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="i32DistanceY" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="i32YawAngleDiff" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="i32HorizCurve" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="i32HorizCurveChange" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="i32Foresight" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="20" name="i32Quality" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="24" name="i32TrackID" type="tInt32" />
|
||||
<element alignment="1" arraysize="4" byteorder="LE" bytepos="28" description="Padding for compatibility with MATLAB" name="ui8Spare" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="8" name="scHCAData" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="f64TorqueFactor" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="f64KBIShownVelo" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="f64ESPVelo" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="24" name="bBHIndicatorLeft" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="25" name="bBHIndicatorRight" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="26" name="bABBeltWarnVF" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="27" name="ui8MMIHCAIntrPoT" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="28" name="bMMIHCAVibrActive" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="29" name="bLDWActive" type="tBool" />
|
||||
<element alignment="1" arraysize="2" byteorder="LE" bytepos="30" description="Padding for compatibility with MATLAB" name="ui8Spare" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="32" name="f64MUSteerWhAngle" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="40" name="f64ESPBrakePress" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="48" name="f64FDSteerWhTorque" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="56" name="f64SARAOmegaZb" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="64" name="f64SARAAccelYb" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="72" name="f64ESPVSignal" type="tFloat64" />
|
||||
<element alignment="1" arraysize="10" byteorder="LE" bytepos="80" name="asObject" type="scHCAObjectData" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="240" name="asTrack" type="scHCATrackData" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="496" name="i32LaneId" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="500" name="i32LaneCount" type="tInt32" />
|
||||
</struct>
|
||||
<struct alignment="8" name="sDebugData" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="f64DistanceY0" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="f64DistanceY1" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="f64HorizCurve0" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="24" name="f64HorizCurve1" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="32" name="f64YawAngleDiff0" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="40" name="f64YawAngleDiff1" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="48" name="f64HorizCurveChange0" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="56" name="f64HorizCurveChange1" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="64" name="f64HCAStatus" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="72" name="f64Torque" type="tFloat64" />
|
||||
</struct>
|
||||
<struct alignment="8" name="usHCATrackData" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="f32DistanceY" type="tFloat32" />
|
||||
<element alignment="1" arraysize="4" byteorder="LE" bytepos="4" description="Padding for compatibility with MATLAB" name="ui8Spare0" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="f64YawAngleDiff" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="f64HorizCurve" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="24" name="f64HorizCurveChange" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="32" name="i32Foresight" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="36" name="i32Quality" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="40" name="i32TrackID" type="tInt32" />
|
||||
<element alignment="1" arraysize="4" byteorder="LE" bytepos="44" description="Padding for compatibility with MATLAB" name="ui8Spare1" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="8" name="usHCAData" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="f64TorqueFactor" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="f64KBIShownVelo" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="f64ESPVelo" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="24" name="bBHIndicatorLeft" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="25" name="bHIndicatorRight" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="26" name="bABBeltWarnVF" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="27" name="ui8MMIHCAIntrPoT" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="28" name="bMMIHCAVibrActive" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="29" name="bLDWActive" type="tBool" />
|
||||
<element alignment="1" arraysize="2" byteorder="LE" bytepos="30" description="Padding for compatibility with MATLAB" name="ui8Spare" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="32" name="f64MUSteerWhAngle" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="40" name="f64ESPBrakePress" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="48" name="f64FDSteerWhTorque" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="56" name="f64SARAOmegaZb" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="64" name="f64SARAAccelYb" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="72" name="f64ESPVSignal" type="tFloat64" />
|
||||
<element alignment="1" arraysize="10" byteorder="LE" bytepos="80" name="asObject" type="scHCAObjectData" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="240" name="asTrack" type="usHCATrackData" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="624" name="i32LaneId" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="628" name="i32LaneCount" type="tInt32" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream name="HCADataScaled_Stream" type="scHCAData" />
|
||||
<stream name="HCADataUnscaled_Stream" type="usHCAData" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
32
test/codec/src/CMakeLists.txt
Normal file
32
test/codec/src/CMakeLists.txt
Normal file
|
@ -0,0 +1,32 @@
|
|||
set(TEST_NAME codec)
|
||||
|
||||
add_executable(tester_${TEST_NAME} tester_${TEST_NAME}.cpp tester_bitserializer.cpp)
|
||||
|
||||
set_target_properties(tester_${TEST_NAME} PROPERTIES FOLDER test/ddl)
|
||||
set_target_properties(tester_${TEST_NAME} PROPERTIES TIMEOUT 300)
|
||||
|
||||
target_link_libraries(tester_${TEST_NAME} PRIVATE
|
||||
ddl
|
||||
a_util_result
|
||||
GTest::Main
|
||||
$<$<PLATFORM_ID:Linux>:Threads::Threads>
|
||||
)
|
||||
add_test(tester_${TEST_NAME} tester_${TEST_NAME})
|
||||
|
||||
set(TEST_NAME mediacoder_regression)
|
||||
add_executable(tester_${TEST_NAME} tester_${TEST_NAME}.cpp)
|
||||
add_test(NAME tester_${TEST_NAME}
|
||||
COMMAND tester_${TEST_NAME}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../"
|
||||
)
|
||||
|
||||
set_target_properties(tester_${TEST_NAME} PROPERTIES FOLDER test/ddl)
|
||||
set_target_properties(tester_${TEST_NAME} PROPERTIES TIMEOUT 300)
|
||||
|
||||
target_link_libraries(tester_${TEST_NAME} PRIVATE
|
||||
ddl_test_compat
|
||||
ddl
|
||||
a_util_result
|
||||
GTest::Main
|
||||
$<$<PLATFORM_ID:Linux>:Threads::Threads>
|
||||
)
|
484
test/codec/src/tester_bitserializer.cpp
Normal file
484
test/codec/src/tester_bitserializer.cpp
Normal file
|
@ -0,0 +1,484 @@
|
|||
/**
|
||||
* @file
|
||||
* Bitserializer Test implementation.
|
||||
*
|
||||
* @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
|
||||
*/
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include "../../_common/adtf_compat.h"
|
||||
#include "../../_common/compat.h"
|
||||
#include "codec/bitserializer.h"
|
||||
|
||||
using namespace a_util::memory;
|
||||
|
||||
/**
|
||||
* @detail Read values using the bit serializer
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
BitSerializerTestReadValue)
|
||||
{
|
||||
TEST_REQ("");
|
||||
|
||||
uint8_t aui8Buffer[10] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x80 };
|
||||
|
||||
BitSerializer *pBits = new BitSerializer(aui8Buffer, 10);
|
||||
|
||||
uint64_t value = 0;
|
||||
|
||||
|
||||
// Read complete aligned bytes
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 64, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x7766554433221100ULL);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 56, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x0066554433221100ULL);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 32, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x33221100);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 24, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x00221100);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 16, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x1100);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 8, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x00);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 64, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x0011223344556677ULL);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 56, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x0000112233445566ULL);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 32, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x00112233);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 24, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x00001122);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 16, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x0011);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 8, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x00);
|
||||
|
||||
|
||||
|
||||
// Read complete unaligned bytes
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(16, 64, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x8088776655443322ULL);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(4, 16, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x2110);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(40, 16, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x6655);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(16, 16, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x3322);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(12, 64, &value, bit_little_endian)); // Read value from 9 buffer bytes
|
||||
|
||||
ASSERT_TRUE(value == 0x0887766554433221ULL);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(4, 64, &value, bit_little_endian)); // Read value from 9 buffer bytes
|
||||
|
||||
ASSERT_TRUE(value == 0x8776655443322110ULL);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(4, 16, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x1021);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(40, 16, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x5566);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(16, 16, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x2233);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(4, 64, &value, bit_big_endian)); // Read value from 9 buffer bytes
|
||||
|
||||
ASSERT_TRUE(value == 0x1021324354657687ULL);
|
||||
|
||||
|
||||
|
||||
// Read partial unaligned bytes
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(4, 13, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x0110);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(40, 17, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x00016655);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(11, 10, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x0042);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(1, 61, &value, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x1BB32AA219910880ULL);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(4, 63, &value, bit_little_endian)); // Read value from 9 buffer bytes
|
||||
|
||||
ASSERT_TRUE(value == 0x0776655443322110ULL);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(12, 61, &value, bit_little_endian)); // Read value from 9 buffer bytes
|
||||
|
||||
ASSERT_TRUE(value == 0x0887766554433221ULL);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(4, 13, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x1008);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(40, 17, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x00012ab3);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(10, 10, &value, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == 0x0021);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(5, 61, &value, bit_big_endian)); // Read value from 9 buffer bytes
|
||||
|
||||
ASSERT_TRUE(value == 0x0884C80C5195D91DULL);
|
||||
|
||||
delete pBits;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @detail Write values using the bit serializer
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
BitSerializerTestWriteValue)
|
||||
{
|
||||
TEST_REQ("");
|
||||
|
||||
uint8_t aui8Buffer[10] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x80 };
|
||||
|
||||
BitSerializer *pBits = new BitSerializer(&aui8Buffer, 10);
|
||||
|
||||
|
||||
|
||||
// Test LE Signal Writing
|
||||
|
||||
uint64_t value = 0x1101;
|
||||
|
||||
uint64_t result = 0;
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 10, value, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 10, &result, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(0x0101 == result);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(10, 10, value, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(10, 10, &result, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(0x0101 == result);
|
||||
|
||||
|
||||
|
||||
// Write and then read adjacent values inside buffer
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 14, value, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(14, 16, value, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(30, 16, value, bit_little_endian));
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 14, &result, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == result);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(14, 16, &result, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == result);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(30, 16, &result, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(value == result);
|
||||
|
||||
|
||||
|
||||
value = 0x1122334455667788ULL;
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 64, value, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 64, &result, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(0x1122334455667788ULL == result);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(15, 64, value, bit_little_endian)); // Write value into 9 buffer bytes
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(15, 64, &result, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(0x1122334455667788ULL == result);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Test BE Signal Writing
|
||||
|
||||
value = 0x1101;
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 10, value, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 10, &result, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(0x0101 == result);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(10, 10, value, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(10, 10, &result, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(0x0101 == result);
|
||||
|
||||
|
||||
|
||||
// Write and then read adjacent values inside buffer
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 14, value, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(14, 16, value, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(30, 16, value, bit_big_endian));
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 14, &result, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == result);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(14, 16, &result, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == result);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(30, 16, &result, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(value == result);
|
||||
|
||||
|
||||
|
||||
value = 0x1122334455667788ULL;
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 64, value, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 64, &result, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(0x1122334455667788ULL == result);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(15, 64, value, bit_big_endian)); // Write value into 9 buffer bytes
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(15, 64, &result, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(0x1122334455667788ULL == result);
|
||||
|
||||
|
||||
|
||||
// Test Float values
|
||||
|
||||
double valuef = 846.73648f;
|
||||
|
||||
double resultf = 0.0f;
|
||||
|
||||
double result_other_endianf = 0.0f;
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 64, valuef, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 64, &resultf, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 64, &result_other_endianf, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(valuef == resultf);
|
||||
|
||||
ASSERT_TRUE(valuef != result_other_endianf);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(15, 64, valuef, bit_little_endian)); // Write value into 9 buffer bytes
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(15, 64, &resultf, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(valuef == resultf);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 64, valuef, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 64, &resultf, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 64, &result_other_endianf, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(valuef == resultf);
|
||||
|
||||
ASSERT_TRUE(valuef != result_other_endianf);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(15, 64, valuef, bit_big_endian)); // Write value into 9 buffer bytes
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(15, 64, &resultf, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(valuef == resultf);
|
||||
|
||||
|
||||
|
||||
// Test Signed values
|
||||
|
||||
int64_t sValue = -45872ll;
|
||||
|
||||
int64_t sResult = 0;
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 62, sValue, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 62, &sResult, bit_little_endian));
|
||||
|
||||
|
||||
ASSERT_TRUE(sValue == sResult);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(15, 64, sValue, bit_little_endian)); // Write value into 9 buffer bytes
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(15, 64, &sResult, bit_little_endian));
|
||||
|
||||
|
||||
ASSERT_TRUE(sValue == sResult);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 62, sValue, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 62, &sResult, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(sValue == sResult);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(15, 64, sValue, bit_big_endian)); // Write value into 9 buffer bytes
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(15, 64, &sResult, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(sValue == sResult);
|
||||
|
||||
|
||||
|
||||
int16_t sValue2 = -358ll;
|
||||
|
||||
int16_t sResult2 = 0;
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 10, sValue2, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 10, &sResult2, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(sValue2 == sResult2);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(15, 10, sValue2, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(15, 10, &sResult2, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(sValue2 == sResult2);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(0, 10, sValue2, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(0, 10, &sResult2, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(sValue2 == sResult2);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(15, 10, sValue2, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(15, 10, &sResult2, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(sValue2 == sResult2);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(17, 13, sValue2, bit_little_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(17, 13, &sResult2, bit_little_endian));
|
||||
|
||||
ASSERT_TRUE(sValue2 == sResult2);
|
||||
|
||||
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->write(17, 13, sValue2, bit_big_endian));
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, pBits->read(17, 13, &sResult2, bit_big_endian));
|
||||
|
||||
ASSERT_TRUE(sValue2 == sResult2);
|
||||
|
||||
}
|
992
test/codec/src/tester_codec.cpp
Normal file
992
test/codec/src/tester_codec.cpp
Normal file
|
@ -0,0 +1,992 @@
|
|||
/**
|
||||
* @file
|
||||
* Test implementation.
|
||||
*
|
||||
* @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
|
||||
*/
|
||||
|
||||
#include <ddl.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include "../../_common/adtf_compat.h"
|
||||
#include "../../_common/compat.h"
|
||||
|
||||
using namespace ddl;
|
||||
|
||||
void DumpElements(const StaticDecoder& oDecoder)
|
||||
{
|
||||
const uint8_t* pFirstElement = static_cast<const uint8_t*>(oDecoder.getElementAddress(0));
|
||||
for (size_t nElement = 0; nElement < oDecoder.getElementCount(); ++nElement)
|
||||
{
|
||||
const StructElement* pElement;
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oDecoder.getElement(nElement, pElement));
|
||||
std::cout << pElement->name.c_str()
|
||||
<< " @ " << static_cast<const uint8_t*>(oDecoder.getElementAddress(nElement)) - pFirstElement
|
||||
<< ": " << access_element::get_value_as_string(oDecoder, nElement) << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
namespace static_struct
|
||||
{
|
||||
|
||||
struct tChildStruct
|
||||
{
|
||||
int8_t nValueDummy;
|
||||
int32_t nValue[3];
|
||||
int8_t nAfter;
|
||||
};
|
||||
|
||||
struct tTest
|
||||
{
|
||||
tChildStruct sChild[2];
|
||||
};
|
||||
|
||||
const char* strTestDesc =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>"
|
||||
"<structs>"
|
||||
"<struct alignment=\"4\" name=\"child_struct\" version=\"2\">"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"BE\" bytepos=\"0\" name=\"value_dummy\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"3\" byteorder=\"BE\" bytepos=\"1\" name=\"value\" type=\"tInt32\"/>"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"BE\" bytepos=\"13\" name=\"after\" type=\"tInt8\"/>"
|
||||
"</struct>"
|
||||
"<struct alignment=\"4\" name=\"test\" version=\"2\">"
|
||||
"<element alignment=\"4\" arraysize=\"2\" byteorder=\"LE\" bytepos=\"0\" name=\"child\" type=\"child_struct\"/>"
|
||||
"</struct>"
|
||||
"</structs>";
|
||||
|
||||
const tTest sTestData =
|
||||
{
|
||||
{
|
||||
{0x01, {0x02, 0x03, 0x04}, 0x05},
|
||||
{0x06, {0x07, 0x08, 0x09}, 0x0A},
|
||||
}
|
||||
};
|
||||
|
||||
namespace serialized
|
||||
{
|
||||
#pragma pack(push, 1)
|
||||
|
||||
struct tChildStruct
|
||||
{
|
||||
int8_t nValueDummy;
|
||||
int32_t nValue[3];
|
||||
int8_t nAfter;
|
||||
};
|
||||
|
||||
struct tTest
|
||||
{
|
||||
tChildStruct sChild[2];
|
||||
};
|
||||
|
||||
const tTest sTestData =
|
||||
{
|
||||
{
|
||||
{0x01, {0x02000000, 0x03000000, 0x04000000}, 0x05},
|
||||
{0x06, {0x07000000, 0x08000000, 0x09000000}, 0x0A},
|
||||
}
|
||||
};
|
||||
#pragma pack(pop)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void test_static(CodecFactory& oFactory, const T& sTestData, DataRepresentation eRep)
|
||||
{
|
||||
std::cout << a_util::strings::format("%d == %d", oFactory.getStaticBufferSize(eRep), sizeof(sTestData)).c_str();
|
||||
ASSERT_EQ(oFactory.getStaticBufferSize(eRep) , sizeof(sTestData));
|
||||
T sTest = sTestData;
|
||||
StaticDecoder oDecoder = oFactory.makeStaticDecoderFor(&sTest, sizeof(sTest), eRep);
|
||||
StaticCodec oCodec = oFactory.makeStaticCodecFor(&sTest, sizeof(sTest), eRep);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oFactory.isValid());
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oDecoder.isValid());
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oCodec.isValid());
|
||||
|
||||
ASSERT_EQ(oDecoder.getElementCount() , 10);
|
||||
DumpElements(oDecoder);
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[0].value_dummy").getInt8() , 1);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[0].value[0]").getInt32() , 2);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[0].value[1]").getInt32() , 3);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[0].value[2]").getInt32() , 4);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[0].after").getInt8() , 5);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[1].value_dummy").getInt8() , 6);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[1].value[0]").getInt32() , 7);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[1].value[1]").getInt32() , 8);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[1].value[2]").getInt32() , 9);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[1].after").getInt8() , 10);
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[0].value_dummy").getType() , a_util::variant::VT_Int8);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "child[0].value[0]").getType() , a_util::variant::VT_Int32);
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, 300).getInt32() , 0);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, 0).getInt8() , 1);
|
||||
|
||||
int32_t nNewData = 0x10;
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oCodec.setElementValue(1, &nNewData));
|
||||
ASSERT_TRUE(0x10 == sTest.sChild[0].nValue[0] ||
|
||||
0x10000000 == sTest.sChild[0].nValue[0]);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, access_element::set_value(oCodec, "child[1].value[2]", (int32_t)0x20));
|
||||
ASSERT_TRUE(0x20 == sTest.sChild[1].nValue[2] ||
|
||||
0x20000000 == sTest.sChild[1].nValue[2]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check deserialized codec static information
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestSatic)
|
||||
{
|
||||
TEST_REQ("ACORE-7704 ACORE-7997 CDPKGDDL-12");
|
||||
|
||||
CodecFactory oFactory("test", static_struct::strTestDesc);
|
||||
|
||||
size_t nIndex = 200;
|
||||
ASSERT_EQ(a_util::result::SUCCESS, access_element::find_index(oFactory, "child[0].after", nIndex));
|
||||
ASSERT_EQ(nIndex , 4);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, access_element::find_struct_index(oFactory, "child[1]", nIndex));
|
||||
ASSERT_EQ(nIndex , 5);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, access_element::find_array_index(oFactory, "child", nIndex));
|
||||
ASSERT_EQ(nIndex , 0);
|
||||
|
||||
test_static(oFactory, static_struct::sTestData, deserialized);
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check serialized codec static information
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestSaticSerialized)
|
||||
{
|
||||
TEST_REQ("ACORE-7704 CDPKGDDL-13");
|
||||
|
||||
CodecFactory oFactory("test", static_struct::strTestDesc);
|
||||
test_static(oFactory, static_struct::serialized::sTestData, serialized);
|
||||
}
|
||||
|
||||
namespace simple
|
||||
{
|
||||
struct tMain
|
||||
{
|
||||
int8_t nArraySize;
|
||||
int32_t aArray[4];
|
||||
int16_t nAfter;
|
||||
};
|
||||
|
||||
const char* strTestDesc =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>"
|
||||
"<structs>"
|
||||
"<struct alignment=\"4\" name=\"main\" version=\"2\">"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"array_size\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"array_size\" byteorder=\"LE\" bytepos=\"1\" name=\"array\" type=\"tInt32\"/>"
|
||||
"<element alignment=\"2\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"-1\" name=\"after\" type=\"tInt16\"/>"
|
||||
"</struct>"
|
||||
"</structs>";
|
||||
|
||||
const tMain sTestData =
|
||||
{
|
||||
4,
|
||||
{1, 2, 3, 4},
|
||||
8
|
||||
};
|
||||
|
||||
namespace serialized
|
||||
{
|
||||
#pragma pack(push, 1)
|
||||
struct tMain
|
||||
{
|
||||
int8_t nArraySize;
|
||||
int32_t aArray[4];
|
||||
int16_t nAfter;
|
||||
};
|
||||
|
||||
const tMain sTestData =
|
||||
{
|
||||
4,
|
||||
{1, 2, 3, 4},
|
||||
8
|
||||
};
|
||||
#pragma pack(pop)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void TestDynamicSimple(CodecFactory& oFactory, const T& sTestData, DataRepresentation eRep)
|
||||
{
|
||||
Decoder oDecoder = oFactory.makeDecoderFor(&sTestData, sizeof(sTestData), eRep);
|
||||
DumpElements(oDecoder);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oFactory.isValid());
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oDecoder.isValid());
|
||||
|
||||
ASSERT_EQ(sizeof(T) , oDecoder.getBufferSize(eRep));
|
||||
std::cout << a_util::strings::toString((uint64_t)oDecoder.getElementCount()).c_str();
|
||||
ASSERT_EQ(oDecoder.getElementCount() , 6);
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "array_size").getInt8() , 4);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "array[0]").getInt32() , 1);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "array[1]").getInt32() , 2);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "array[2]").getInt32() , 3);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "array[3]").getInt32() , 4);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "after").getInt16() , 8);
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check deserialized codec dynamic information
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestDynamicSimple)
|
||||
{
|
||||
TEST_REQ("ACORE-7704 CDPKGDDL-12");
|
||||
|
||||
CodecFactory oFactory("main", simple::strTestDesc);
|
||||
::TestDynamicSimple(oFactory, simple::sTestData, deserialized);
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check serialized codec dynamic information
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestDynamicSimpleSerialized)
|
||||
{
|
||||
TEST_REQ("ACORE-7704 CDPKGDDL-13");
|
||||
|
||||
CodecFactory oFactory("main", simple::strTestDesc);
|
||||
::TestDynamicSimple(oFactory, simple::serialized::sTestData, serialized);
|
||||
}
|
||||
|
||||
namespace complex
|
||||
{
|
||||
|
||||
struct tArrayChildStruct
|
||||
{
|
||||
int8_t nChildSize;
|
||||
int32_t aChildArray[3];
|
||||
int8_t nChildSize2;
|
||||
int32_t aChildArray2[2];
|
||||
int16_t aFixedArray[3];
|
||||
};
|
||||
|
||||
struct tArrayTest
|
||||
{
|
||||
int8_t nArraySize;
|
||||
tArrayChildStruct aArray[2];
|
||||
};
|
||||
|
||||
struct tMain
|
||||
{
|
||||
int8_t nBefore;
|
||||
tArrayTest sTest;
|
||||
int8_t nAfter;
|
||||
};
|
||||
|
||||
const char* strTestDesc =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>"
|
||||
"<structs>"
|
||||
"<struct alignment=\"4\" name=\"child_struct\" version=\"2\">"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"child_size\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"child_size\" byteorder=\"LE\" bytepos=\"1\" name=\"child_array\" type=\"tInt32\"/>"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"-1\" name=\"child_size2\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"child_size2\" byteorder=\"LE\" bytepos=\"-1\" name=\"child_array2\" type=\"tInt32\"/>"
|
||||
"<element alignment=\"2\" arraysize=\"3\" byteorder=\"LE\" bytepos=\"-1\" name=\"fixed_array\" type=\"tInt16\"/>" // does not end at a multiple of 4
|
||||
"</struct>"
|
||||
"<struct alignment=\"4\" name=\"test\" version=\"2\">"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"array_size\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"array_size\" byteorder=\"LE\" bytepos=\"1\" name=\"array\" type=\"child_struct\"/>"
|
||||
"</struct>"
|
||||
"<struct alignment=\"4\" name=\"main\" version=\"2\">"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"before\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"1\" name=\"test\" type=\"test\"/>"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"-1\" name=\"after\" type=\"tInt8\"/>"
|
||||
"</struct>"
|
||||
"</structs>";
|
||||
|
||||
const tMain sTestData =
|
||||
{
|
||||
4,
|
||||
{
|
||||
2,
|
||||
{
|
||||
{
|
||||
3, {1, 2, 3},
|
||||
2, {10, 20},
|
||||
{40, 50, 60}
|
||||
},
|
||||
{
|
||||
3, {11, 22, 33},
|
||||
2, {110, 220},
|
||||
{400, 500, 600}
|
||||
}
|
||||
}
|
||||
},
|
||||
8
|
||||
};
|
||||
|
||||
namespace serialized
|
||||
{
|
||||
#pragma pack(push, 1)
|
||||
struct tArrayChildStruct
|
||||
{
|
||||
int8_t nChildSize;
|
||||
int32_t aChildArray[3];
|
||||
int8_t nChildSize2;
|
||||
int32_t aChildArray2[2];
|
||||
int16_t aFixedArray[3];
|
||||
};
|
||||
|
||||
struct tArrayTest
|
||||
{
|
||||
int8_t nArraySize;
|
||||
tArrayChildStruct aArray[2];
|
||||
};
|
||||
|
||||
struct tMain
|
||||
{
|
||||
int8_t nBefore;
|
||||
tArrayTest sTest;
|
||||
int8_t nAfter;
|
||||
};
|
||||
|
||||
const tMain sTestData =
|
||||
{
|
||||
4,
|
||||
{
|
||||
2,
|
||||
{
|
||||
{
|
||||
3, {1, 2, 3},
|
||||
2, {10, 20},
|
||||
{40, 50, 60}
|
||||
},
|
||||
{
|
||||
3, {11, 22, 33},
|
||||
2, {110, 220},
|
||||
{400, 500, 600}
|
||||
}
|
||||
}
|
||||
},
|
||||
8
|
||||
};
|
||||
|
||||
#pragma pack(pop)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void TestDynamicComplex(CodecFactory& oFactory, const T& sTestData, DataRepresentation eRep)
|
||||
{
|
||||
Decoder oDecoder = oFactory.makeDecoderFor(&sTestData, sizeof(sTestData), eRep);
|
||||
|
||||
DumpElements(oDecoder);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oFactory.isValid());
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oDecoder.isValid());
|
||||
|
||||
ASSERT_EQ(sizeof(T) , oDecoder.getBufferSize(eRep));
|
||||
std::cout << a_util::strings::toString((uint64_t)oDecoder.getElementCount()).c_str();
|
||||
ASSERT_EQ(oDecoder.getElementCount() , 23);
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "before").getInt8() , 4);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array_size").getInt8() , 2);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].child_size").getInt8() , 3);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].child_array[0]").getInt32() , 1);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].child_array[1]").getInt32() , 2);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].child_array[2]").getInt32() , 3);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].child_size2").getInt8() , 2);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].child_array2[0]").getInt32() , 10);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].child_array2[1]").getInt32() , 20);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].fixed_array[0]").getInt16() , 40);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].fixed_array[1]").getInt16() , 50);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[0].fixed_array[2]").getInt16() , 60);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].child_size").getInt8() , 3);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].child_array[0]").getInt32() , 11);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].child_array[1]").getInt32() , 22);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].child_array[2]").getInt32() , 33);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].child_size2").getInt8() , 2);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].child_array2[0]").getInt32() , 110);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].child_array2[1]").getInt32() , 220);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].fixed_array[0]").getInt16() , 400);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].fixed_array[1]").getInt16() , 500);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "test.array[1].fixed_array[2]").getInt16() , 600);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "after").getInt8() , 8);
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check deserialized codec dynamic information with complex data
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestDynamicComplex)
|
||||
{
|
||||
TEST_REQ("ACORE-7704 CDPKGDDL-12");
|
||||
|
||||
CodecFactory oFactory("main", complex::strTestDesc);
|
||||
::TestDynamicComplex(oFactory, complex::sTestData, deserialized);
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check serialized codec dynamic information with complex data
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestDynamicComplexSerialized)
|
||||
{
|
||||
TEST_REQ("ACORE-7704 CDPKGDDL-13");
|
||||
|
||||
CodecFactory oFactory("main", complex::strTestDesc);
|
||||
::TestDynamicComplex(oFactory, complex::serialized::sTestData, serialized);
|
||||
}
|
||||
|
||||
class cTestPerf
|
||||
{
|
||||
public:
|
||||
virtual inline ~cTestPerf() {};
|
||||
virtual const char* getName() = 0;
|
||||
virtual void CreateCodec(const char* strStructName, const char* strDescription, void* pData, size_t nDataSize) = 0;
|
||||
virtual timestamp_t TestAccessAllElements(size_t nRepeats, const char* strStructName, const char* strDescription, void* pData, size_t nDataSize) = 0;
|
||||
};
|
||||
|
||||
class cTestNewPerf: public cTestPerf
|
||||
{
|
||||
public:
|
||||
const char* getName()
|
||||
{
|
||||
return "New";
|
||||
}
|
||||
|
||||
void CreateCodec(const char* strStructName, const char* strDescription, void* pData, size_t nDataSize)
|
||||
{
|
||||
CodecFactory oFactory(strStructName, strDescription);
|
||||
Decoder oCodec = oFactory.makeDecoderFor(pData, nDataSize);
|
||||
}
|
||||
|
||||
timestamp_t TestAccessAllElements(size_t nRepeats, const char* strStructName, const char* strDescription, void* pData, size_t nDataSize)
|
||||
{
|
||||
CodecFactory oFactory(strStructName, strDescription);
|
||||
Decoder oCodec = oFactory.makeDecoderFor(pData, nDataSize);
|
||||
|
||||
size_t nCount = oCodec.getElementCount();
|
||||
std::cout << a_util::strings::format("new elements: %d", nCount).c_str();
|
||||
timestamp_t now = a_util::system::getCurrentMicroseconds();
|
||||
for (size_t nRound = 0; nRound < nRepeats; ++nRound)
|
||||
{
|
||||
for (size_t nElement = 0; nElement < nCount; ++nElement)
|
||||
{
|
||||
uint64_t nBuffer;
|
||||
oCodec.getElementValue(nElement, &nBuffer);
|
||||
}
|
||||
}
|
||||
return a_util::system::getCurrentMicroseconds() - now;
|
||||
}
|
||||
};
|
||||
|
||||
void TestPerf(const char* strStructName, const char* strDescription,
|
||||
void* pData, size_t nDataSize)
|
||||
{
|
||||
size_t nRepeats = 10000;
|
||||
|
||||
std::list<cTestPerf*> oTesters;
|
||||
oTesters.push_back(new cTestNewPerf());
|
||||
#ifdef DDL_ENABLE_DEPRECATED_CODER
|
||||
oTesters.push_back(new cTestOldPerf());
|
||||
#endif
|
||||
|
||||
for (std::list<cTestPerf*>::iterator it = oTesters.begin(); it != oTesters.end(); ++it)
|
||||
{
|
||||
timestamp_t now = a_util::system::getCurrentMicroseconds();
|
||||
{
|
||||
for (size_t nRound = 0; nRound < nRepeats; ++nRound)
|
||||
{
|
||||
(*it)->CreateCodec(strStructName, strDescription, pData, nDataSize);
|
||||
}
|
||||
}
|
||||
timestamp_t nTime = a_util::system::getCurrentMicroseconds() - now;
|
||||
std::cout << a_util::strings::format("%s: create %lld", (*it)->getName(), nTime).c_str();
|
||||
}
|
||||
|
||||
for (std::list<cTestPerf*>::iterator it = oTesters.begin(); it != oTesters.end(); ++it)
|
||||
{
|
||||
timestamp_t nTime = (*it)->TestAccessAllElements(nRepeats, strStructName, strDescription, pData, nDataSize);
|
||||
std::cout << a_util::strings::format("%s: access %lld", (*it)->getName(), nTime).c_str();
|
||||
}
|
||||
|
||||
while (!oTesters.empty())
|
||||
{
|
||||
delete oTesters.front();
|
||||
oTesters.pop_front();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Test codec performances for static information
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestStaticPerf)
|
||||
{
|
||||
TEST_REQ("ACORE-7704");
|
||||
|
||||
static_struct::tTest sTest = static_struct::sTestData;
|
||||
TestPerf("test", static_struct::strTestDesc, &sTest, sizeof(sTest));
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Test codec performances for dynamic information
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestDynamicPerf)
|
||||
{
|
||||
TEST_REQ("ACORE-7704");
|
||||
|
||||
#if 1
|
||||
simple::tMain sTest = simple::sTestData;
|
||||
TestPerf("main", simple::strTestDesc, &sTest, sizeof(sTest));
|
||||
#else
|
||||
complex::tMain sTest = complex::sTestData;
|
||||
TestPerf("main", complex::strTestDesc, &sTest, sizeof(sTest));
|
||||
#endif
|
||||
}
|
||||
|
||||
namespace enums
|
||||
{
|
||||
|
||||
struct tMain
|
||||
{
|
||||
int32_t nStatic;
|
||||
int8_t nArraySize;
|
||||
int32_t aArray[3];
|
||||
int32_t nAfter;
|
||||
};
|
||||
|
||||
const char* strTestDesc =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>"
|
||||
"<adtf:ddl>"
|
||||
"<enums>"
|
||||
"<enum name=\"tTest\" type=\"tInt32\">"
|
||||
"<element name=\"A\" value=\"1\"/>"
|
||||
"<element name=\"B\" value=\"2\"/>"
|
||||
"<element name=\"C\" value=\"3\"/>"
|
||||
"</enum>"
|
||||
"<enum name=\"tTest2\" type=\"tInt32\">"
|
||||
"<element name=\"D\" value=\"1\"/>"
|
||||
"<element name=\"E\" value=\"2\"/>"
|
||||
"<element name=\"F\" value=\"3\"/>"
|
||||
"</enum>"
|
||||
"</enums>"
|
||||
"<structs>"
|
||||
"<struct alignment=\"4\" name=\"main\" version=\"2\">"
|
||||
"<element alignment=\"4\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"static\" type=\"tTest\"/>"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"array_size\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"array_size\" byteorder=\"LE\" bytepos=\"5\" name=\"array\" type=\"tTest2\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"-1\" name=\"after\" type=\"tTest2\"/>"
|
||||
"</struct>"
|
||||
"</structs>"
|
||||
"</adtf:ddl>";
|
||||
|
||||
const tMain sTestData =
|
||||
{
|
||||
2,
|
||||
3,
|
||||
{1, 2, 3},
|
||||
3
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check decoder functionalities for enums
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestEnums)
|
||||
{
|
||||
TEST_REQ("ACORE-7704");
|
||||
|
||||
CodecFactory oFactory("main", enums::strTestDesc);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oFactory.isValid());
|
||||
Decoder oDecoder = oFactory.makeDecoderFor(&enums::sTestData, sizeof(enums::sTestData));
|
||||
DumpElements(oDecoder);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oDecoder.isValid());
|
||||
|
||||
ASSERT_EQ(access_element::get_value_as_string(oDecoder, "static") , "B");
|
||||
ASSERT_EQ(access_element::get_value_as_string(oDecoder, "array_size") , "3");
|
||||
ASSERT_EQ(access_element::get_value_as_string(oDecoder, "array[0]") , "D");
|
||||
ASSERT_EQ(access_element::get_value_as_string(oDecoder, "array[1]") , "E");
|
||||
ASSERT_EQ(access_element::get_value_as_string(oDecoder, "array[2]") , "F");
|
||||
ASSERT_EQ(access_element::get_value_as_string(oDecoder, "after") , "F");
|
||||
}
|
||||
|
||||
namespace constants
|
||||
{
|
||||
|
||||
struct tMain
|
||||
{
|
||||
int32_t nStatic;
|
||||
int8_t nArraySize;
|
||||
int32_t aArray[3];
|
||||
int32_t nAfter;
|
||||
};
|
||||
|
||||
const char* strTestDesc =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>"
|
||||
"<adtf:ddl>"
|
||||
"<enums>"
|
||||
"<enum name=\"tTest\" type=\"tInt32\">"
|
||||
"<element name=\"A\" value=\"1\"/>"
|
||||
"<element name=\"B\" value=\"2\"/>"
|
||||
"<element name=\"C\" value=\"3\"/>"
|
||||
"</enum>"
|
||||
"<enum name=\"tTest2\" type=\"tInt32\">"
|
||||
"<element name=\"D\" value=\"1\"/>"
|
||||
"<element name=\"E\" value=\"2\"/>"
|
||||
"<element name=\"F\" value=\"3\"/>"
|
||||
"</enum>"
|
||||
"</enums>"
|
||||
"<structs>"
|
||||
"<struct alignment=\"4\" name=\"main\" version=\"2\">"
|
||||
"<element alignment=\"4\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"static\" type=\"tTest\" value=\"A\"/>"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"array_size\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"array_size\" byteorder=\"LE\" bytepos=\"5\" name=\"array\" type=\"tTest2\" value=\"D\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"-1\" name=\"after\" type=\"tTest2\" value=\"E\"/>"
|
||||
"</struct>"
|
||||
"</structs>"
|
||||
"</adtf:ddl>";
|
||||
|
||||
const tMain sTestData =
|
||||
{
|
||||
0,
|
||||
3,
|
||||
{0, 0, 0},
|
||||
0
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check decoder functionalities for constants
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestConstants)
|
||||
{
|
||||
TEST_REQ("ACORE-7704");
|
||||
|
||||
CodecFactory oFactory("main", constants::strTestDesc);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oFactory.isValid());
|
||||
constants::tMain sTestData = constants::sTestData;
|
||||
Codec oCodec = oFactory.makeCodecFor(&sTestData, sizeof(sTestData));
|
||||
DumpElements(oCodec);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oCodec.isValid());
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "static").asInt32() , 0);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "array_size").asInt32() , 3);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "array[0]").asInt32() , 0);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "array[1]").asInt32() , 0);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "array[2]").asInt32() , 0);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "after").asInt32() , 0);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oCodec.setConstants());
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "static").asInt32() , 1);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "array_size").asInt32() , 3);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "array[0]").asInt32() , 1);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "array[1]").asInt32() , 1);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "array[2]").asInt32() , 1);
|
||||
ASSERT_EQ(access_element::get_value(oCodec, "after").asInt32() , 2);
|
||||
}
|
||||
|
||||
namespace all_types
|
||||
{
|
||||
|
||||
#ifdef WIN32
|
||||
#define ALIGNED_ELEM(__align, __def) \
|
||||
__declspec(align(__align)) __def;
|
||||
#else
|
||||
#define ALIGNED_ELEM(__align, __def)\
|
||||
__def __attribute__((aligned(__align)));
|
||||
#endif
|
||||
|
||||
struct tMain
|
||||
{
|
||||
ALIGNED_ELEM(1, bool bBool)
|
||||
ALIGNED_ELEM(1, int8_t nInt8)
|
||||
ALIGNED_ELEM(1, uint8_t nUInt8)
|
||||
ALIGNED_ELEM(2, int16_t nInt16)
|
||||
ALIGNED_ELEM(2, uint16_t nUInt16)
|
||||
ALIGNED_ELEM(4, int32_t nInt32)
|
||||
ALIGNED_ELEM(4, uint32_t nUInt32)
|
||||
ALIGNED_ELEM(8, int64_t nInt64)
|
||||
ALIGNED_ELEM(8, uint64_t nUInt64)
|
||||
ALIGNED_ELEM(4, float fFloat32)
|
||||
ALIGNED_ELEM(8, double fFloat64)
|
||||
ALIGNED_ELEM(1, char nChar)
|
||||
};
|
||||
|
||||
const char* strTestDesc =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>"
|
||||
"<struct alignment=\"4\" name=\"main\" version=\"2\">"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"0\" name=\"bBool\" type=\"tBool\"/>"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"1\" name=\"nInt8\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"2\" name=\"nUInt8\" type=\"tUInt8\"/>"
|
||||
"<element alignment=\"2\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"3\" name=\"nInt16\" type=\"tInt16\"/>"
|
||||
"<element alignment=\"2\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"5\" name=\"nUInt16\" type=\"tUInt16\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"7\" name=\"nInt32\" type=\"tInt32\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"11\" name=\"nUInt32\" type=\"tUInt32\"/>"
|
||||
"<element alignment=\"8\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"15\" name=\"nInt64\" type=\"tInt64\"/>"
|
||||
"<element alignment=\"8\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"23\" name=\"nUInt64\" type=\"tUInt64\"/>"
|
||||
"<element alignment=\"4\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"31\" name=\"fFloat32\" type=\"tFloat32\"/>"
|
||||
"<element alignment=\"8\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"35\" name=\"fFloat64\" type=\"tFloat64\"/>"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"43\" name=\"nChar\" type=\"tChar\"/>"
|
||||
"</struct>";
|
||||
|
||||
const tMain sTestData =
|
||||
{
|
||||
true,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
(float)3.1415,
|
||||
2.7182,
|
||||
'x'
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check decoder functionalities for all types
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestAllTypes)
|
||||
{
|
||||
TEST_REQ("ACORE-7704 CDPKGDDL-12 CDPKGDDL-13");
|
||||
|
||||
using namespace all_types;
|
||||
|
||||
CodecFactory oFactory("main", strTestDesc);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oFactory.isValid());
|
||||
|
||||
Decoder oDecoder = oFactory.makeDecoderFor(&sTestData, sizeof(sTestData));
|
||||
a_util::memory::MemoryBuffer oSerializedBuffer;
|
||||
ASSERT_EQ(a_util::result::SUCCESS, serialization::transform_to_buffer(oDecoder, oSerializedBuffer, true));
|
||||
|
||||
oDecoder = oFactory.makeDecoderFor(oSerializedBuffer.getPtr(), oSerializedBuffer.getSize(),
|
||||
serialized);
|
||||
a_util::memory::MemoryBuffer oBuffer;
|
||||
ASSERT_EQ(a_util::result::SUCCESS, serialization::transform_to_buffer(oDecoder, oBuffer, true));
|
||||
|
||||
const tMain* pRes = reinterpret_cast<tMain*>(oBuffer.getPtr());
|
||||
ASSERT_EQ(pRes->bBool , sTestData.bBool);
|
||||
ASSERT_EQ(pRes->nInt8 , sTestData.nInt8);
|
||||
ASSERT_EQ(pRes->nUInt8 , sTestData.nUInt8);
|
||||
ASSERT_EQ(pRes->nInt16 , sTestData.nInt16);
|
||||
ASSERT_EQ(pRes->nUInt16 , sTestData.nUInt16);
|
||||
ASSERT_EQ(pRes->nInt32 , sTestData.nInt32);
|
||||
ASSERT_EQ(pRes->nUInt32 , sTestData.nUInt32);
|
||||
ASSERT_EQ(pRes->nInt64 , sTestData.nInt64);
|
||||
ASSERT_EQ(pRes->nUInt64 , sTestData.nUInt64);
|
||||
ASSERT_EQ(pRes->fFloat32 , sTestData.fFloat32);
|
||||
ASSERT_EQ(pRes->fFloat64 , sTestData.fFloat64);
|
||||
ASSERT_EQ(pRes->nChar , sTestData.nChar);
|
||||
}
|
||||
|
||||
namespace alignment_of_substructs
|
||||
{
|
||||
|
||||
#pragma pack(push, 2)
|
||||
struct tSubStruct
|
||||
{
|
||||
int32_t nValue1;
|
||||
int32_t nValue2;
|
||||
};
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
struct tMain
|
||||
{
|
||||
int8_t nPadding;
|
||||
tSubStruct aSubStructs[4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
const char* strTestDesc =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>"
|
||||
"<structs>"
|
||||
"<struct alignment=\"2\" name=\"tSubStruct\" version=\"2\">"
|
||||
"<element alignment=\"2\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"0\" name=\"nValue1\" type=\"tInt32\"/>"
|
||||
"<element alignment=\"2\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"0\" name=\"nValue2\" type=\"tInt32\"/>"
|
||||
"</struct>"
|
||||
"<struct alignment=\"1\" name=\"tMain\" version=\"2\">"
|
||||
"<element alignment=\"1\" arraysize=\"1\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"0\" name=\"nPadding\" type=\"tInt8\"/>"
|
||||
"<element alignment=\"1\" arraysize=\"4\" byteorder=\"BE\" bitpos=\"1\" bytepos=\"0\" name=\"aSubStructs\" type=\"tSubStruct\"/>"
|
||||
"</struct>"
|
||||
"</structs>";
|
||||
|
||||
const tMain sTestData =
|
||||
{
|
||||
0,
|
||||
{
|
||||
{ 1, 2 },
|
||||
{ 3, 4 },
|
||||
{ 5, 6 },
|
||||
{ 7, 8 }
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Check alignment of substructures
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestAlignmentOfSubstructs)
|
||||
{
|
||||
TEST_REQ("CDDDL-54");
|
||||
|
||||
using namespace alignment_of_substructs;
|
||||
|
||||
CodecFactory oFactory("tMain", strTestDesc);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oFactory.isValid());
|
||||
ASSERT_EQ(oFactory.getStaticBufferSize(), sizeof(tMain));
|
||||
|
||||
Decoder oDecoder = oFactory.makeDecoderFor(&sTestData, sizeof(sTestData));
|
||||
DumpElements(oDecoder);
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "aSubStructs[0].nValue1").asInt8(), sTestData.aSubStructs[0].nValue1);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "aSubStructs[0].nValue2").asInt8(), sTestData.aSubStructs[0].nValue2);
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "aSubStructs[1].nValue1").asInt8(), sTestData.aSubStructs[1].nValue1);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "aSubStructs[1].nValue2").asInt8(), sTestData.aSubStructs[1].nValue2);
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "aSubStructs[2].nValue1").asInt8(), sTestData.aSubStructs[2].nValue1);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "aSubStructs[2].nValue2").asInt8(), sTestData.aSubStructs[2].nValue2);
|
||||
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "aSubStructs[3].nValue1").asInt8(), sTestData.aSubStructs[3].nValue1);
|
||||
ASSERT_EQ(access_element::get_value(oDecoder, "aSubStructs[3].nValue2").asInt8(), sTestData.aSubStructs[3].nValue2);
|
||||
}
|
||||
|
||||
void TestError(const CodecFactory& oFactory, void* pData, size_t nDataSize, size_t nIndex, bool bValid)
|
||||
{
|
||||
{
|
||||
StaticDecoder oTest = oFactory.makeStaticDecoderFor(pData, nDataSize);
|
||||
if (bValid)
|
||||
{
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oTest.isValid());
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.isValid());
|
||||
}
|
||||
uint64_t* nBuffer;
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.getElementValue(10, &nBuffer));
|
||||
a_util::variant::Variant oValue;
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.getElementValue(10, oValue));
|
||||
}
|
||||
|
||||
{
|
||||
Decoder oTest = oFactory.makeDecoderFor(pData, nDataSize);
|
||||
if (bValid)
|
||||
{
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oTest.isValid());
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.isValid());
|
||||
}
|
||||
uint64_t* nBuffer;
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.getElementValue(10, &nBuffer));
|
||||
a_util::variant::Variant oValue;
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.getElementValue(10, oValue));
|
||||
}
|
||||
|
||||
{
|
||||
StaticCodec oTest = oFactory.makeStaticCodecFor(pData, nDataSize);
|
||||
if (bValid)
|
||||
{
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oTest.isValid());
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.isValid());
|
||||
}
|
||||
uint64_t* nBuffer;
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.setElementValue(10, &nBuffer));
|
||||
a_util::variant::Variant oValue;
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.setElementValue(10, oValue));
|
||||
}
|
||||
|
||||
{
|
||||
Codec oTest = oFactory.makeCodecFor(pData, nDataSize);
|
||||
if (bValid)
|
||||
{
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oTest.isValid());
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.isValid());
|
||||
}
|
||||
uint64_t* nBuffer;
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.setElementValue(10, &nBuffer));
|
||||
a_util::variant::Variant oValue;
|
||||
ASSERT_NE(a_util::result::SUCCESS, oTest.setElementValue(10, oValue));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Test error handling in decoder
|
||||
*/
|
||||
TEST(CodecTest,
|
||||
TestErrorHandling)
|
||||
{
|
||||
TEST_REQ("ACORE-7704 ACORE-8004");
|
||||
using namespace static_struct;
|
||||
|
||||
// invalid index
|
||||
{
|
||||
CodecFactory oFactory = CodecFactory("test", strTestDesc);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oFactory.isValid());
|
||||
tTest sTest;
|
||||
TestError(oFactory, &sTest, sizeof(sTest), 10, true);
|
||||
}
|
||||
|
||||
// invalid data
|
||||
{
|
||||
CodecFactory oFactory = CodecFactory("test", strTestDesc);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oFactory.isValid());
|
||||
TestError(oFactory, NULL, 0, 0, false);
|
||||
}
|
||||
|
||||
// invalid struct name
|
||||
{
|
||||
CodecFactory oFactory = CodecFactory("", strTestDesc);
|
||||
ASSERT_NE(a_util::result::SUCCESS, oFactory.isValid());
|
||||
tTest sTest;
|
||||
TestError(oFactory, &sTest, sizeof(sTest), 0, false);
|
||||
}
|
||||
|
||||
// invalid description
|
||||
{
|
||||
CodecFactory oFactory = CodecFactory("test", "");
|
||||
ASSERT_NE(a_util::result::SUCCESS, oFactory.isValid());
|
||||
tTest sTest;
|
||||
TestError(oFactory, &sTest, sizeof(sTest), 0, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
2306
test/codec/src/tester_mediacoder_regression.cpp
Normal file
2306
test/codec/src/tester_mediacoder_regression.cpp
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,27 @@
|
|||
/**
|
||||
* @file
|
||||
* This is a generated file, changes to it may be overwritten in the future.
|
||||
*
|
||||
* @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
|
||||
*/
|
||||
|
||||
typedef tInt16 tPixelFormat;
|
||||
|
||||
typedef int16_t tInt16;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// int16_t
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>WROTHFL</author>
|
||||
<date_creation>09.10.2014</date_creation>
|
||||
<date_change>11.03.2016</date_change>
|
||||
<description>Generated by ADTF 2.13.0beta</description>
|
||||
</header>
|
||||
<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="" />
|
||||
<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="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" 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 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" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<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 tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
</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="adtf_core_media_type" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="mediatype" type="tMediaTypeInfo" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tMediaTypeInfo" version="0">
|
||||
<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_type_audio" version="0">
|
||||
<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>
|
||||
<struct alignment="1" name="tWaveFormat" version="0">
|
||||
<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="0">
|
||||
<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="tBitmapFormat" version="0">
|
||||
<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="tInt16" />
|
||||
<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>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
|
@ -0,0 +1,118 @@
|
|||
#ifndef RESULT_H
|
||||
#define RESULT_H
|
||||
|
||||
// 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 nFormatType;
|
||||
tInt32 nChannels;
|
||||
tInt32 nSamplesPerSec;
|
||||
tInt32 nBitsPerSample;
|
||||
tInt32 nNumSamples;
|
||||
tInt32 nSize;
|
||||
} tWaveFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tWaveFormat sWaveFormat;
|
||||
} adtf_type_audio;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tInt32 nWidth;
|
||||
tInt32 nHeight;
|
||||
tInt16 nBitsPerPixel;
|
||||
tInt16 nPixelFormat;
|
||||
tInt32 nBytesPerLine;
|
||||
tInt32 nSize;
|
||||
tInt32 nPaletteSize;
|
||||
} tBitmapFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tBitmapFormat sBitmapFormat;
|
||||
} adtf_type_video;
|
||||
#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
|
||||
|
||||
|
||||
#endif //RESULT_H
|
|
@ -0,0 +1,137 @@
|
|||
<?xml version="1.0"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>A8LD75D</author>
|
||||
<date_creation>17.11.2017</date_creation>
|
||||
<date_change>17.11.2017</date_change>
|
||||
<description>Generated by DDL_Editor </description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit name="Ampere" symbol="A" description="Fundamental unit for electric current" />
|
||||
<baseunit name="Candela" symbol="cd" description="Fundamental unit for luminous intensity" />
|
||||
<baseunit name="Degree" symbol="deg" description="Non-SI standard unit for angle" />
|
||||
<baseunit name="Kelvin" symbol="K" description="Fundamental unit for thermodynamic temperature" />
|
||||
<baseunit name="Kilogram" symbol="kg" description="Fundamental unit for mass" />
|
||||
<baseunit name="Metre" symbol="m" description="Fundamental unit for length" />
|
||||
<baseunit name="Mole" symbol="mol" description="Fundamental unit for amount of substance" />
|
||||
<baseunit name="Radiant" symbol="rad" description="Non-SI standard unit for angle" />
|
||||
<baseunit name="Second" symbol="s" description="Fundamental unit for time" />
|
||||
<baseunit name="Unitless" symbol="" description="No SI, but needed for own unit definitions" />
|
||||
<baseunit name="nou" symbol="" description="No SI, but needed for no unit definitions" />
|
||||
<prefixes name="atto" symbol="a" power="-18" />
|
||||
<prefixes name="centi" symbol="c" power="-2" />
|
||||
<prefixes name="deca" symbol="da" power="1" />
|
||||
<prefixes name="deci" symbol="d" power="-1" />
|
||||
<prefixes name="exa" symbol="E" power="18" />
|
||||
<prefixes name="femto" symbol="f" power="-15" />
|
||||
<prefixes name="giga" symbol="G" power="9" />
|
||||
<prefixes name="hecto" symbol="h" power="2" />
|
||||
<prefixes name="kilo" symbol="k" power="3" />
|
||||
<prefixes name="mega" symbol="M" power="6" />
|
||||
<prefixes name="micro" symbol="u" power="-6" />
|
||||
<prefixes name="milli" symbol="m" power="-3" />
|
||||
<prefixes name="nano" symbol="n" power="-9" />
|
||||
<prefixes name="peta" symbol="P" power="15" />
|
||||
<prefixes name="pico" symbol="p" power="-12" />
|
||||
<prefixes name="tera" symbol="T" power="12" />
|
||||
<prefixes name="yocto" symbol="y" power="-24" />
|
||||
<prefixes name="yotta" symbol="Y" power="24" />
|
||||
<prefixes name="zepto" symbol="z" power="-21" />
|
||||
<prefixes name="zetta" symbol="Z" power="21" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype name="int16_t" size="1" />
|
||||
<datatype name="int32_t" size="1" />
|
||||
<datatype name="tBool" size="8" description="predefined ADTF tBool datatype" min="tFalse" max="tTrue" />
|
||||
<datatype name="tChar" size="8" description="predefined ADTF tChar datatype" min="-128" max="127" />
|
||||
<datatype name="tFloat32" size="32" description="predefined ADTF tFloat32 datatype" min="-3.402823e+38" max="3.402823e+38" />
|
||||
<datatype name="tFloat64" size="64" description="predefined ADTF tFloat64 datatype" min="-1.797693e+308" max="1.797693e+308" />
|
||||
<datatype name="tInt16" size="16" description="predefined ADTF tInt16 datatype" min="-32768" max="32767" />
|
||||
<datatype name="tInt32" size="32" description="predefined ADTF tInt32 datatype" min="-2147483648" max="2147483647" />
|
||||
<datatype name="tInt64" size="64" description="predefined ADTF tInt64 datatype" min="-9223372036854775808" max="9223372036854775807" />
|
||||
<datatype name="tInt8" size="8" description="predefined ADTF tInt8 datatype" min="-128" max="127" />
|
||||
<datatype name="tUInt16" size="16" description="predefined ADTF tUInt16 datatype" min="0" max="65535" />
|
||||
<datatype name="tUInt32" size="32" description="predefined ADTF tUInt32 datatype" min="0" max="4294967295" />
|
||||
<datatype name="tUInt64" size="64" description="predefined ADTF tUInt64 datatype" min="0" max="18446744073709551615" />
|
||||
<datatype name="tUInt8" size="8" description="predefined ADTF tUInt8 datatype" min="0" max="255" />
|
||||
<datatype name="uint32_t" size="1" />
|
||||
</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 name="adtf_core_media_type" version="0" alignment="1" ddlversion="">
|
||||
<element type="tMediaTypeInfo" name="mediatype" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
</struct>
|
||||
<struct name="tMediaTypeInfo" version="0" alignment="1" ddlversion="">
|
||||
<element type="uint32_t" name="ui32MajorType" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="uint32_t" name="ui32SubType" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="uint32_t" name="ui32Flags" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
</struct>
|
||||
<struct name="adtf_type_audio" version="0" alignment="1" ddlversion="">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="tWaveFormat" name="sWaveFormat" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
</struct>
|
||||
<struct name="tWaveFormat" version="0" alignment="1" ddlversion="">
|
||||
<element type="int32_t" name="nFormatType" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nChannels" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nSamplesPerSec" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nBitsPerSample" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nNumSamples" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nSize" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
</struct>
|
||||
<struct name="adtf_type_video" version="0" alignment="1" ddlversion="">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="tBitmapFormat" name="sBitmapFormat" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
</struct>
|
||||
<struct name="tBitmapFormat" version="0" alignment="1" ddlversion="">
|
||||
<element type="int32_t" name="nWidth" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nHeight" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int16_t" name="nBitsPerPixel" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int16_t" name="nPixelFormat" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nBytesPerLine" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nSize" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nPaletteSize" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
<streammetatypes />
|
||||
</adtf:ddl>
|
|
@ -0,0 +1,118 @@
|
|||
#ifndef RESULT_H
|
||||
#define RESULT_H
|
||||
|
||||
// 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 nFormatType;
|
||||
tInt32 nChannels;
|
||||
tInt32 nSamplesPerSec;
|
||||
tInt32 nBitsPerSample;
|
||||
tInt32 nNumSamples;
|
||||
tInt32 nSize;
|
||||
} tWaveFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tWaveFormat sWaveFormat;
|
||||
} adtf_type_audio;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tInt32 nWidth;
|
||||
tInt32 nHeight;
|
||||
tInt16 nBitsPerPixel;
|
||||
tInt16 nPixelFormat;
|
||||
tInt32 nBytesPerLine;
|
||||
tInt32 nSize;
|
||||
tInt32 nPaletteSize;
|
||||
} tBitmapFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tBitmapFormat sBitmapFormat;
|
||||
} adtf_type_video;
|
||||
#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
|
||||
|
||||
|
||||
#endif //RESULT_H
|
|
@ -0,0 +1,133 @@
|
|||
<?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.03.2016</date_creation>
|
||||
<date_change>11.03.2016</date_change>
|
||||
<description>Generated by ADTF 2.14.0beta</description>
|
||||
</header>
|
||||
<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="" />
|
||||
<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="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" 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 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" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" max="32767" min="-32768" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" max="2147483647" min="-2147483648" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" max="9223372036854775807" min="-9223372036854775808" name="tInt64" size="64" />
|
||||
<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 tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" max="18446744073709551615" min="0" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
</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="adtf_core_media_type" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="mediatype" type="tMediaTypeInfo" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tMediaTypeInfo" version="0">
|
||||
<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_type_audio" version="0">
|
||||
<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>
|
||||
<struct alignment="1" name="tWaveFormat" version="0">
|
||||
<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="0">
|
||||
<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="tBitmapFormat" version="0">
|
||||
<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="tInt16" />
|
||||
<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>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
|
@ -0,0 +1,66 @@
|
|||
// This is a generated file, changes to it may be overwritten in the future.
|
||||
|
||||
typedef tInt16 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 nFormatType;
|
||||
tInt32 nChannels;
|
||||
tInt32 nSamplesPerSec;
|
||||
tInt32 nBitsPerSample;
|
||||
tInt32 nNumSamples;
|
||||
tInt32 nSize;
|
||||
} tWaveFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tWaveFormat sWaveFormat;
|
||||
} adtf_type_audio;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tInt32 nWidth;
|
||||
tInt32 nHeight;
|
||||
tInt16 nBitsPerPixel;
|
||||
tInt16 nPixelFormat;
|
||||
tInt32 nBytesPerLine;
|
||||
tInt32 nSize;
|
||||
tInt32 nPaletteSize;
|
||||
} tBitmapFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tBitmapFormat sBitmapFormat;
|
||||
} adtf_type_video;
|
||||
#pragma pack(pop)
|
||||
|
||||
// The following types are assumed to be known:
|
||||
// tInt16
|
||||
// tUInt32
|
||||
// tInt32
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>A8LD75D</author>
|
||||
<date_creation>17.11.2017</date_creation>
|
||||
<date_change>17.11.2017</date_change>
|
||||
<description>Generated by DDL_Editor </description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit name="Metre" symbol="m" description="Fundamental unit for length" />
|
||||
<baseunit name="Kilogram" symbol="kg" description="Fundamental unit for mass" />
|
||||
<baseunit name="Second" symbol="s" description="Fundamental unit for time" />
|
||||
<baseunit name="Ampere" symbol="A" description="Fundamental unit for electric current" />
|
||||
<baseunit name="Kelvin" symbol="K" description="Fundamental unit for thermodynamic temperature" />
|
||||
<baseunit name="Mole" symbol="mol" description="Fundamental unit for amount of substance" />
|
||||
<baseunit name="Candela" symbol="cd" description="Fundamental unit for luminous intensity" />
|
||||
<baseunit name="Degree" symbol="deg" description="Non-SI standard unit for angle" />
|
||||
<baseunit name="Radiant" symbol="rad" description="Non-SI standard unit for angle" />
|
||||
<baseunit name="Unitless" symbol="" description="No SI, but needed for own unit definitions" />
|
||||
<baseunit name="nou" symbol="" description="No SI, but needed for no unit definitions" />
|
||||
<prefixes name="yotta" symbol="Y" power="24" />
|
||||
<prefixes name="zetta" symbol="Z" power="21" />
|
||||
<prefixes name="exa" symbol="E" power="18" />
|
||||
<prefixes name="peta" symbol="P" power="15" />
|
||||
<prefixes name="tera" symbol="T" power="12" />
|
||||
<prefixes name="giga" symbol="G" power="9" />
|
||||
<prefixes name="mega" symbol="M" power="6" />
|
||||
<prefixes name="kilo" symbol="k" power="3" />
|
||||
<prefixes name="hecto" symbol="h" power="2" />
|
||||
<prefixes name="deca" symbol="da" power="1" />
|
||||
<prefixes name="deci" symbol="d" power="-1" />
|
||||
<prefixes name="centi" symbol="c" power="-2" />
|
||||
<prefixes name="milli" symbol="m" power="-3" />
|
||||
<prefixes name="micro" symbol="u" power="-6" />
|
||||
<prefixes name="nano" symbol="n" power="-9" />
|
||||
<prefixes name="pico" symbol="p" power="-12" />
|
||||
<prefixes name="femto" symbol="f" power="-15" />
|
||||
<prefixes name="atto" symbol="a" power="-18" />
|
||||
<prefixes name="zepto" symbol="z" power="-21" />
|
||||
<prefixes name="yocto" symbol="y" power="-24" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype name="tBool" size="8" description="predefined ADTF tBool datatype" min="tFalse" max="tTrue" />
|
||||
<datatype name="tChar" size="8" description="predefined ADTF tChar datatype" min="-128" max="127" />
|
||||
<datatype name="tUInt8" size="8" description="predefined ADTF tUInt8 datatype" min="0" max="255" />
|
||||
<datatype name="tInt8" size="8" description="predefined ADTF tInt8 datatype" min="-128" max="127" />
|
||||
<datatype name="tUInt16" size="16" description="predefined ADTF tUInt16 datatype" min="0" max="65535" />
|
||||
<datatype name="tInt16" size="16" description="predefined ADTF tInt16 datatype" min="-32768" max="32767" />
|
||||
<datatype name="tUInt32" size="32" description="predefined ADTF tUInt32 datatype" min="0" max="4294967295" />
|
||||
<datatype name="tInt32" size="32" description="predefined ADTF tInt32 datatype" min="-2147483648" max="2147483647" />
|
||||
<datatype name="tUInt64" size="64" description="predefined ADTF tUInt64 datatype" min="0" max="18446744073709551615" />
|
||||
<datatype name="tInt64" size="64" description="predefined ADTF tInt64 datatype" min="-9223372036854775808" max="9223372036854775807" />
|
||||
<datatype name="tFloat32" size="32" description="predefined ADTF tFloat32 datatype" min="-3.402823e+38" max="3.402823e+38" />
|
||||
<datatype name="tFloat64" size="64" description="predefined ADTF tFloat64 datatype" min="-1.797693e+308" max="1.797693e+308" />
|
||||
<datatype name="int32_t" size="1" />
|
||||
</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 name="tWaveFormat" version="0" alignment="1" ddlversion="">
|
||||
<element type="int32_t" name="nFormatType" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nChannels" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nSamplesPerSec" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nBitsPerSample" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nNumSamples" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
<element type="int32_t" name="nSize" bytepos="0" byteorder="LE" alignment="1" arraysize="1" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
<streammetatypes />
|
||||
</adtf:ddl>
|
|
@ -0,0 +1,63 @@
|
|||
#ifndef RESULT_H
|
||||
#define RESULT_H
|
||||
|
||||
// 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
|
||||
{
|
||||
tInt32 nFormatType;
|
||||
tInt32 nChannels;
|
||||
tInt32 nSamplesPerSec;
|
||||
tInt32 nBitsPerSample;
|
||||
tInt32 nNumSamples;
|
||||
tInt32 nSize;
|
||||
} tWaveFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef int32_t tInt32;
|
||||
|
||||
// The following type is assumed to be known:
|
||||
// int32_t
|
||||
|
||||
|
||||
#endif //RESULT_H
|
133
test/ddlgenerators/files/original_files/base_all.description
Normal file
133
test/ddlgenerators/files/original_files/base_all.description
Normal file
|
@ -0,0 +1,133 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>WROTHFL</author>
|
||||
<date_creation>09.10.2014</date_creation>
|
||||
<date_change>09.10.2014</date_change>
|
||||
<description>Generated by ADTF 2.13.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="adtf_core_media_type" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="mediatype" type="tMediaTypeInfo" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tMediaTypeInfo" version="0">
|
||||
<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_type_audio" version="0">
|
||||
<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>
|
||||
<struct alignment="1" name="tWaveFormat" version="0">
|
||||
<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="0">
|
||||
<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="tBitmapFormat" version="0">
|
||||
<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="tInt16" />
|
||||
<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>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
84
test/ddlgenerators/files/original_files/base_all.h
Normal file
84
test/ddlgenerators/files/original_files/base_all.h
Normal file
|
@ -0,0 +1,84 @@
|
|||
/**
|
||||
* @file
|
||||
* This is a generated file, changes to it may be overwritten in the future.
|
||||
*
|
||||
* @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
|
||||
*/
|
||||
|
||||
typedef tInt16 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 nFormatType;
|
||||
tInt32 nChannels;
|
||||
tInt32 nSamplesPerSec;
|
||||
tInt32 nBitsPerSample;
|
||||
tInt32 nNumSamples;
|
||||
tInt32 nSize;
|
||||
} tWaveFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tWaveFormat sWaveFormat;
|
||||
} adtf_type_audio;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tInt32 nWidth;
|
||||
tInt32 nHeight;
|
||||
tInt16 nBitsPerPixel;
|
||||
tInt16 nPixelFormat;
|
||||
tInt32 nBytesPerLine;
|
||||
tInt32 nSize;
|
||||
tInt32 nPaletteSize;
|
||||
} tBitmapFormat;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
tMediaTypeInfo sMediatype;
|
||||
tBitmapFormat sBitmapFormat;
|
||||
} adtf_type_video;
|
||||
#pragma pack(pop)
|
||||
|
||||
// The following types are assumed to be known:
|
||||
// tInt16
|
||||
// tUInt32
|
||||
// tInt32
|
||||
|
56
test/ddlgenerators/files/original_files/enums.description
Normal file
56
test/ddlgenerators/files/original_files/enums.description
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>4.00</language_version>
|
||||
<author>SVP5W4W</author>
|
||||
<date_creation>08.02.2018</date_creation>
|
||||
<date_change>08.02.2018</date_change>
|
||||
<description>Generated by DDL_Editor </description>
|
||||
</header>
|
||||
<datatypes>
|
||||
</datatypes>
|
||||
<units>
|
||||
</units>
|
||||
<enums>
|
||||
<enum name="tAlphabet" type="tInt32">
|
||||
<element name="ABC" value="0" />
|
||||
<element name="DEF" value="1" />
|
||||
<element name="GHI" value="2" />
|
||||
</enum>
|
||||
<enum name="tColor" type="tInt32">
|
||||
<element name="C_UNKNOWN" value="0" />
|
||||
<element name="C_RED" value="1" />
|
||||
<element name="C_GREEN" value="2" />
|
||||
<element name="C_BLUE" value="50" />
|
||||
<element name="C_CYAN" value="2000" />
|
||||
</enum>
|
||||
<enum name="tTimber" type="tInt32">
|
||||
<element name="W_FIR" value="5" />
|
||||
<element name="W_PINE" value="1630" />
|
||||
<element name="W_OAK" value="1631" />
|
||||
<element name="W_SPRUCE" value="1632" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct name="tEnums" comment="tEnumCommentary" version="0" alignment="1" ddlversion="">
|
||||
<element type="tColor" name="col" arraysize="1">
|
||||
<deserialized alignment="1" />
|
||||
<serialized bytepos="0" byteorder="LE" />
|
||||
</element>
|
||||
<element type="tTimber" name="tim" arraysize="1">
|
||||
<deserialized alignment="1" />
|
||||
<serialized bytepos="4" byteorder="LE" />
|
||||
</element>
|
||||
<element type="tTimber" name="wood" arraysize="1">
|
||||
<deserialized alignment="1" />
|
||||
<serialized bytepos="8" byteorder="LE" />
|
||||
</element>
|
||||
<element type="tAlphabet" description="alpha-element-description" comment="alpha-element-comment" name="alpha" arraysize="1">
|
||||
<deserialized alignment="1" />
|
||||
<serialized bytepos="12" byteorder="LE" />
|
||||
</element>
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
<streammetatypes />
|
||||
</adtf:ddl>
|
37
test/ddlgenerators/files/original_files/enums.h
Normal file
37
test/ddlgenerators/files/original_files/enums.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
typedef enum {
|
||||
C_UNKNOWN=0,
|
||||
C_RED=1,
|
||||
C_GREEN=2,
|
||||
C_BLUE=50,
|
||||
C_CYAN=2000
|
||||
} tColor;
|
||||
|
||||
|
||||
typedef enum tTimber {
|
||||
W_FIR=5,
|
||||
W_PINE=1630,
|
||||
W_OAK,
|
||||
W_SPRUCE
|
||||
} tWood;
|
||||
|
||||
enum tAlphabet {
|
||||
ABC, DEF, GHI};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
tColor col;
|
||||
tTimber tim;
|
||||
tWood wood;
|
||||
tAlphabet alpha;
|
||||
} tEnums;
|
||||
|
||||
typedef bla blubb;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
tBla bla;
|
||||
tBlubb blubb;
|
||||
kaka kaka;
|
||||
}
|
||||
|
||||
|
23
test/ddlgenerators/src/CMakeLists.txt
Normal file
23
test/ddlgenerators/src/CMakeLists.txt
Normal file
|
@ -0,0 +1,23 @@
|
|||
set(TEST_NAME ddl_generators)
|
||||
|
||||
add_executable(tester_${TEST_NAME} tester_${TEST_NAME}.cpp)
|
||||
if (NOT ddl_cmake_integrated_tests)
|
||||
target_compile_definitions(tester_${TEST_NAME} PRIVATE TEST_INSTALL_DIR="${ddl_DIR}/..")
|
||||
else()
|
||||
target_compile_definitions(tester_${TEST_NAME}
|
||||
PRIVATE TEST_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}")
|
||||
endif()
|
||||
|
||||
set_target_properties(tester_${TEST_NAME} PROPERTIES FOLDER test/utils)
|
||||
set_target_properties(tester_${TEST_NAME} PROPERTIES TIMEOUT 120)
|
||||
|
||||
target_link_libraries(tester_${TEST_NAME} PRIVATE
|
||||
ddl_test_compat
|
||||
ddl
|
||||
a_util
|
||||
GTest::Main
|
||||
$<$<PLATFORM_ID:Linux>:Threads::Threads>
|
||||
)
|
||||
add_test(NAME tester_${TEST_NAME}
|
||||
COMMAND tester_${TEST_NAME}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../")
|
419
test/ddlgenerators/src/tester_ddl_generators.cpp
Normal file
419
test/ddlgenerators/src/tester_ddl_generators.cpp
Normal file
|
@ -0,0 +1,419 @@
|
|||
/**
|
||||
* @file
|
||||
* Tester init.
|
||||
*
|
||||
* @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
|
||||
*
|
||||
* QNX support Copyright (c) 2019 by dSPACE GmbH, Paderborn, Germany. All Rights Reserved
|
||||
*/
|
||||
|
||||
|
||||
#include <ddl.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include "../../_common/adtf_compat.h"
|
||||
#include "../../_common/compat.h"
|
||||
|
||||
class cCompareFile
|
||||
{
|
||||
private:
|
||||
std::vector<std::string> _lines;
|
||||
std::vector<std::string>::iterator _pos;
|
||||
public:
|
||||
void Open(const std::string& filepath)
|
||||
{
|
||||
if (a_util::filesystem::OK == a_util::filesystem::readTextLines(filepath, _lines))
|
||||
{
|
||||
_pos = _lines.begin();
|
||||
}
|
||||
else
|
||||
{
|
||||
_lines.clear();
|
||||
_pos = _lines.end();
|
||||
}
|
||||
}
|
||||
bool isValid() const
|
||||
{
|
||||
return _pos != _lines.end();
|
||||
}
|
||||
void ReadLine(std::string& line)
|
||||
{
|
||||
if (isValid())
|
||||
{
|
||||
line = *_pos;
|
||||
a_util::strings::replace(line, "\r", "");
|
||||
_pos++;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
namespace ddl_generator
|
||||
{
|
||||
namespace oo
|
||||
{
|
||||
//define all needed error types and values locally
|
||||
_MAKE_RESULT(0, ERR_NOERROR)
|
||||
_MAKE_RESULT(-11, ERR_INVALID_FILE)
|
||||
_MAKE_RESULT(-20, ERR_NOT_FOUND)
|
||||
_MAKE_RESULT(-24, ERR_PATH_NOT_FOUND)
|
||||
_MAKE_RESULT(-38, ERR_FAILED)
|
||||
}
|
||||
}
|
||||
using namespace ddl_generator::oo;
|
||||
|
||||
#define __adtf_test_result(expr) ASSERT_TRUE(fep::isOk(expr))
|
||||
|
||||
#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());
|
||||
//fprintf(stdout, "Starting Test '%s' (Line %d)\n", __FUNCTION__, __LINE__);
|
||||
|
||||
static const std::string OPTION_HELP = " --help ";
|
||||
|
||||
static const std::string PROPERTY_DESCRIPTIONFILE = " --descriptionfile=";
|
||||
static const std::string PROPERTY_HEADERFILE = " --headerfile=";
|
||||
static const std::string PROPERTY_STRUCT = " --struct=";
|
||||
|
||||
static const std::string DIR_FILES = "./files/";
|
||||
static const std::string DIR_EXPECTED = DIR_FILES + "expected_files/";
|
||||
static const std::string DIR_ORIGINAL = DIR_FILES + "original_files/";
|
||||
|
||||
static const std::string PATH_RESULT_DESC = DIR_FILES + "result.description";
|
||||
static const std::string PATH_RESULT_HEADER = DIR_FILES + "result.h";
|
||||
|
||||
static const std::string PATH_DESC_BASE_ALL = DIR_ORIGINAL + "base_all.description";
|
||||
static const std::string PATH_HEADER_BASE_ALL = DIR_ORIGINAL + "base_all.h";
|
||||
|
||||
static const std::string PATH_DESC_ENUMS = DIR_ORIGINAL + "enums.description";
|
||||
static const std::string PATH_HEADER_ENUMS = DIR_ORIGINAL + "enums.h";
|
||||
|
||||
static const std::string PATH_EXPECTED_RES_DESC_EXIST_STRUCT = DIR_EXPECTED + "expected_result_existing_struct.description";
|
||||
static const std::string PATH_EXPECTED_RES_DESC_NEWFILE_ALL = DIR_EXPECTED + "expected_result_newfile_all.description";
|
||||
static const std::string PATH_EXPECTED_RES_DESC_NEWFILE_STRUCT = DIR_EXPECTED + "expected_result_newfile_struct.description";
|
||||
static const std::string PATH_EXPECTED_RES_HEADER_EXIST_ALL = DIR_EXPECTED + "expected_result_existing_all.h";
|
||||
static const std::string PATH_EXPECTED_RES_HEADER_EXIST_STRUCT = DIR_EXPECTED + "expected_result_existing_struct.h";
|
||||
static const std::string PATH_EXPECTED_RES_HEADER_NEWFILE_STRUCT = DIR_EXPECTED + "expected_result_newfile_struct.h";
|
||||
|
||||
a_util::filesystem::Path m_strDDL2HeaderExe;
|
||||
a_util::filesystem::Path m_strHeader2DDLExe;
|
||||
|
||||
static bool isSkippable(std::string strLine)
|
||||
{
|
||||
return strLine.empty() ||
|
||||
strLine.find("): dump") != std::string::npos ||
|
||||
strLine.find("): info") != std::string::npos ||
|
||||
strLine.find("): warning") != std::string::npos ||
|
||||
strLine.find("): error") != std::string::npos ||
|
||||
strLine.find("leaving thread loop") != std::string::npos;
|
||||
}
|
||||
|
||||
static a_util::result::Result CompDDL(const ddl::DDLDescription* pddl1, const ddl::DDLDescription* pddl2)
|
||||
{
|
||||
int flags = ddl::DDLCompare::dcf_data_types + ddl::DDLCompare::dcf_structs;
|
||||
return ddl::DDLCompare::isEqual(pddl1, pddl2, flags);
|
||||
}
|
||||
|
||||
static a_util::result::Result CompOutput(const std::string& strFile1, const std::string& strFile2, int64_t nSkipLines = 0)
|
||||
{
|
||||
cCompareFile oFile1;
|
||||
cCompareFile oFile2;
|
||||
oFile1.Open(strFile1);
|
||||
oFile2.Open(strFile2);
|
||||
|
||||
if (!oFile1.isValid() || !oFile2.isValid())
|
||||
{
|
||||
return (ERR_FAILED);
|
||||
}
|
||||
|
||||
std::string strLine1;
|
||||
std::string strLine2;
|
||||
while (oFile1.isValid() && oFile2.isValid())
|
||||
{
|
||||
oFile1.ReadLine(strLine1);
|
||||
oFile2.ReadLine(strLine2);
|
||||
if (strLine1 != strLine2)
|
||||
{
|
||||
printf("lines don't match:\n%s\n%s\n", strLine1.c_str(), strLine2.c_str());
|
||||
return (ERR_FAILED);
|
||||
}
|
||||
}
|
||||
|
||||
if (oFile1.isValid() || oFile2.isValid())
|
||||
{
|
||||
return (ERR_FAILED);
|
||||
}
|
||||
|
||||
return ERR_NOERROR;
|
||||
}
|
||||
|
||||
a_util::result::Result CompareDDLFiles(std::string strFile1, std::string strFile2)
|
||||
{
|
||||
ddl::DDLImporter oImporter1;
|
||||
oImporter1.setFile(strFile1);
|
||||
oImporter1.createNew();
|
||||
|
||||
ddl::DDLImporter oImporter2;
|
||||
oImporter2.setFile(strFile2);
|
||||
oImporter2.createNew();
|
||||
|
||||
ddl::DDLDescription* pDesc1 = oImporter1.getDDL();
|
||||
|
||||
ddl::DDLDescription* pDesc2 = oImporter2.getDDL();
|
||||
|
||||
if(pDesc1->getStructs().size() == pDesc2->getStructs().size())
|
||||
{
|
||||
return ERR_NOERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (ERR_FAILED);
|
||||
}
|
||||
}
|
||||
|
||||
class cTesterddlgeneratorCmdLine : public ::testing::Test
|
||||
{
|
||||
protected:
|
||||
void SetUp()
|
||||
{
|
||||
if (m_strDDL2HeaderExe.isEmpty())
|
||||
{
|
||||
#ifndef __QNX__
|
||||
m_strDDL2HeaderExe = TEST_INSTALL_DIR;
|
||||
#else
|
||||
// For QNX we have to cross compile and install tester_ddl_* manually by FTP in a test dir ".", then
|
||||
// adding the binaries (ddl2header, header2ddl) in ./bin and the .description/.h files in ./files/...
|
||||
m_strDDL2HeaderExe = ".";
|
||||
#endif
|
||||
/* Detect platform and switch to correct dummy application */
|
||||
m_strDDL2HeaderExe.append("bin");
|
||||
|
||||
|
||||
#if _DEBUG
|
||||
m_strDDL2HeaderExe.append("debug");
|
||||
#endif
|
||||
#if (defined(_MSC_VER))
|
||||
// WIN x86 vc90 || WIN x64 vc100
|
||||
m_strHeader2DDLExe = m_strDDL2HeaderExe;
|
||||
m_strDDL2HeaderExe.append("ddl2header.exe");
|
||||
m_strHeader2DDLExe.append("header2ddl.exe");
|
||||
|
||||
#elif (defined(__linux) || defined(__QNX__))
|
||||
// LINUX x64 gcc46
|
||||
m_strHeader2DDLExe = m_strDDL2HeaderExe;
|
||||
m_strDDL2HeaderExe.append("ddl2header");
|
||||
m_strHeader2DDLExe.append("header2ddl");
|
||||
#else
|
||||
// this goes for vc120 or apple or arm or whatever.
|
||||
assert("Platform currently not supported");
|
||||
#endif // Version check
|
||||
m_strDDL2HeaderExe.makeCanonical();
|
||||
m_strHeader2DDLExe.makeCanonical();
|
||||
}
|
||||
}
|
||||
|
||||
void TearDown()
|
||||
{
|
||||
// nothing to do yet
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @detail Test for using the FEP ddlgenerator core to import a structure from ddl to header.
|
||||
*/
|
||||
TEST_F(cTesterddlgeneratorCmdLine,
|
||||
TestImportStructInHeader)
|
||||
{
|
||||
TEST_REQ("");
|
||||
|
||||
// basic generation
|
||||
std::string strArgs;
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_DESC_BASE_ALL +
|
||||
PROPERTY_HEADERFILE + PATH_RESULT_HEADER;
|
||||
|
||||
std::remove(PATH_RESULT_HEADER.c_str());
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) == 0);
|
||||
ASSERT_TRUE(CompOutput(PATH_RESULT_HEADER, PATH_EXPECTED_RES_HEADER_EXIST_ALL) == 0);
|
||||
|
||||
|
||||
// with input struct
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_DESC_BASE_ALL +
|
||||
PROPERTY_HEADERFILE + PATH_RESULT_HEADER + PROPERTY_STRUCT +
|
||||
"tWaveFormat";
|
||||
|
||||
std::remove(PATH_RESULT_HEADER.c_str());
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) == 0);
|
||||
ASSERT_TRUE(CompOutput(PATH_RESULT_HEADER, PATH_EXPECTED_RES_HEADER_NEWFILE_STRUCT) == 0);
|
||||
|
||||
// merge with existing file
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_DESC_BASE_ALL +
|
||||
PROPERTY_HEADERFILE + PATH_RESULT_HEADER;
|
||||
|
||||
std::remove(PATH_RESULT_HEADER.c_str());
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) == 0);
|
||||
ASSERT_TRUE(CompOutput(PATH_RESULT_HEADER, PATH_EXPECTED_RES_HEADER_EXIST_STRUCT) == 0);
|
||||
|
||||
std::remove(PATH_RESULT_HEADER.c_str());
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Test for using the FEP ddlgenerator core to import a structure from header to ddl
|
||||
*/
|
||||
TEST_F(cTesterddlgeneratorCmdLine,
|
||||
TestImportStructInDdl)
|
||||
{
|
||||
TEST_REQ("");
|
||||
|
||||
std::string strArgs;
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_RESULT_DESC +
|
||||
PROPERTY_HEADERFILE + PATH_HEADER_BASE_ALL;
|
||||
|
||||
std::remove(PATH_RESULT_HEADER.c_str());
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) == 0);
|
||||
ASSERT_TRUE(CompareDDLFiles(PATH_EXPECTED_RES_DESC_NEWFILE_ALL, PATH_RESULT_DESC) == 0);
|
||||
|
||||
// with input struct
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_RESULT_DESC +
|
||||
PROPERTY_HEADERFILE + PATH_HEADER_BASE_ALL + PROPERTY_STRUCT +
|
||||
"tWaveFormat";
|
||||
|
||||
std::remove(PATH_RESULT_DESC.c_str());
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) == 0);
|
||||
ASSERT_TRUE(CompareDDLFiles(PATH_RESULT_DESC, PATH_EXPECTED_RES_DESC_NEWFILE_STRUCT) == 0);
|
||||
|
||||
// merge with existing file
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_RESULT_DESC +
|
||||
PROPERTY_HEADERFILE + PATH_HEADER_BASE_ALL;
|
||||
|
||||
std::remove(PATH_RESULT_HEADER.c_str());
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) == 0);
|
||||
ASSERT_TRUE(CompareDDLFiles(PATH_RESULT_DESC, PATH_EXPECTED_RES_DESC_EXIST_STRUCT) == 0);
|
||||
|
||||
std::remove(PATH_RESULT_DESC.c_str());
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Tests ddl generator with invalid options, properties and combinations.
|
||||
*/
|
||||
TEST_F(cTesterddlgeneratorCmdLine,
|
||||
TestUseConsole)
|
||||
{
|
||||
TEST_REQ("");
|
||||
|
||||
std::string strArgs;
|
||||
|
||||
// show help
|
||||
strArgs = OPTION_HELP;
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) == 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) == 0);
|
||||
|
||||
// without option
|
||||
strArgs = "";
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
|
||||
// with undefined option
|
||||
strArgs = "-wrongOption";
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
|
||||
// with unknown options
|
||||
strArgs = "-no_option";
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
|
||||
// without header file
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_DESC_BASE_ALL;
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
|
||||
// with struct and without header file
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_DESC_BASE_ALL +
|
||||
PROPERTY_STRUCT + "tMyStruct";
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
|
||||
// with struct and without description file
|
||||
strArgs = PROPERTY_HEADERFILE +
|
||||
PATH_HEADER_BASE_ALL + PROPERTY_STRUCT +
|
||||
PROPERTY_STRUCT + "tMyStruct";
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
|
||||
// with header file as description file
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_HEADER_BASE_ALL +
|
||||
PROPERTY_HEADERFILE + PATH_RESULT_HEADER;
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
|
||||
// with non existing description file and header file
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_RESULT_DESC +
|
||||
PROPERTY_HEADERFILE + PATH_RESULT_HEADER;
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
|
||||
// with unknown struct
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_DESC_BASE_ALL +
|
||||
PROPERTY_HEADERFILE + PATH_RESULT_HEADER +
|
||||
PROPERTY_STRUCT + "tUnknownStruct";
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
ASSERT_TRUE(std::system((m_strHeader2DDLExe.toString() + " " + strArgs).c_str()) != 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Tests if enumerations are written correctly to header
|
||||
*/
|
||||
TEST_F(cTesterddlgeneratorCmdLine,
|
||||
TestEnumsDDL2Header)
|
||||
{
|
||||
TEST_REQ("");
|
||||
|
||||
std::string strArgs;
|
||||
strArgs = PROPERTY_DESCRIPTIONFILE + PATH_DESC_ENUMS +
|
||||
PROPERTY_HEADERFILE + PATH_RESULT_HEADER;
|
||||
|
||||
std::remove(PATH_RESULT_HEADER.c_str());
|
||||
ASSERT_TRUE(std::system((m_strDDL2HeaderExe.toString() + " " + strArgs).c_str()) == 0);
|
||||
|
||||
std::string headerContent;
|
||||
a_util::filesystem::readTextFile(PATH_RESULT_HEADER, headerContent);
|
||||
|
||||
// check if types are present in header
|
||||
ASSERT_TRUE(headerContent.find("tAlphabet") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("tTimber") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("tColor") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("tEnums") != std::string::npos);
|
||||
|
||||
// check if enum values are present in header
|
||||
ASSERT_TRUE(headerContent.find("ABC") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("DEF") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("GHI") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("W_FIR") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("W_PINE") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("W_OAK") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("W_SPRUCE") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("C_UNKNOWN") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("C_RED") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("C_CYAN") != std::string::npos);
|
||||
|
||||
// check if comments are present in header
|
||||
ASSERT_TRUE(headerContent.find("tEnumCommentary") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("alpha-element-description") != std::string::npos);
|
||||
ASSERT_TRUE(headerContent.find("alpha-element-comment") != std::string::npos);
|
||||
|
||||
std::remove(PATH_RESULT_HEADER.c_str());
|
||||
|
||||
}
|
116
test/ddlinspector/files/ArrayZero.description
Normal file
116
test/ddlinspector/files/ArrayZero.description
Normal file
|
@ -0,0 +1,116 @@
|
|||
<?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>24.04.2013</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="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" 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="tMediaTypeMajor" type="tUInt32">
|
||||
<element name="MEDIA_TYPE_AUDIO" value="9048" />
|
||||
<element name="MEDIA_TYPE_CAN" value="2048" />
|
||||
<element name="MEDIA_TYPE_COMMAND" value="2304" />
|
||||
<element name="MEDIA_TYPE_FLEXRAY" value="1280" />
|
||||
<element name="MEDIA_TYPE_INFO" value="1536" />
|
||||
<element name="MEDIA_TYPE_LIN" value="513" />
|
||||
<element name="MEDIA_TYPE_MOST" value="514" />
|
||||
<element name="MEDIA_TYPE_NETWORK_DATA" value="8192" />
|
||||
<element name="MEDIA_TYPE_REFERENCE" value="4096" />
|
||||
<element name="MEDIA_TYPE_STRUCTURED_DATA" value="768" />
|
||||
<element name="MEDIA_TYPE_VIDEO" value="256" />
|
||||
</enum>
|
||||
<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="tDynStructTest" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32DynArraySize" type="tUInt32" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
123
test/ddlinspector/files/DynArraySize.description
Normal file
123
test/ddlinspector/files/DynArraySize.description
Normal file
|
@ -0,0 +1,123 @@
|
|||
<?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>24.04.2013</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="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" 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="tMediaTypeMajor" type="tUInt32">
|
||||
<element name="MEDIA_TYPE_AUDIO" value="9048" />
|
||||
<element name="MEDIA_TYPE_CAN" value="2048" />
|
||||
<element name="MEDIA_TYPE_COMMAND" value="2304" />
|
||||
<element name="MEDIA_TYPE_FLEXRAY" value="1280" />
|
||||
<element name="MEDIA_TYPE_INFO" value="1536" />
|
||||
<element name="MEDIA_TYPE_LIN" value="513" />
|
||||
<element name="MEDIA_TYPE_MOST" value="514" />
|
||||
<element name="MEDIA_TYPE_NETWORK_DATA" value="8192" />
|
||||
<element name="MEDIA_TYPE_REFERENCE" value="4096" />
|
||||
<element name="MEDIA_TYPE_STRUCTURED_DATA" value="768" />
|
||||
<element name="MEDIA_TYPE_VIDEO" value="256" />
|
||||
</enum>
|
||||
<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="tDynStruct" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32SomeData" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui32DynArraySize" type="tUInt32" />
|
||||
<element alignment="1" arraysize="ui32DynArraySize" byteorder="LE" bytepos="8" name="f64DynamicArray" type="tFloat64" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tDynStructTest" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32DynArraySize" type="tUInt32" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
152
test/ddlinspector/files/NestedCaps.description
Normal file
152
test/ddlinspector/files/NestedCaps.description
Normal file
|
@ -0,0 +1,152 @@
|
|||
<?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>24.04.2013</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="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" 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="tMediaTypeMajor" type="tUInt32">
|
||||
<element name="MEDIA_TYPE_AUDIO" value="2048" />
|
||||
<element name="MEDIA_TYPE_CAN" value="512" />
|
||||
<element name="MEDIA_TYPE_COMMAND" value="2304" />
|
||||
<element name="MEDIA_TYPE_FLEXRAY" value="1280" />
|
||||
<element name="MEDIA_TYPE_INFO" value="1536" />
|
||||
<element name="MEDIA_TYPE_LIN" value="513" />
|
||||
<element name="MEDIA_TYPE_MOST" value="514" />
|
||||
<element name="MEDIA_TYPE_NETWORK_DATA" value="8192" />
|
||||
<element name="MEDIA_TYPE_REFERENCE" value="4096" />
|
||||
<element name="MEDIA_TYPE_STRUCTURED_DATA" value="768" />
|
||||
<element name="MEDIA_TYPE_VIDEO" value="256" />
|
||||
</enum>
|
||||
<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="tTest444" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidth" type="tInt64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="10" name="nBitsPerPixel1" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="nHeight123" type="tInt16" />
|
||||
</struct>
|
||||
|
||||
|
||||
|
||||
<struct alignment="1" name="tBitmapFormat" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="10" name="nWidthBase" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="nBitsPerPixelBase" type="tNest1" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="nBitsPerPixel1Base" type="tInt32" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tNest1" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidthN1" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="nBitsPerPixelN1" type="tNest2" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="14" name="nBitsPerPixel1N1" type="tInt32" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tNest2" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidthN2" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="nBitsPerPixelN2" type="tNest3" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="14" name="nBitsPerPixel1N2" type="tInt32" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tNest3" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidthN5" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="nBitsPerPixelN5" type="tInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="nTEstN5" type="tNestTest" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="14" name="nBitsPerPixel1N5" type="tInt32" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tNestTest" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidthNTest" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="14" name="nBitsPerPixel1NTest" type="tInt32" />
|
||||
</struct>
|
||||
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
126
test/ddlinspector/files/NestedNaming.description
Normal file
126
test/ddlinspector/files/NestedNaming.description
Normal file
|
@ -0,0 +1,126 @@
|
|||
<?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>24.04.2013</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="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" 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="tMediaTypeMajor" type="tUInt32">
|
||||
<element name="MEDIA_TYPE_AUDIO" value="2048" />
|
||||
<element name="MEDIA_TYPE_CAN" value="512" />
|
||||
<element name="MEDIA_TYPE_COMMAND" value="2304" />
|
||||
<element name="MEDIA_TYPE_FLEXRAY" value="1280" />
|
||||
<element name="MEDIA_TYPE_INFO" value="1536" />
|
||||
<element name="MEDIA_TYPE_LIN" value="513" />
|
||||
<element name="MEDIA_TYPE_MOST" value="514" />
|
||||
<element name="MEDIA_TYPE_NETWORK_DATA" value="8192" />
|
||||
<element name="MEDIA_TYPE_REFERENCE" value="4096" />
|
||||
<element name="MEDIA_TYPE_STRUCTURED_DATA" value="768" />
|
||||
<element name="MEDIA_TYPE_VIDEO" value="256" />
|
||||
</enum>
|
||||
<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="tBitmapFormat" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidth" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="nHeight" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="nBitsPerPixel" type="tFloat64" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tBitmapFormat" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidth1" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="nHeight1" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="nBitsPerPixel1" type="tFloat64" />
|
||||
</struct>
|
||||
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
118
test/ddlinspector/files/StructElementNaming.description
Normal file
118
test/ddlinspector/files/StructElementNaming.description
Normal file
|
@ -0,0 +1,118 @@
|
|||
<?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>24.04.2013</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="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" 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="tMediaTypeMajor" type="tUInt32">
|
||||
<element name="MEDIA_TYPE_AUDIO" value="2048" />
|
||||
<element name="MEDIA_TYPE_CAN" value="512" />
|
||||
<element name="MEDIA_TYPE_COMMAND" value="2304" />
|
||||
<element name="MEDIA_TYPE_FLEXRAY" value="1280" />
|
||||
<element name="MEDIA_TYPE_INFO" value="1536" />
|
||||
<element name="MEDIA_TYPE_LIN" value="513" />
|
||||
<element name="MEDIA_TYPE_MOST" value="514" />
|
||||
<element name="MEDIA_TYPE_NETWORK_DATA" value="8192" />
|
||||
<element name="MEDIA_TYPE_REFERENCE" value="4096" />
|
||||
<element name="MEDIA_TYPE_STRUCTURED_DATA" value="768" />
|
||||
<element name="MEDIA_TYPE_VIDEO" value="256" />
|
||||
</enum>
|
||||
<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="tBitmapFormat" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidth" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="nWidth" type="tFloat64" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
126
test/ddlinspector/files/StructNaming.description
Normal file
126
test/ddlinspector/files/StructNaming.description
Normal file
|
@ -0,0 +1,126 @@
|
|||
<?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>24.04.2013</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="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" 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="tMediaTypeMajor" type="tUInt32">
|
||||
<element name="MEDIA_TYPE_AUDIO" value="2048" />
|
||||
<element name="MEDIA_TYPE_CAN" value="512" />
|
||||
<element name="MEDIA_TYPE_COMMAND" value="2304" />
|
||||
<element name="MEDIA_TYPE_FLEXRAY" value="1280" />
|
||||
<element name="MEDIA_TYPE_INFO" value="1536" />
|
||||
<element name="MEDIA_TYPE_LIN" value="513" />
|
||||
<element name="MEDIA_TYPE_MOST" value="514" />
|
||||
<element name="MEDIA_TYPE_NETWORK_DATA" value="8192" />
|
||||
<element name="MEDIA_TYPE_REFERENCE" value="4096" />
|
||||
<element name="MEDIA_TYPE_STRUCTURED_DATA" value="768" />
|
||||
<element name="MEDIA_TYPE_VIDEO" value="256" />
|
||||
</enum>
|
||||
<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="tBitmapFormat" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidth" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="nHeight" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="nBitsPerPixel" type="tFloat64" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tBitmapFormat" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidth1" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="nHeight1" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="nBitsPerPixel1" type="tFloat64" />
|
||||
</struct>
|
||||
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
120
test/ddlinspector/files/UnitNaming.description
Normal file
120
test/ddlinspector/files/UnitNaming.description
Normal file
|
@ -0,0 +1,120 @@
|
|||
<?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>24.04.2013</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 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" 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="tMediaTypeMajor" type="tUInt32">
|
||||
<element name="MEDIA_TYPE_AUDIO" value="9048" />
|
||||
<element name="MEDIA_TYPE_CAN" value="2048" />
|
||||
<element name="MEDIA_TYPE_COMMAND" value="2304" />
|
||||
<element name="MEDIA_TYPE_FLEXRAY" value="1280" />
|
||||
<element name="MEDIA_TYPE_INFO" value="1536" />
|
||||
<element name="MEDIA_TYPE_LIN" value="513" />
|
||||
<element name="MEDIA_TYPE_MOST" value="514" />
|
||||
<element name="MEDIA_TYPE_NETWORK_DATA" value="8192" />
|
||||
<element name="MEDIA_TYPE_REFERENCE" value="4096" />
|
||||
<element name="MEDIA_TYPE_STRUCTURED_DATA" value="768" />
|
||||
<element name="MEDIA_TYPE_VIDEO" value="256" />
|
||||
</enum>
|
||||
<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="tBitmapFormat" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nWidth" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="nHeight" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="nBitsPerPixel" type="tFloat64" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
133
test/ddlinspector/files/base_all2.description
Normal file
133
test/ddlinspector/files/base_all2.description
Normal file
|
@ -0,0 +1,133 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>WROTHFL</author>
|
||||
<date_creation>09.10.2014</date_creation>
|
||||
<date_change>09.10.2014</date_change>
|
||||
<description>Generated by ADTF 2.13.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="adtf_core_media_type" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="mediatype" type="tMediaTypeInfo" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tMediaTypeInfo" version="0">
|
||||
<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_type_audio" version="0">
|
||||
<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>
|
||||
<struct alignment="1" name="tWaveFormat" version="0">
|
||||
<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="0">
|
||||
<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="tBitmapFormat" version="0">
|
||||
<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="tInt16" />
|
||||
<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>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
136
test/ddlinspector/files/base_all_duplicates.description
Normal file
136
test/ddlinspector/files/base_all_duplicates.description
Normal file
|
@ -0,0 +1,136 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>WROTHFL</author>
|
||||
<date_creation>09.10.2014</date_creation>
|
||||
<date_change>09.10.2014</date_change>
|
||||
<description>Generated by ADTF 2.13.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" />
|
||||
<element name="DUPLICATE_1" value="20" />
|
||||
<element name="DUPLICATE_1" value="123" />
|
||||
<element name="DUPLICATE_2" value="0" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="1" name="adtf_core_media_type" version="0">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="mediatype" type="tMediaTypeInfo" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tMediaTypeInfo" version="0">
|
||||
<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_type_audio" version="0">
|
||||
<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>
|
||||
<struct alignment="1" name="tWaveFormat" version="0">
|
||||
<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="0">
|
||||
<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="tBitmapFormat" version="0">
|
||||
<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="tInt16" />
|
||||
<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>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
30
test/ddlinspector/files/invalid_duplicate.description
Normal file
30
test/ddlinspector/files/invalid_duplicate.description
Normal file
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>2.0</language_version>
|
||||
<author>TTTech TTX-Mwcodegenerator (Version 0.7.28, 02-Oct-2013)</author>
|
||||
<date_creation>02-10-2013</date_creation>
|
||||
<date_change/>
|
||||
<description>All zFAS types used by any of the SW-Cs</description>
|
||||
</header>
|
||||
<datatypes>
|
||||
<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 tFloat32 datatype" name="tFloat32" size="32"/>
|
||||
</datatypes>
|
||||
<structs>
|
||||
<struct alignment="1" name="ObjectFusiontAssociation" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="objectId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="associatedTrackId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="associatedTrackId" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="ObjectFusiontAssociationList" version="1">
|
||||
<element alignment="1" arraysize="64" byteorder="LE" bytepos="26" name="assocs" type="ObjectFusiontAssociation" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams/>
|
||||
</adtf:ddl>
|
17
test/ddlinspector/src/CMakeLists.txt
Normal file
17
test/ddlinspector/src/CMakeLists.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
set(TEST_NAME ddlinspector)
|
||||
|
||||
add_executable(tester_${TEST_NAME} tester_${TEST_NAME}.cpp)
|
||||
|
||||
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
|
||||
GTest::Main
|
||||
$<$<PLATFORM_ID:Linux>:Threads::Threads>
|
||||
)
|
||||
add_test(NAME tester_${TEST_NAME}
|
||||
COMMAND tester_${TEST_NAME}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../")
|
347
test/ddlinspector/src/tester_ddlinspector.cpp
Normal file
347
test/ddlinspector/src/tester_ddlinspector.cpp
Normal file
|
@ -0,0 +1,347 @@
|
|||
/**
|
||||
* @file
|
||||
* Implementation of the tester for the DDL inspector.
|
||||
*
|
||||
* @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
|
||||
*/
|
||||
|
||||
#include <ddl.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include "../../_common/adtf_compat.h"
|
||||
#include "../../_common/compat.h"
|
||||
|
||||
using namespace ddl;
|
||||
|
||||
#define 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>"
|
||||
|
||||
|
||||
/**
|
||||
* @detail Test for auto bytepos correction in nested structs by inspecting
|
||||
* an ADTF description file for gaps/overlaps between elements
|
||||
*/
|
||||
TEST(cTesterDDLInspector,
|
||||
TestGapsAndPadding)
|
||||
{
|
||||
TEST_REQ("ACORE-4637");
|
||||
|
||||
a_util::filesystem::Path strDescriptionFileName = "files/NestedCaps.description";
|
||||
|
||||
DDLImporter oImporter(strDescriptionFileName);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oImporter.createNew());
|
||||
DDLDescription *poDDL = oImporter.getDDL();
|
||||
|
||||
DDLInspector oInspector(true);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oInspector.visitDDL(poDDL));
|
||||
|
||||
ASSERT_FALSE(oInspector.foundDynamicArrays());
|
||||
|
||||
ImporterMsgList lstMsgs = oInspector.getSuggestions();
|
||||
|
||||
DDLComplex *poComplex = poDDL->getStructByName("tBitmapFormat");
|
||||
DDLElementVec vecElement = poComplex->getElements();
|
||||
|
||||
ASSERT_TRUE((0 == vecElement[0]->getBytepos())) << "Excpected Bytepos == 0";
|
||||
ASSERT_TRUE((8 == vecElement[1]->getBytepos())) << "Excpected Bytepos == 8";
|
||||
ASSERT_TRUE((60 == vecElement[2]->getBytepos())) << "Excpected Bytepos == 92";
|
||||
|
||||
poComplex = poDDL->getStructByName("tNest1");
|
||||
vecElement = poComplex->getElements();
|
||||
ASSERT_TRUE((0 == vecElement[0]->getBytepos())) << "Excpected Bytepos == 0";
|
||||
ASSERT_TRUE((8 == vecElement[1]->getBytepos())) << "Excpected Bytepos == 8";
|
||||
ASSERT_TRUE((48 == vecElement[2]->getBytepos())) << "Excpected Bytepos == 80";
|
||||
|
||||
poComplex = poDDL->getStructByName("tNest2");
|
||||
vecElement = poComplex->getElements();
|
||||
ASSERT_TRUE((0 == vecElement[0]->getBytepos())) << "Excpected Bytepos == 0";
|
||||
ASSERT_TRUE((8 == vecElement[1]->getBytepos())) << "Excpected Bytepos == 8";
|
||||
ASSERT_TRUE((36 == vecElement[2]->getBytepos())) << "Excpected Bytepos == 68";
|
||||
|
||||
poComplex = poDDL->getStructByName("tNest3");
|
||||
vecElement = poComplex->getElements();
|
||||
ASSERT_TRUE((0 == vecElement[0]->getBytepos())) << "Excpected Bytepos == 0";
|
||||
ASSERT_TRUE((8 == vecElement[1]->getBytepos())) << "Excpected Bytepos == 8";
|
||||
ASSERT_TRUE((12 == vecElement[2]->getBytepos())) << "Excpected Bytepos == 56";
|
||||
|
||||
poComplex = poDDL->getStructByName("tNestTest");
|
||||
vecElement = poComplex->getElements();
|
||||
ASSERT_TRUE((0 == vecElement[0]->getBytepos())) << "Excpected Bytepos == 0";
|
||||
ASSERT_TRUE((8 == vecElement[1]->getBytepos())) << "Excpected Bytepos == 8";
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Test, that no Node name is duplicated by inspecting
|
||||
* an ADTF description file for correct names
|
||||
*/
|
||||
TEST(cTesterDDLInspector,
|
||||
TestNaming)
|
||||
{
|
||||
TEST_REQ("ACORE-4637");
|
||||
|
||||
a_util::filesystem::Path strDescriptionFileName = "files/StructNaming.description";
|
||||
|
||||
// Check in Duplicate Names - StructNaming
|
||||
DDLImporter oImporter(strDescriptionFileName, false);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oImporter.createNew());
|
||||
DDLDescription *poDDL = oImporter.getDDL();
|
||||
|
||||
DDLInspector oInspector;
|
||||
oInspector.visitDDL(poDDL);
|
||||
ImporterMsgList lstMsgs = oInspector.getSuggestions();
|
||||
|
||||
ASSERT_TRUE(lstMsgs.size() == 1) << "One Error Expected";
|
||||
|
||||
for (ImporterMsgList::iterator itMsg = lstMsgs.begin(); itMsg != lstMsgs.end(); ++itMsg)
|
||||
{
|
||||
ASSERT_TRUE(((*itMsg).severity == importer_error)) << "An Error Expected";
|
||||
}
|
||||
|
||||
// Check in Duplicate Names - StructElementNaming
|
||||
strDescriptionFileName = "files/StructElementNaming.description";
|
||||
DDLImporter oImporterElementNaming(strDescriptionFileName, false);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oImporterElementNaming.createNew());
|
||||
poDDL = oImporterElementNaming.getDDL();
|
||||
|
||||
DDLInspector oInspectorElementNaming(false);
|
||||
oInspectorElementNaming.visitDDL(poDDL);
|
||||
lstMsgs = oInspectorElementNaming.getSuggestions();
|
||||
|
||||
ASSERT_TRUE(lstMsgs.size() == 1) << "One Error Expected";
|
||||
|
||||
for (ImporterMsgList::iterator itMsg = lstMsgs.begin(); itMsg != lstMsgs.end(); ++itMsg)
|
||||
{
|
||||
ASSERT_TRUE(((*itMsg).severity == importer_error)) << "An Error Expected";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Test that the user became a warning if he used a dynamic array
|
||||
* or an element with array size [0] by inspecting an ADTF description file for dynamic Arrays.
|
||||
*/
|
||||
TEST(cTesterDDLInspector,
|
||||
TestDynArraySize)
|
||||
{
|
||||
TEST_REQ("ACORE-4637");
|
||||
|
||||
a_util::filesystem::Path strDescriptionFileName = "files/DynArraySize.description";
|
||||
|
||||
DDLImporter oImporterDyn(strDescriptionFileName);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oImporterDyn.createNew());
|
||||
DDLDescription *poDDLDyn = oImporterDyn.getDDL();
|
||||
|
||||
DDLInspector oInspectorDyn(false);
|
||||
oInspectorDyn.visitDDL(poDDLDyn);
|
||||
|
||||
ASSERT_TRUE(oInspectorDyn.foundDynamicArrays()) << "Dynamic array should be found";
|
||||
|
||||
ImporterMsgList lstMsgsDyn = oInspectorDyn.getSuggestions();
|
||||
|
||||
ASSERT_TRUE((lstMsgsDyn.size() == 1)) << "One Warning Expected";
|
||||
|
||||
for (ImporterMsgList::iterator itMsg = lstMsgsDyn.begin(); itMsg != lstMsgsDyn.end(); ++itMsg)
|
||||
{
|
||||
ASSERT_TRUE((*itMsg).severity == importer_warning) << "An Warning Expected";
|
||||
}
|
||||
|
||||
/////
|
||||
//ARRAYSIZE == 0
|
||||
strDescriptionFileName = "files/DynArraySize.description";
|
||||
|
||||
DDLImporter oImporter(strDescriptionFileName);
|
||||
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oImporter.createNew());
|
||||
DDLDescription *poDDL = oImporter.getDDL();
|
||||
DDLComplex *poDDLStruct = poDDL->getStructByName("tDynStructTest");
|
||||
DDLElementVec vecElement = poDDLStruct->getElements();
|
||||
vecElement[0]->setArraysize(0);
|
||||
|
||||
DDLInspector oInspector(false);
|
||||
oInspector.visitDDL(poDDL);
|
||||
ImporterMsgList lstMsgs = oInspector.getSuggestions();
|
||||
|
||||
ASSERT_TRUE((lstMsgs.size() == 2)) << "Two Warnings Expected";
|
||||
|
||||
for (ImporterMsgList::iterator itMsg = lstMsgs.begin(); itMsg != lstMsgs.end(); ++itMsg)
|
||||
{
|
||||
ASSERT_TRUE((*itMsg).severity == importer_warning) << "An Warning Expected";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Test if the last byte position and last element size are correctly returned
|
||||
* by inspecting an ADTF description file and returning a Byte position.
|
||||
*/
|
||||
TEST(cTesterDDLInspector,
|
||||
TestLastByteInclusiveElementSize)
|
||||
{
|
||||
TEST_REQ("ACORE-6774");
|
||||
|
||||
a_util::filesystem::Path strDescriptionFileName = "files/NestedCaps.description";
|
||||
DDLImporter oImporter(strDescriptionFileName);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oImporter.createNew());
|
||||
DDLDescription *poDDL = oImporter.getDDL();
|
||||
|
||||
DDLInspector oInspector(false);
|
||||
oInspector.visitDDL(poDDL);
|
||||
|
||||
ASSERT_TRUE(7 == oInspector.getLastBytePosOfAStructReal("tBitmapFormat")) << "Excpected Bytepos == 7";
|
||||
ASSERT_TRUE(64 == oInspector.getLastBytePosOfAStructCorrected("tBitmapFormat")) << "Excpected Bytepos == 96";
|
||||
|
||||
ASSERT_TRUE(18 == oInspector.getLastBytePosOfAStructReal("tNestTest")) << "Excpected Bytepos == 18";
|
||||
ASSERT_TRUE(12 == oInspector.getLastBytePosOfAStructCorrected("tNestTest")) << "Excpected Bytepos == 12";
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Test that errors in referenced sub-struct do not trigger an endless loop
|
||||
* by inspecting an ADTF description file.
|
||||
*/
|
||||
TEST(cTesterDDLInspector,
|
||||
TestNameDuplicate)
|
||||
{
|
||||
TEST_REQ("ACORE-7178");
|
||||
|
||||
a_util::filesystem::Path strDescriptionFileName = "files/invalid_duplicate.description";
|
||||
DDLImporter oImporter(strDescriptionFileName, false);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oImporter.createNew());
|
||||
DDLDescription *poDDL = oImporter.getDDL();
|
||||
|
||||
DDLInspector oInspector(false);
|
||||
ASSERT_NE(a_util::result::SUCCESS, oInspector.visitDDL(poDDL));
|
||||
}
|
||||
|
||||
/**
|
||||
* @detail Test that severity of warnings give output depending on the selected level
|
||||
* by inspecting an ADTF description file.
|
||||
*/
|
||||
TEST(cTesterDDLInspector,
|
||||
TestWarningLevel)
|
||||
{
|
||||
TEST_REQ("CDDDL-23");
|
||||
|
||||
a_util::filesystem::Path strDescriptionFileName = "files/base_all_duplicates.description";
|
||||
DDLImporter oImporter(strDescriptionFileName, false);
|
||||
oImporter.setMergeDefaults(false);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oImporter.createNew());
|
||||
DDLDescription *poDDL = oImporter.getDDL();
|
||||
DDLInspector oInspector(false);
|
||||
// test default is moderate
|
||||
// get some warnings about duplicates
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oInspector.visitDDL(poDDL));
|
||||
ASSERT_EQ(oInspector.getSuggestions().size(), 3);
|
||||
ASSERT_EQ(oInspector.getWarningLevel(), ddl::WarningLevel::moderate);
|
||||
|
||||
// no suggestions anymore
|
||||
oInspector.setWarningLevel(ddl::WarningLevel::silent);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oInspector.visitDDL(poDDL));
|
||||
ASSERT_EQ(oInspector.getWarningLevel(), ddl::WarningLevel::silent);
|
||||
ASSERT_EQ(oInspector.getSuggestions().size(), 0);
|
||||
|
||||
// get 4 additional warnings about the biggest element/types first
|
||||
oInspector.setWarningLevel(ddl::WarningLevel::verbose);
|
||||
ASSERT_EQ(a_util::result::SUCCESS, oInspector.visitDDL(poDDL));
|
||||
ASSERT_EQ(oInspector.getWarningLevel(), ddl::WarningLevel::verbose);
|
||||
auto lst = oInspector.getSuggestions();
|
||||
ASSERT_EQ(oInspector.getSuggestions().size(), 7);
|
||||
}
|
||||
|
94
test/ddlrepresentation/files/adtf.description
Normal file
94
test/ddlrepresentation/files/adtf.description
Normal file
|
@ -0,0 +1,94 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>20130703</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" size="8" name="tBool" />
|
||||
<datatype description="predefined ADTF tChar datatype" size="8" name="tChar" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" size="8" name="tUInt8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" size="8" name="tInt8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" size="16" name="tUInt16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" size="16" name="tInt16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" size="32" name="tUInt32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" size="32" name="tInt32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" size="64" name="tUInt64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" size="64" name="tInt64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" size="32" name="tFloat32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" size="64" name="tFloat64" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<!-- TYPE DESCRIPTIONS-->
|
||||
<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="tInt16" />
|
||||
<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 name="tWaveFormat" alignment="1" version="1">
|
||||
<element type="tInt32" name="nFormatType" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nChannels" bytepos="4" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSamplesPerSec" bytepos="8" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nBitsPerSample" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nNumSamples" bytepos="16" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSize" bytepos="20" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<struct 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 name="adtf.type.audio" version="1">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tWaveFormat" name="sWaveFormat" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<!--SAMPLE CONTENT DESCRIPTIONS-->
|
||||
|
||||
<struct alignment="1" name="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
</streams>
|
||||
<enums/>
|
||||
</adtf:ddl>
|
93
test/ddlrepresentation/files/adtf1.description
Normal file
93
test/ddlrepresentation/files/adtf1.description
Normal file
|
@ -0,0 +1,93 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>1.0+</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>20100407</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" size="8" name="tBool" />
|
||||
<datatype description="predefined ADTF tChar datatype" size="8" name="tChar" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" size="8" name="tUInt8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" size="8" name="tInt8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" size="16" name="tUInt16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" size="16" name="tInt16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" size="32" name="tUInt32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" size="32" name="tInt32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" size="64" name="tUInt64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" size="64" name="tInt64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" size="32" name="tFloat32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" size="64" name="tFloat64" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<!-- TYPE DESCRIPTIONS-->
|
||||
<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="tInt16" />
|
||||
<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 name="tWaveFormat" alignment="1" version="1">
|
||||
<element type="tInt32" name="nFormatType" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nChannels" bytepos="4" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSamplesPerSec" bytepos="8" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nBitsPerSample" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nNumSamples" bytepos="16" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSize" bytepos="20" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<struct 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 name="adtf.type.audio" version="1">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tWaveFormat" name="sWaveFormat" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<!--SAMPLE CONTENT DESCRIPTIONS-->
|
||||
|
||||
<struct alignment="1" name="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
94
test/ddlrepresentation/files/adtf2.xml
Normal file
94
test/ddlrepresentation/files/adtf2.xml
Normal file
|
@ -0,0 +1,94 @@
|
|||
<?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>20100407</date_creation>
|
||||
<date_change>20110301</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
<baseunit description="Smallest information unit" name="bit" symbol="b" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" name="tBool" size="8" unit="bit"/>
|
||||
<datatype description="predefined ADTF tChar datatype" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" name="tFloat64" size="64" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" name="tUInt8" size="8" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<!-- TYPE DESCRIPTIONS-->
|
||||
<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="tInt16" />
|
||||
<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 name="tWaveFormat" alignment="1" version="1">
|
||||
<element type="tInt32" name="nFormatType" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nChannels" bytepos="4" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSamplesPerSec" bytepos="8" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nBitsPerSample" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nNumSamples" bytepos="16" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSize" bytepos="20" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<struct 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 name="adtf.type.audio" version="1">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tWaveFormat" name="sWaveFormat" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<!--SAMPLE CONTENT DESCRIPTIONS-->
|
||||
|
||||
<struct alignment="1" type="tCanMessage2" name="tCanMessage2" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" type="tCanMessageExt2" name="tCanMessageExt2" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="can" name="can_stream2" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessage2" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream2" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessageExt2" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
94
test/ddlrepresentation/files/adtf_1_02.description
Normal file
94
test/ddlrepresentation/files/adtf_1_02.description
Normal file
|
@ -0,0 +1,94 @@
|
|||
<?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>20100407</date_creation>
|
||||
<date_change>20110301</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
<baseunit description="Smallest information unit" name="bit" symbol="b" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" name="tBool" size="8" unit="bit"/>
|
||||
<datatype description="predefined ADTF tChar datatype" name="tChar" size="8" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" name="tFloat64" size="64" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" name="tUInt8" size="8" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<!-- TYPE DESCRIPTIONS-->
|
||||
<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="tInt16" />
|
||||
<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 name="tWaveFormat" alignment="1" version="1">
|
||||
<element type="tInt32" name="nFormatType" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nChannels" bytepos="4" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSamplesPerSec" bytepos="8" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nBitsPerSample" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nNumSamples" bytepos="16" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSize" bytepos="20" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<struct 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 name="adtf.type.audio" version="1">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tWaveFormat" name="sWaveFormat" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<!--SAMPLE CONTENT DESCRIPTIONS-->
|
||||
|
||||
<struct alignment="1" type="tCanMessage2" name="tCanMessage2" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" type="tCanMessageExt2" name="tCanMessageExt2" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="can" name="can_stream2" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessage2" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream2" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessageExt2" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
93
test/ddlrepresentation/files/adtf_1_0p.description
Normal file
93
test/ddlrepresentation/files/adtf_1_0p.description
Normal file
|
@ -0,0 +1,93 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>1.0+</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>20100407</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" size="8" name="tBool" />
|
||||
<datatype description="predefined ADTF tChar datatype" size="8" name="tChar" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" size="8" name="tUInt8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" size="8" name="tInt8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" size="16" name="tUInt16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" size="16" name="tInt16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" size="32" name="tUInt32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" size="32" name="tInt32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" size="64" name="tUInt64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" size="64" name="tInt64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" size="32" name="tFloat32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" size="64" name="tFloat64" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<!-- TYPE DESCRIPTIONS-->
|
||||
<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="tInt16" />
|
||||
<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 name="tWaveFormat" alignment="1" version="1">
|
||||
<element type="tInt32" name="nFormatType" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nChannels" bytepos="4" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSamplesPerSec" bytepos="8" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nBitsPerSample" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nNumSamples" bytepos="16" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSize" bytepos="20" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<struct 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 name="adtf.type.audio" version="1">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tWaveFormat" name="sWaveFormat" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<!--SAMPLE CONTENT DESCRIPTIONS-->
|
||||
|
||||
<struct alignment="1" name="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
154
test/ddlrepresentation/files/adtf_1_0p_out_expected.xml
Normal file
154
test/ddlrepresentation/files/adtf_1_0p_out_expected.xml
Normal file
|
@ -0,0 +1,154 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>1.0+</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>07.04.2010</date_creation>
|
||||
<date_change>01.01.1900</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="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" 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="tInt16" />
|
||||
<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>
|
||||
<struct alignment="1" name="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessage" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessageExt" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
36
test/ddlrepresentation/files/adtf_1_0p_resolved_expected.xml
Normal file
36
test/ddlrepresentation/files/adtf_1_0p_resolved_expected.xml
Normal file
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>1.0+</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>07.04.2011</date_creation>
|
||||
<date_change>07.04.2011</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units />
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tUInt32 datatype" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" name="tUInt8" size="8" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<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="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="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessageExt" type="tCanMessageExt" />
|
||||
</stream>
|
||||
</streams>
|
||||
</adtf:ddl>
|
144
test/ddlrepresentation/files/adtf_changed_expected.xml
Normal file
144
test/ddlrepresentation/files/adtf_changed_expected.xml
Normal file
|
@ -0,0 +1,144 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>07.04.2010</date_creation>
|
||||
<date_change>01.01.1900</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="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 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="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="tInt16" />
|
||||
<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>
|
||||
<struct alignment="1" name="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessage" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="video stream" name="new_video" type="adtf.type.video" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
99
test/ddlrepresentation/files/adtf_dynamic.description
Normal file
99
test/ddlrepresentation/files/adtf_dynamic.description
Normal file
|
@ -0,0 +1,99 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>20130703</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" size="8" name="tBool" />
|
||||
<datatype description="predefined ADTF tChar datatype" size="8" name="tChar" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" size="8" name="tUInt8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" size="8" name="tInt8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" size="16" name="tUInt16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" size="16" name="tInt16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" size="32" name="tUInt32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" size="32" name="tInt32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" size="64" name="tUInt64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" size="64" name="tInt64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" size="32" name="tFloat32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" size="64" name="tFloat64" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<!-- TYPE DESCRIPTIONS-->
|
||||
<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="tInt16" />
|
||||
<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="tBitmaps" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="nCounter" type="tInt32" />
|
||||
<element alignment="1" arraysize="nCounter" byteorder="LE" bytepos="4" name="bitmaps" type="tBitmapFormat" />
|
||||
</struct>
|
||||
|
||||
<struct name="tWaveFormat" alignment="1" version="1">
|
||||
<element type="tInt32" name="nFormatType" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nChannels" bytepos="4" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSamplesPerSec" bytepos="8" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nBitsPerSample" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nNumSamples" bytepos="16" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSize" bytepos="20" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<struct 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 name="adtf.type.audio" version="1">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tWaveFormat" name="sWaveFormat" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<!--SAMPLE CONTENT DESCRIPTIONS-->
|
||||
|
||||
<struct alignment="1" name="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
</streams>
|
||||
<enums/>
|
||||
</adtf:ddl>
|
173
test/ddlrepresentation/files/adtf_merged_expected.xml
Normal file
173
test/ddlrepresentation/files/adtf_merged_expected.xml
Normal file
|
@ -0,0 +1,173 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>07.04.2010</date_creation>
|
||||
<date_change>03.07.2013</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<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="" />
|
||||
<baseunit description="Smallest information unit" name="bit" symbol="b" />
|
||||
<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" 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="adtf.core.media_type" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="mediatype" type="tMediaTypeInfo" />
|
||||
</struct>
|
||||
<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.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>
|
||||
<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="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="tInt16" />
|
||||
<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="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tCanMessage2" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tCanMessageExt2" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessage" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="can" name="can_stream2" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessage2" type="tCanMessage2" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessageExt" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream2" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessageExt2" type="tCanMessageExt2" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
173
test/ddlrepresentation/files/adtf_merged_ovrwrt_expected.xml
Normal file
173
test/ddlrepresentation/files/adtf_merged_ovrwrt_expected.xml
Normal file
|
@ -0,0 +1,173 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>07.04.2010</date_creation>
|
||||
<date_change>03.07.2013</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<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="" />
|
||||
<baseunit description="Smallest information unit" name="bit" symbol="b" />
|
||||
<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="adtf.core.media_type" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="mediatype" type="tMediaTypeInfo" />
|
||||
</struct>
|
||||
<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.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>
|
||||
<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="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="tInt16" />
|
||||
<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="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tCanMessage2" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tCanMessageExt2" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessage" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="can" name="can_stream2" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessage2" type="tCanMessage2" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessageExt" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream2" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessageExt2" type="tCanMessageExt2" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>20130701</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Description File for test purposes</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" size="8" name="tBool" min="0" max="1" />
|
||||
<datatype description="predefined ADTF tChar datatype" size="8" name="tChar" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" size="8" name="tUInt8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" size="8" name="tInt8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" size="16" name="tUInt16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" size="16" name="tInt16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" size="32" name="tUInt32" min="0" max="10"/>
|
||||
<datatype description="predefined ADTF tInt32 datatype" size="32" name="tInt32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" size="64" name="tUInt64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" size="64" name="tInt64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" size="32" name="tFloat32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" size="64" name="tFloat64" />
|
||||
</datatypes>
|
||||
<enums/>
|
||||
<structs>
|
||||
<struct alignment="1" name="tMinMaxDefaultStruct" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Value" type="tUInt16" min="2" max="255" default="3" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="SomeStructWithBool" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui2Bool" type="tBool" min="0" max="1" default="tTrue"/>
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="SomeStructU16WithBoolLimits" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Value1" type="tUInt16" min="tFalse" max="tTrue" default="tTrue"/>
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="SomeStructBoolWithU16Limits" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui2Bool1" type="tBool" min="2" max="34" default="tTrue"/>
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="SomeStructWithBoolWithoutMinMax" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui2Bool2" type="tBool" default="5" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tMinMaxDerived" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Derived" type="tUInt32" default="15" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tOutOfBounds" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="i16TooLow" type="tInt16" min="-5" max="5" default="-10" />
|
||||
</struct>
|
||||
|
||||
</structs>
|
||||
<streams/>
|
||||
</adtf:ddl>
|
155
test/ddlrepresentation/files/adtf_out_expected.xml
Normal file
155
test/ddlrepresentation/files/adtf_out_expected.xml
Normal file
|
@ -0,0 +1,155 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>07.04.2010</date_creation>
|
||||
<date_change>03.07.2013</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="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="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="tInt16" />
|
||||
<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="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" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui8Channel" type="tUInt8" />
|
||||
</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="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessage" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessageExt" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
96
test/ddlrepresentation/files/adtf_recursion.description
Normal file
96
test/ddlrepresentation/files/adtf_recursion.description
Normal file
|
@ -0,0 +1,96 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>20130703</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" size="8" name="tBool" />
|
||||
<datatype description="predefined ADTF tChar datatype" size="8" name="tChar" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" size="8" name="tUInt8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" size="8" name="tInt8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" size="16" name="tUInt16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" size="16" name="tInt16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" size="32" name="tUInt32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" size="32" name="tInt32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" size="64" name="tUInt64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" size="64" name="tInt64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" size="32" name="tFloat32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" size="64" name="tFloat64" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<!-- TYPE DESCRIPTIONS-->
|
||||
<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="recursion" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="subelement" type="recursion" />
|
||||
</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="tInt16" />
|
||||
<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 name="tWaveFormat" alignment="1" version="1">
|
||||
<element type="tInt32" name="nFormatType" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nChannels" bytepos="4" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSamplesPerSec" bytepos="8" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nBitsPerSample" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nNumSamples" bytepos="16" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSize" bytepos="20" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<struct 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 name="adtf.type.audio" version="1">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tWaveFormat" name="sWaveFormat" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<!--SAMPLE CONTENT DESCRIPTIONS-->
|
||||
|
||||
<struct alignment="1" name="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
</streams>
|
||||
</adtf:ddl>
|
37
test/ddlrepresentation/files/adtf_resolved_expected.xml
Normal file
37
test/ddlrepresentation/files/adtf_resolved_expected.xml
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>07.04.2010</date_creation>
|
||||
<date_change>03.07.2013</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units />
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tUInt32 datatype" max="4294967295" min="0" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" max="255" min="0" name="tUInt8" size="8" />
|
||||
</datatypes>
|
||||
<enums />
|
||||
<structs>
|
||||
<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="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="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessageExt" type="tCanMessageExt" />
|
||||
</stream>
|
||||
</streams>
|
||||
</adtf:ddl>
|
44
test/ddlrepresentation/files/adtf_v40.description
Normal file
44
test/ddlrepresentation/files/adtf_v40.description
Normal file
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>4.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>20130703</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units/>
|
||||
<datatypes/>
|
||||
<structs>
|
||||
<struct alignment="4" name="tTest" version="1" ddlversion="2.0">
|
||||
<element name="bBool" type="tBool" arraysize="1">
|
||||
<serialized byteorder="LE" bytepos="0" bitpos="0" numbits="8"/>
|
||||
<deserialized alignment="1"/>
|
||||
</element>
|
||||
<element name="nInt8" type="tInt8" arraysize="1">
|
||||
<serialized byteorder="LE" bytepos="1" bitpos="0" numbits="8"/>
|
||||
<deserialized alignment="1"/>
|
||||
</element>
|
||||
<element name="nUInt32" type="tUInt32" arraysize="1">
|
||||
<serialized byteorder="LE" bytepos="2" bitpos="0" numbits="32"/>
|
||||
<deserialized alignment="4"/>
|
||||
</element>
|
||||
<element name="fFloat32" type="tFloat32" arraysize="1">
|
||||
<serialized byteorder="LE" bytepos="6" bitpos="0" numbits="32"/>
|
||||
<deserialized alignment="4"/>
|
||||
</element>
|
||||
</struct>
|
||||
</structs>
|
||||
<streams/>
|
||||
<enums/>
|
||||
<streammetatypes>
|
||||
<streammetatype name="test_parent_not_yet_defined" version="1" parent="adtf/default"/>
|
||||
<streammetatype name="adtf/default" version="1">
|
||||
<property name="md_struct" type="string"/>
|
||||
<property name="md_definitions" type="string"/>
|
||||
</streammetatype>
|
||||
<streammetatype name="test" version="1" parent="adtf/default">
|
||||
<property name="test_prop" type="tInt32"/>
|
||||
</streammetatype>
|
||||
</streammetatypes>
|
||||
</adtf:ddl>
|
127
test/ddlrepresentation/files/fep_driver.description
Normal file
127
test/ddlrepresentation/files/fep_driver.description
Normal file
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>KERNAND</author>
|
||||
<date_creation>24.06.2014</date_creation>
|
||||
<date_change>31.03.2015</date_change>
|
||||
<description>FEP Driver standard interfaces</description>
|
||||
</header>
|
||||
<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="tFEP_Driver_WiperState" type="tUInt8">
|
||||
<element name="WS_Off" value="0" />
|
||||
<element name="WS_Auto" value="1" />
|
||||
<element name="WS_Interval" value="2" />
|
||||
<element name="WS_OnStandard" value="3" />
|
||||
<element name="WS_OnFast" value="4" />
|
||||
</enum>
|
||||
<enum name="tFEP_Driver_LightState" type="tUInt8">
|
||||
<element name="LS_Off" value="0" />
|
||||
<element name="LS_Auto" value="1" />
|
||||
<element name="LS_Parking" value="2" />
|
||||
<element name="LS_OnLowBeam" value="3" />
|
||||
<element name="LS_OnHighBeam" value="4" />
|
||||
</enum>
|
||||
<enum name="tFEP_Driver_AalaInterventionPoint" type="tUInt8">
|
||||
<element name="AIP_Early" value="0" />
|
||||
<element name="AIP_Late" value="1" />
|
||||
</enum>
|
||||
<enum name="tFEP_Driver_GearSelection" type="tUInt8">
|
||||
<element name="GS_P" value="0" />
|
||||
<element name="GS_D" value="1" />
|
||||
<element name="GS_R" value="2" />
|
||||
<element name="GS_N" value="3" />
|
||||
<element name="GS_1" value="4" />
|
||||
<element name="GS_2" value="5" />
|
||||
<element name="GS_3" value="6" />
|
||||
<element name="GS_4" value="7" />
|
||||
<element name="GS_5" value="8" />
|
||||
<element name="GS_6" value="9" />
|
||||
<element name="GS_7" value="10" />
|
||||
<element name="GS_8" value="11" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<struct alignment="1" name="tFEP_Driver_DriverCtrl" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="f64SimTime" type="tFloat64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="ui32VehicleId" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="eGear" type="tFEP_Driver_GearSelection" />
|
||||
<element alignment="1" arraysize="3" byteorder="LE" bytepos="13" name="ui8Spare0" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="sLongitudinal" type="tFEP_Driver_LongitudinalControl" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="40" name="sLateral" type="tFEP_Driver_LateralControl" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="56" name="sLightControl" type="tFEP_Driver_LightControl" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="72" name="sWiperControl" type="tFEP_Driver_WiperControl" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="80" name="sAccControl" type="tFEP_Driver_AccControl" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="88" name="sAalaControl" type="tFEP_Driver_AalaControl" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="96" name="sAdditionalControl" type="tFEP_Driver_AdditionalControl" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="104" name="ui32ValidityMask" type="tUInt32" />
|
||||
<element alignment="1" arraysize="4" byteorder="LE" bytepos="108" name="ui8Spare1" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tFEP_Driver_LongitudinalControl" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="f32ThrottlePedal" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="f32BrakePedal" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="f32ClutchPedal" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="f32AccelTarget" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="f32SpeedTarget" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="20" name="ui32ValidityMask" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tFEP_Driver_LateralControl" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="f32SteeringWheel" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="f32SteeringTarget" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="f32SteeringTorque" type="tFloat32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="12" name="ui32ValidityMask" type="tUInt32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tFEP_Driver_LightControl" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="eLightState" type="tFEP_Driver_LightState" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="1" name="bIndicatorLeft" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="bIndicatorRight" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="bFlashLight" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="bFogFront" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="bFogRear" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="6" name="bEmergency" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="7" name="ui8Spare0" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="ui32ValidityMask" type="tUInt32" />
|
||||
<element alignment="1" arraysize="4" byteorder="LE" bytepos="12" name="ui8Spare1" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tFEP_Driver_WiperControl" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="eFrontState" type="tFEP_Driver_WiperState" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="1" name="eRearState" type="tFEP_Driver_WiperState" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="bWashFront" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="bWashRear" type="tBool" />
|
||||
<element alignment="1" arraysize="4" byteorder="LE" bytepos="4" name="ui8Spare" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tFEP_Driver_AccControl" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="bActive" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="1" name="ui8GapSelected" type="tUInt8" />
|
||||
<element alignment="1" arraysize="2" byteorder="LE" bytepos="2" name="ui8Spare" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="f32SpeedTarget" type="tFloat32" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tFEP_Driver_AalaControl" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="bActive" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="BE" bytepos="1" name="eIntervention" type="tFEP_Driver_AalaInterventionPoint" />
|
||||
<element alignment="1" arraysize="6" byteorder="LE" bytepos="2" name="ui8Spare" type="tUInt8" />
|
||||
</struct>
|
||||
<struct alignment="1" name="tFEP_Driver_AdditionalControl" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="bParkingBrake" type="tBool" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="1" name="bHorn" type="tBool" />
|
||||
<element alignment="1" arraysize="2" byteorder="LE" bytepos="2" name="ui8Spare" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui32ValidityMask" type="tUInt32" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
103
test/ddlrepresentation/files/force_version_ddl-2.0.description
Normal file
103
test/ddlrepresentation/files/force_version_ddl-2.0.description
Normal file
|
@ -0,0 +1,103 @@
|
|||
<?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>01.01.1900</date_creation>
|
||||
<date_change>01.01.1900</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="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" 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="tStruct" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui8Value" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
|
@ -0,0 +1,103 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>01.01.1900</date_creation>
|
||||
<date_change>01.01.1900</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="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="tStruct" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui8Value" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
103
test/ddlrepresentation/files/force_version_ddl-3.0.description
Normal file
103
test/ddlrepresentation/files/force_version_ddl-3.0.description
Normal file
|
@ -0,0 +1,103 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>01.01.1900</date_creation>
|
||||
<date_change>01.01.1900</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="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="tStruct" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" default="3" max="255" min="2" name="ui8Value" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>2.0</language_version>
|
||||
<author>ANOAFR4</author>
|
||||
<date_creation>05-14-2013</date_creation>
|
||||
<date_change/>
|
||||
<description>Invalid numbits attribute TestDescription</description>
|
||||
</header>
|
||||
<datatypes>
|
||||
<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 tFloat32 datatype" name="tFloat32" size="32"/>
|
||||
</datatypes>
|
||||
<structs>
|
||||
<struct alignment="1" name="ObjectFusiontAssociation" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="singleitem" type="tUInt32" />
|
||||
<element alignment="1" arraysize="2" numbits="32" byteorder="LE" bytepos="4" name="arrayitem" type="tUInt32" />
|
||||
</struct>
|
||||
</structs>
|
||||
</adtf:ddl>
|
28
test/ddlrepresentation/files/no_structs.description
Normal file
28
test/ddlrepresentation/files/no_structs.description
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?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>20120316</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" size="8" name="tBool" />
|
||||
<datatype description="predefined ADTF tChar datatype" size="8" name="tChar" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" size="8" name="tUInt8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" size="8" name="tInt8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" size="16" name="tUInt16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" size="16" name="tInt16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" size="32" name="tUInt32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" size="32" name="tInt32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" size="64" name="tUInt64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" size="64" name="tInt64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" size="32" name="tFloat32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" size="64" name="tFloat64" />
|
||||
</datatypes>
|
||||
<streams/>
|
||||
</adtf:ddl>
|
118
test/ddlrepresentation/files/partial_expected.description
Normal file
118
test/ddlrepresentation/files/partial_expected.description
Normal file
|
@ -0,0 +1,118 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>FNEUMTH</author>
|
||||
<date_creation>01.07.2013</date_creation>
|
||||
<date_change>01.07.2013</date_change>
|
||||
<description>ADTF generated</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="adtf.core.media_type" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="mediatype" type="tMediaTypeInfo" />
|
||||
</struct>
|
||||
<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="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="Another CAN" name="can2" type="adtf.core.media_type">
|
||||
<struct bytepos="0" name="tCanMessage" type="tCanMessage" />
|
||||
</stream>
|
||||
</streams>
|
||||
</adtf:ddl>
|
96
test/ddlrepresentation/files/printer.description
Normal file
96
test/ddlrepresentation/files/printer.description
Normal file
|
@ -0,0 +1,96 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>3.00</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>20130703</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" size="8" name="tBool" />
|
||||
<datatype description="predefined ADTF tChar datatype" size="8" name="tChar" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" size="8" name="tUInt8" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" size="8" name="tInt8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" size="16" name="tUInt16" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" size="16" name="tInt16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" size="32" name="tUInt32" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" size="32" name="tInt32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" size="64" name="tUInt64" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" size="64" name="tInt64" />
|
||||
<datatype description="predefined ADTF tFloat32 datatype" size="32" name="tFloat32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" size="64" name="tFloat64" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<!-- TYPE DESCRIPTIONS-->
|
||||
<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="tInt16" />
|
||||
<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 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 name="adtf.type.audio" version="1">
|
||||
<element type="tMediaTypeInfo" name="sMediatype" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tWaveFormat" name="sWaveFormat" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui8Channel" type="tUInt8" />
|
||||
</struct>
|
||||
|
||||
<!-- it is very important that this is after adtf.type.audio where it is referenced -->
|
||||
<struct name="tWaveFormat" alignment="1" version="1">
|
||||
<element type="tInt32" name="nFormatType" bytepos="0" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nChannels" bytepos="4" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSamplesPerSec" bytepos="8" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nBitsPerSample" bytepos="12" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nNumSamples" bytepos="16" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
<element type="tInt32" name="nSize" bytepos="20" arraysize="1" byteorder="LE" alignment="1"/>
|
||||
</struct>
|
||||
|
||||
<!--SAMPLE CONTENT DESCRIPTIONS-->
|
||||
|
||||
<struct alignment="1" name="tCanMessage" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui16Id" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="2" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="3" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="4" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
|
||||
<struct alignment="1" name="tCanMessageExt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="ui32Id" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="ui8Channel" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="5" name="ui8Length" type="tUInt8" />
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="6" name="pui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams>
|
||||
<stream description="can" name="can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessage" />
|
||||
</stream>
|
||||
<stream description="extended can" name="extended_can_stream" type="adtf.core.media_type">
|
||||
<struct bytepos="0" type="tCanMessageExt" />
|
||||
</stream>
|
||||
<stream description="video stream" name="video_stream" type="adtf.type.video" />
|
||||
<stream description="video stream" name="audio_stream" type="adtf.type.audio" />
|
||||
</streams>
|
||||
<enums/>
|
||||
</adtf:ddl>
|
81
test/ddlrepresentation/files/test_insert.description
Normal file
81
test/ddlrepresentation/files/test_insert.description
Normal file
|
@ -0,0 +1,81 @@
|
|||
<?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>06.05.2014</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
<ext_declaration key="a" value="a" />
|
||||
<ext_declaration key="b" value="b" />
|
||||
<ext_declaration key="d" value="d" />
|
||||
<ext_declaration key="e" value="e" />
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="a" name="a" symbol="a" />
|
||||
<baseunit description="b" name="b" symbol="b" />
|
||||
<baseunit description="d" name="d" symbol="d" />
|
||||
<baseunit description="e" name="e" symbol="e" />
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
<prefixes name="a" power="1" symbol="a" />
|
||||
<prefixes name="b" power="1" symbol="b" />
|
||||
<prefixes name="d" power="1" symbol="d" />
|
||||
<prefixes name="e" power="1" symbol="e" />
|
||||
<unit name="a">
|
||||
<numerator>1</numerator>
|
||||
<denominator>1</denominator>
|
||||
<offset>1.000000</offset>
|
||||
<refUnit name="a" power="1" prefix="a" />
|
||||
<refUnit name="b" power="1" prefix="b" />
|
||||
<refUnit name="d" power="1" prefix="d" />
|
||||
<refUnit name="e" power="1" prefix="e" />
|
||||
</unit>
|
||||
<unit name="b">
|
||||
<numerator>2</numerator>
|
||||
<denominator>2</denominator>
|
||||
<offset>2.000000</offset>
|
||||
</unit>
|
||||
<unit name="d">
|
||||
<numerator>4</numerator>
|
||||
<denominator>4</denominator>
|
||||
<offset>4.000000</offset>
|
||||
</unit>
|
||||
<unit name="e">
|
||||
<numerator>5</numerator>
|
||||
<denominator>5</denominator>
|
||||
<offset>5.000000</offset>
|
||||
</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 tFloat32 datatype" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" name="tFloat64" size="64" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" name="tUInt8" size="8" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="test_enum" type="tUInt32">
|
||||
<element name="test_eum_element" value="99" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<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="test_complex_dt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="a" type="tUInt64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="8" name="b" type="tInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="10" name="d" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="14" name="e" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
136
test/ddlrepresentation/files/test_insert_results.description
Normal file
136
test/ddlrepresentation/files/test_insert_results.description
Normal file
|
@ -0,0 +1,136 @@
|
|||
<?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>02.09.2016</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
<ext_declaration key="c3" value="c3" />
|
||||
<ext_declaration key="a" value="a" />
|
||||
<ext_declaration key="b" value="b" />
|
||||
<ext_declaration key="c" value="c" />
|
||||
<ext_declaration key="d" value="d" />
|
||||
<ext_declaration key="e" value="e" />
|
||||
<ext_declaration key="c2" value="c2" />
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="c3" name="c3" symbol="c3" />
|
||||
<baseunit description="a" name="a" symbol="a" />
|
||||
<baseunit description="b" name="b" symbol="b" />
|
||||
<baseunit description="c" name="c" symbol="c" />
|
||||
<baseunit description="d" name="d" symbol="d" />
|
||||
<baseunit description="e" name="e" symbol="e" />
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
<baseunit description="c2" name="c2" symbol="c2" />
|
||||
<prefixes name="a" power="1" symbol="a" />
|
||||
<prefixes name="b" power="1" symbol="b" />
|
||||
<prefixes name="d" power="1" symbol="d" />
|
||||
<prefixes name="e" power="1" symbol="e" />
|
||||
<unit name="c3">
|
||||
<numerator>1</numerator>
|
||||
<denominator>1</denominator>
|
||||
<offset>1.000000</offset>
|
||||
<refUnit name="c3" power="1" prefix="a" />
|
||||
<refUnit name="a" power="1" prefix="a" />
|
||||
<refUnit name="b" power="1" prefix="b" />
|
||||
<refUnit name="c" power="1" prefix="a" />
|
||||
<refUnit name="d" power="1" prefix="d" />
|
||||
<refUnit name="e" power="1" prefix="e" />
|
||||
<refUnit name="c2" power="1" prefix="a" />
|
||||
</unit>
|
||||
<unit name="a">
|
||||
<numerator>1</numerator>
|
||||
<denominator>1</denominator>
|
||||
<offset>1.000000</offset>
|
||||
<refUnit name="c3" power="1" prefix="a" />
|
||||
<refUnit name="a" power="1" prefix="a" />
|
||||
<refUnit name="b" power="1" prefix="b" />
|
||||
<refUnit name="c" power="1" prefix="a" />
|
||||
<refUnit name="d" power="1" prefix="d" />
|
||||
<refUnit name="e" power="1" prefix="e" />
|
||||
<refUnit name="c2" power="1" prefix="a" />
|
||||
</unit>
|
||||
<unit name="b">
|
||||
<numerator>2</numerator>
|
||||
<denominator>2</denominator>
|
||||
<offset>2.000000</offset>
|
||||
</unit>
|
||||
<unit name="c">
|
||||
<numerator>1</numerator>
|
||||
<denominator>1</denominator>
|
||||
<offset>1.000000</offset>
|
||||
<refUnit name="c3" power="1" prefix="a" />
|
||||
<refUnit name="a" power="1" prefix="a" />
|
||||
<refUnit name="b" power="1" prefix="b" />
|
||||
<refUnit name="c" power="1" prefix="a" />
|
||||
<refUnit name="d" power="1" prefix="d" />
|
||||
<refUnit name="e" power="1" prefix="e" />
|
||||
<refUnit name="c2" power="1" prefix="a" />
|
||||
</unit>
|
||||
<unit name="d">
|
||||
<numerator>4</numerator>
|
||||
<denominator>4</denominator>
|
||||
<offset>4.000000</offset>
|
||||
</unit>
|
||||
<unit name="e">
|
||||
<numerator>5</numerator>
|
||||
<denominator>5</denominator>
|
||||
<offset>5.000000</offset>
|
||||
</unit>
|
||||
<unit name="c2">
|
||||
<numerator>1</numerator>
|
||||
<denominator>1</denominator>
|
||||
<offset>1.000000</offset>
|
||||
<refUnit name="c3" power="1" prefix="a" />
|
||||
<refUnit name="a" power="1" prefix="a" />
|
||||
<refUnit name="b" power="1" prefix="b" />
|
||||
<refUnit name="c" power="1" prefix="a" />
|
||||
<refUnit name="d" power="1" prefix="d" />
|
||||
<refUnit name="e" power="1" prefix="e" />
|
||||
<refUnit name="c2" power="1" prefix="a" />
|
||||
</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 tFloat32 datatype" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" name="tFloat64" size="64" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" name="tUInt8" size="8" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="test_enum" type="tUInt32">
|
||||
<element name="test_eum_element" value="99" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<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="test_complex_dt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="test_enum_2" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="tHeaderStruct_2" type="tHeaderStruct" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="tUInt16_2" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="18" name="test_enum_0" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="22" name="a" type="tUInt64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="30" name="tHeaderStruct_0" type="tHeaderStruct" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="42" name="b" type="tInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="44" name="tUInt16_0" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="46" name="d" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="50" name="e" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="51" name="tUInt16_1" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="53" name="tHeaderStruct_1" type="tHeaderStruct" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="65" name="test_enum_1" type="tUInt32" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
<streammetatypes />
|
||||
</adtf:ddl>
|
135
test/ddlrepresentation/files/test_insert_results_ref.description
Normal file
135
test/ddlrepresentation/files/test_insert_results_ref.description
Normal file
|
@ -0,0 +1,135 @@
|
|||
<?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>07.04.2010</date_change>
|
||||
<description>ADTF Common Description File</description>
|
||||
<ext_declaration key="c3" value="c3" />
|
||||
<ext_declaration key="a" value="a" />
|
||||
<ext_declaration key="b" value="b" />
|
||||
<ext_declaration key="c" value="c" />
|
||||
<ext_declaration key="d" value="d" />
|
||||
<ext_declaration key="e" value="e" />
|
||||
<ext_declaration key="c2" value="c2" />
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="c3" name="c3" symbol="c3" />
|
||||
<baseunit description="a" name="a" symbol="a" />
|
||||
<baseunit description="b" name="b" symbol="b" />
|
||||
<baseunit description="c" name="c" symbol="c" />
|
||||
<baseunit description="d" name="d" symbol="d" />
|
||||
<baseunit description="e" name="e" symbol="e" />
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
<baseunit description="c2" name="c2" symbol="c2" />
|
||||
<prefixes name="a" power="1" symbol="a" />
|
||||
<prefixes name="b" power="1" symbol="b" />
|
||||
<prefixes name="d" power="1" symbol="d" />
|
||||
<prefixes name="e" power="1" symbol="e" />
|
||||
<unit name="c3">
|
||||
<numerator>1</numerator>
|
||||
<denominator>1</denominator>
|
||||
<offset>1.000000</offset>
|
||||
<refUnit name="c3" power="1" prefix="a" />
|
||||
<refUnit name="a" power="1" prefix="a" />
|
||||
<refUnit name="b" power="1" prefix="b" />
|
||||
<refUnit name="c" power="1" prefix="a" />
|
||||
<refUnit name="d" power="1" prefix="d" />
|
||||
<refUnit name="e" power="1" prefix="e" />
|
||||
<refUnit name="c2" power="1" prefix="a" />
|
||||
</unit>
|
||||
<unit name="a">
|
||||
<numerator>1</numerator>
|
||||
<denominator>1</denominator>
|
||||
<offset>1.000000</offset>
|
||||
<refUnit name="c3" power="1" prefix="a" />
|
||||
<refUnit name="a" power="1" prefix="a" />
|
||||
<refUnit name="b" power="1" prefix="b" />
|
||||
<refUnit name="c" power="1" prefix="a" />
|
||||
<refUnit name="d" power="1" prefix="d" />
|
||||
<refUnit name="e" power="1" prefix="e" />
|
||||
<refUnit name="c2" power="1" prefix="a" />
|
||||
</unit>
|
||||
<unit name="b">
|
||||
<numerator>2</numerator>
|
||||
<denominator>2</denominator>
|
||||
<offset>2.000000</offset>
|
||||
</unit>
|
||||
<unit name="c">
|
||||
<numerator>1</numerator>
|
||||
<denominator>1</denominator>
|
||||
<offset>1.000000</offset>
|
||||
<refUnit name="c3" power="1" prefix="a" />
|
||||
<refUnit name="a" power="1" prefix="a" />
|
||||
<refUnit name="b" power="1" prefix="b" />
|
||||
<refUnit name="c" power="1" prefix="a" />
|
||||
<refUnit name="d" power="1" prefix="d" />
|
||||
<refUnit name="e" power="1" prefix="e" />
|
||||
<refUnit name="c2" power="1" prefix="a" />
|
||||
</unit>
|
||||
<unit name="d">
|
||||
<numerator>4</numerator>
|
||||
<denominator>4</denominator>
|
||||
<offset>4.000000</offset>
|
||||
</unit>
|
||||
<unit name="e">
|
||||
<numerator>5</numerator>
|
||||
<denominator>5</denominator>
|
||||
<offset>5.000000</offset>
|
||||
</unit>
|
||||
<unit name="c2">
|
||||
<numerator>1</numerator>
|
||||
<denominator>1</denominator>
|
||||
<offset>1.000000</offset>
|
||||
<refUnit name="c3" power="1" prefix="a" />
|
||||
<refUnit name="a" power="1" prefix="a" />
|
||||
<refUnit name="b" power="1" prefix="b" />
|
||||
<refUnit name="c" power="1" prefix="a" />
|
||||
<refUnit name="d" power="1" prefix="d" />
|
||||
<refUnit name="e" power="1" prefix="e" />
|
||||
<refUnit name="c2" power="1" prefix="a" />
|
||||
</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 tFloat32 datatype" name="tFloat32" size="32" />
|
||||
<datatype description="predefined ADTF tFloat64 datatype" name="tFloat64" size="64" />
|
||||
<datatype description="predefined ADTF tInt16 datatype" name="tInt16" size="16" />
|
||||
<datatype description="predefined ADTF tInt32 datatype" name="tInt32" size="32" />
|
||||
<datatype description="predefined ADTF tInt64 datatype" name="tInt64" size="64" />
|
||||
<datatype description="predefined ADTF tInt8 datatype" name="tInt8" size="8" />
|
||||
<datatype description="predefined ADTF tUInt16 datatype" name="tUInt16" size="16" />
|
||||
<datatype description="predefined ADTF tUInt32 datatype" name="tUInt32" size="32" />
|
||||
<datatype description="predefined ADTF tUInt64 datatype" name="tUInt64" size="64" />
|
||||
<datatype description="predefined ADTF tUInt8 datatype" name="tUInt8" size="8" />
|
||||
</datatypes>
|
||||
<enums>
|
||||
<enum name="test_enum" type="tUInt32">
|
||||
<element name="test_eum_element" value="99" />
|
||||
</enum>
|
||||
</enums>
|
||||
<structs>
|
||||
<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="test_complex_dt" version="1">
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="0" name="test_enum_2" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="4" name="tHeaderStruct_2" type="tHeaderStruct" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="16" name="tUInt16_2" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="18" name="test_enum_0" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="22" name="a" type="tUInt64" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="30" name="tHeaderStruct_0" type="tHeaderStruct" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="42" name="b" type="tInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="44" name="tUInt16_0" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="46" name="d" type="tUInt32" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="50" name="e" type="tUInt8" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="51" name="tUInt16_1" type="tUInt16" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="53" name="tHeaderStruct_1" type="tHeaderStruct" />
|
||||
<element alignment="1" arraysize="1" byteorder="LE" bytepos="65" name="test_enum_1" type="tUInt32" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams />
|
||||
</adtf:ddl>
|
24
test/ddlrepresentation/files/unresolved_datatype.description
Normal file
24
test/ddlrepresentation/files/unresolved_datatype.description
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?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>20100407</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tBool datatype" size="8" name="tBool" />
|
||||
<datatype description="predefined ADTF tChar datatype" size="8" name="tChar" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<!-- TYPE DESCRIPTIONS-->
|
||||
<struct alignment="1" name="MyUnicodeText" version="1">
|
||||
<element alignment="1" arraysize="32" byteorder="LE" bytepos="0" name="strText" type="tUTF16" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams/>
|
||||
</adtf:ddl>
|
17
test/ddlrepresentation/src/CMakeLists.txt
Normal file
17
test/ddlrepresentation/src/CMakeLists.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
set(TEST_NAME ddlrepresentation)
|
||||
|
||||
add_executable(tester_${TEST_NAME} tester_${TEST_NAME}.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}/../")
|
680
test/ddlrepresentation/src/ddl_definitions.h
Normal file
680
test/ddlrepresentation/src/ddl_definitions.h
Normal file
|
@ -0,0 +1,680 @@
|
|||
/**
|
||||
* @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>\
|
||||
";
|
||||
|
||||
// Test DDL that has special characters in name
|
||||
static const std::string DDL_TEST_STRING_SPECIAL_NAMES =
|
||||
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"no\"?>\n \
|
||||
<adtf:ddl xmlns:adtf=\"adtf\">\n \
|
||||
<header>\
|
||||
<language_version>4.00</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>\
|
||||
<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 />\
|
||||
<streams />\
|
||||
<units />\
|
||||
<structs>\n \
|
||||
<!-- TYPE DESCRIPTIONS-->\n \
|
||||
<struct alignment=\"1\" name=\"name_with+special/characters\" version=\"1\">\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"0\" name=\"ui32/MajorType\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"4\" name=\"ui32_Sub+Type\" type=\"tUInt32\" />\n \
|
||||
<element alignment=\"1\" arraysize=\"1\" byteorder=\"LE\" bytepos=\"8\" name=\"ui32.Flags\" type=\"tUInt32\" />\n \
|
||||
</struct>\n \
|
||||
</structs>\n \
|
||||
</adtf:ddl>";
|
||||
|
||||
static const std::string DDL_TEST_STRING_STATIC_ARRAY = R"ESCAPE(
|
||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
||||
<adtf:ddl xmlns:adtf="adtf">
|
||||
<header>
|
||||
<language_version>4.1.0</language_version>
|
||||
<author>AUDI Electronics Venture GmbH</author>
|
||||
<date_creation>20120316</date_creation>
|
||||
<date_change />
|
||||
<description>ADTF Common Description File</description>
|
||||
</header>
|
||||
<units>
|
||||
<baseunit description="this is the no unit class" name="nou" symbol="" />
|
||||
</units>
|
||||
<datatypes>
|
||||
<datatype description="predefined ADTF tUInt8 datatype" size="8" name="tUInt8" />
|
||||
</datatypes>
|
||||
<structs>
|
||||
<struct alignment="1" name="tStaticArray" version="1">
|
||||
<element alignment="1" arraysize="8" byteorder="LE" bytepos="0" name="ui8Data" type="tUInt8" />
|
||||
</struct>
|
||||
</structs>
|
||||
<streams/>
|
||||
</adtf:ddl>
|
||||
|
||||
)ESCAPE";
|
||||
|
||||
#endif
|
1695
test/ddlrepresentation/src/tester_ddlrepresentation.cpp
Normal file
1695
test/ddlrepresentation/src/tester_ddlrepresentation.cpp
Normal file
File diff suppressed because it is too large
Load diff
8
test/function/api/src/CMakeLists.txt
Normal file
8
test/function/api/src/CMakeLists.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
add_executable(tester_ddl_type_api test_fixture_ddl_types.h tester_ddl_types.cpp)
|
||||
set_target_properties(tester_ddl_type_api PROPERTIES FOLDER test/ddl/api)
|
||||
target_link_libraries(tester_ddl_type_api PRIVATE ddl_test_compat
|
||||
ddl
|
||||
GTest::Main)
|
||||
|
||||
add_test(tester_ddl_type_api tester_ddl_type_api)
|
||||
set_target_properties(tester_ddl_type_api PROPERTIES TIMEOUT 10)
|
54
test/function/api/src/test_fixture_ddl_types.h
Normal file
54
test/function/api/src/test_fixture_ddl_types.h
Normal file
|
@ -0,0 +1,54 @@
|
|||
#ifndef DDL_LIBRARY_TEST_FUNCTION_API_TEST_FIXTURE_DDL_TYPES_HEADER_INCLUDED_
|
||||
#define DDL_LIBRARY_TEST_FUNCTION_API_TEST_FIXTURE_DDL_TYPES_HEADER_INCLUDED_
|
||||
|
||||
#include <type_traits>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
class DDLTypesTestFixture : public ::testing::Test
|
||||
{
|
||||
public:
|
||||
template<typename DDLType, typename ... Args>
|
||||
bool isCopyable(Args&&... args) const noexcept
|
||||
{
|
||||
// copyable compile time check
|
||||
static_assert(std::is_copy_constructible<DDLType>::value, "Not copy constructible");
|
||||
static_assert(std::is_copy_assignable<DDLType>::value, "Not copy assignable");
|
||||
|
||||
// copyable runtime functionality
|
||||
const DDLType copy_source(std::forward<Args>(args)...);
|
||||
DDLType copy_sink(copy_source);
|
||||
copy_sink = copy_sink.operator=(copy_source);
|
||||
return true;
|
||||
}
|
||||
|
||||
template<typename DDLType, typename ... Args>
|
||||
bool isMovable(Args&&...) const noexcept
|
||||
{
|
||||
static_assert(std::is_move_constructible<DDLType>::value, "Not move constructible");
|
||||
static_assert(std::is_move_assignable<DDLType>::value, "Not move assignable");
|
||||
|
||||
// TODO: Add check for valid move during runtime
|
||||
return true;
|
||||
}
|
||||
|
||||
template<typename DDLType, typename ... Args>
|
||||
bool isNotCopyable(Args&&... args) const noexcept
|
||||
{
|
||||
// copyable compile time check
|
||||
static_assert(!std::is_copy_constructible<DDLType>::value, "Copy constructible");
|
||||
static_assert(!std::is_copy_assignable<DDLType>::value, "Copy assignable");
|
||||
return true;
|
||||
}
|
||||
|
||||
template<typename DDLType, typename ... Args>
|
||||
bool isNotMovable(Args&&...) const noexcept
|
||||
{
|
||||
static_assert(!std::is_move_constructible<DDLType>::value, "Move constructible");
|
||||
static_assert(!std::is_move_assignable<DDLType>::value, "Move assignable");
|
||||
|
||||
// TODO: Add check for valid move during runtime
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // DDL_LIBRARY_TEST_FUNCTION_API_TEST_FIXTURE_DDL_TYPES_HEADER_INCLUDED_
|
283
test/function/api/src/tester_ddl_types.cpp
Normal file
283
test/function/api/src/tester_ddl_types.cpp
Normal file
|
@ -0,0 +1,283 @@
|
|||
#include "ddl.h"
|
||||
#include "test_fixture_ddl_types.h"
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDL)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
struct DDLMOC : public ddl::DDL
|
||||
{
|
||||
using Result = a_util::result::Result;
|
||||
Result accept(ddl::IDDLChangeVisitor*) override { return a_util::result::SUCCESS; }
|
||||
Result accept(ddl::IDDLVisitor*) const override { return a_util::result::SUCCESS; }
|
||||
const std::string& getName() const override { return _name; }
|
||||
|
||||
private:
|
||||
std::string _name;
|
||||
};
|
||||
|
||||
EXPECT_TRUE(isCopyable<DDLMOC>());
|
||||
EXPECT_TRUE(isMovable<DDLMOC>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLAlignment)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLAlignment>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLAlignment>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLBaseunit)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLBaseunit>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLBaseunit>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLByteorder)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
struct DDLByteOrderMOC : public ddl::DDLByteorder
|
||||
{
|
||||
using Result = a_util::result::Result;
|
||||
Result accept(ddl::IDDLChangeVisitor*) override { return a_util::result::SUCCESS; }
|
||||
Result accept(ddl::IDDLVisitor*) const override { return a_util::result::SUCCESS; }
|
||||
const std::string& getName() const override { return _name; }
|
||||
|
||||
private:
|
||||
std::string _name;
|
||||
};
|
||||
|
||||
EXPECT_TRUE(isCopyable<DDLByteOrderMOC>());
|
||||
EXPECT_TRUE(isMovable<DDLByteOrderMOC>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLComplex)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLComplex>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLComplex>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLDataType)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLDataType>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLDataType>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLAutoVec)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
struct DeleteTester : public ddl::DDLElement
|
||||
{
|
||||
DeleteTester() { ++DeleteTester::not_deleted(); }
|
||||
~DeleteTester() { --DeleteTester::not_deleted(); }
|
||||
static int& not_deleted() { static int count{}; return count; }
|
||||
};
|
||||
|
||||
{
|
||||
std::vector<DeleteTester*> elements(10, nullptr);
|
||||
std::for_each(elements.begin(), elements.end(), [](DeleteTester*& element) {
|
||||
element = new DeleteTester();
|
||||
});
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLAutoVec<DeleteTester>>(&elements));
|
||||
EXPECT_TRUE(isMovable<ddl::DDLAutoVec<DeleteTester>>(&elements));
|
||||
}
|
||||
EXPECT_EQ(DeleteTester::not_deleted(), 0);
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLCloner)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLCloner>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLCloner>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLCompare)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLCompare>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLCompare>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLContainerNoClone)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLContainerNoClone<ddl::DDLDataType>>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLContainerNoClone<ddl::DDLDataType>>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLContainer)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLContainer<ddl::DDLDataType>>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLContainer<ddl::DDLDataType>>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLDescription)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isNotCopyable<ddl::DDLDescription>(nullptr));
|
||||
EXPECT_TRUE(isMovable<ddl::DDLDescription>(nullptr));
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLElement)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLElement>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLElement>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLEnum)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLEnum>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLEnum>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLError)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLError>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLError>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLExtDeclaration)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLExtDeclaration>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLExtDeclaration>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLHeader)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLHeader>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLHeader>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLImporter)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLImporter>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLImporter>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLInspector)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLInspector>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLInspector>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLPrefix)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLPrefix>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLPrefix>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLPrinter)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLPrinter>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLPrinter>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLProperty)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLProperty>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLProperty>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLRefUnit)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLRefUnit>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLRefUnit>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLRepair)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLRepair>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLRepair>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLResolver)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLResolver>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLResolver>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLStream)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLStream>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLStream>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLStreamMetaType)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLStreamMetaType>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLStreamMetaType>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLStreamStruct)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLStreamStruct>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLStreamStruct>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLUnit)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLUnit>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLUnit>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDDLVersion)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::DDLVersion>());
|
||||
EXPECT_TRUE(isMovable<ddl::DDLVersion>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsStaticDecoder)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isNotCopyable<ddl::StaticDecoder>());
|
||||
EXPECT_TRUE(isMovable<ddl::StaticDecoder>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsDecoder)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isNotCopyable<ddl::Decoder>());
|
||||
EXPECT_TRUE(isMovable<ddl::Decoder>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsCodec)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isNotCopyable<ddl::Codec>());
|
||||
EXPECT_TRUE(isMovable<ddl::Codec>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsStaticCodec)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isNotCopyable<ddl::StaticCodec>());
|
||||
EXPECT_TRUE(isMovable<ddl::StaticCodec>());
|
||||
}
|
||||
|
||||
TEST_F(DDLTypesTestFixture, testCopyAndMoveSemanticsCodecFactory)
|
||||
{
|
||||
TEST_REQ("CDDDL-89");
|
||||
EXPECT_TRUE(isCopyable<ddl::CodecFactory>());
|
||||
EXPECT_TRUE(isMovable<ddl::CodecFactory>());
|
||||
}
|
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>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue