ADTF
|
definition of the dd namespace More...
Namespaces | |
datamodel | |
definition of the datamodel namespace | |
utility | |
definition of the old compatibility utility namespace | |
Classes | |
struct | DDFromXMLFactory |
Factory to create a DataDefinition out of a XML based description. More... | |
struct | DDToXMLFactory |
Template class to create DD DOM nodes with the help of the type DOM_NODE_TYPE. More... | |
class | DataDefinition |
The Data Definiton class uses the validation model to keep a Data Definition datamodel (ddl::dd::datamodel::DataDefinition) valid or inform about inconsitence: See: More... | |
class | AlignmentConversion |
Alignment Conversion utility. More... | |
class | AlignmentValidation |
Alignment ConvValidation utility. More... | |
class | ByteOrderConversion |
ByteOrder Conversion utility. More... | |
class | ByteOrderDefault |
Default ByteOrder Discovery utility class. More... | |
class | Version |
DDL Version. More... | |
class | VersionConversion |
Version conversion utility class. More... | |
class | ArraySize |
Sinc DDL 2.0 it is possible to define arraysize with a string that indicates a dynamic array. More... | |
class | StructElementAccess |
Class to access and obtain the byte position and other information of a instance of this element within a struct (see StructTypeAccess). More... | |
class | StructElementAccessIterator |
Iterator to iterate thru the StructTypeAccess. More... | |
class | StructTypeAccess |
Accessing class for a instance of a struct. More... | |
class | Error |
Exception helper class to collect information while parsing, adding DD Objects or other failed operatons. More... | |
struct | Problem |
Problem to report to find the corresponding item name in a simple way. More... | |
Enumerations | |
enum | TypeOfType : uint8_t { invalid_type , data_type , enum_type , struct_type , stream_meta_type } |
Classification of a Type. More... | |
enum | TypeOfUnit : uint8_t { invalid_unit , unit , base_unit } |
Classification of unit. More... | |
enum | Alignment : size_t { e0 = 1 , e1 = 1 , e2 = 2 , e4 = 4 , e8 = 8 , e16 = 16 , e32 = 32 , e64 = 64 , e_invalid = 255 } |
Alignment defintion. More... | |
enum | ByteOrder { platform_not_supported = 0x00 , plattform_little_endian_8 = 0x01 , platform_big_endian_8 = 0x02 , e_noe = platform_not_supported , e_le = plattform_little_endian_8 , e_be = platform_big_endian_8 } |
Representation of the byteorder enumeration. | |
enum | InfoType : uint8_t { validation_info , validation_service_info , type_info , element_type_info , named_container_info = element_type_info , last_info , last_info_last_index = 200 , additional_compatible_members = 201 } |
The Info model type defines the kind of infomodel and interface. More... | |
enum class | ValidationLevel : uint8_t { dont_know , invalid , good_enough , valid } |
Validation level. More... | |
Functions | |
bool | addTypeByName (const std::string &type_name, const DataDefinition &source_dd, DataDefinition &destination_dd) |
Helper function which merges or adds the type with the name of type_name . More... | |
bool | addStreamTypeByName (const std::string &stream_type_name, const DataDefinition &source_dd, DataDefinition &destination_dd) |
Merges or add the streamtype with the name of stream_type_name . More... | |
bool | addUnitByName (const std::string &unit_name, const DataDefinition &source_dd, DataDefinition &destination_dd) |
Merges or add the unit with the name of unit_name . More... | |
std::vector< std::string > | transformValidationProblemList (const std::vector< ddl::dd::Problem > &problems) |
transforms the validation protocol of problems to a simple vrctor of strings. More... | |
std::vector< std::string > | transformProblemList (const std::vector< Problem > &problems) |
transforms the Problem List to a simple vector of strings. More... | |
definition of the dd namespace
enum Alignment : size_t |
Alignment defintion.
Enumerator | |
---|---|
e0 | for backward compatibility |
e1 | Default alignment. |
Definition at line 98 of file dd_common_types.h.
enum InfoType : uint8_t |
The Info model type defines the kind of infomodel and interface.
Definition at line 28 of file dd_infomodel_type.h.
enum TypeOfType : uint8_t |
Classification of a Type.
Enumerator | |
---|---|
invalid_type | the type is unknown |
data_type | the type is a data type (DataType) |
enum_type | the type is a enum type (EnumType) |
struct_type | the type is a struct type (StructType) |
stream_meta_type | the type is an stream meta type (StreamMetaType) |
Definition at line 44 of file dd_common_types.h.
enum TypeOfUnit : uint8_t |
Classification of unit.
Enumerator | |
---|---|
invalid_unit | the type of the unit is unknown |
unit | the unit is a unit (Unit) |
base_unit | the unit is a base unit (BaseUnit) |
Definition at line 76 of file dd_common_types.h.
|
strong |
Validation level.
Enumerator | |
---|---|
dont_know | The validation is not known. This means it is not calculated yet. Use i.e. ddl::dd::DataDefinition::validate |
invalid | the validation level is invalid, dependencies can not be obtained or the dependency "to" is invalid (struct to struct i.e.). |
good_enough | Structs and elements can be "good_enough" for the TypeInfo. This means the Coder and Decoder can calculate the sizes and the all access Functions can obtain values. Usually this should be the valid state. The problem is, that there are DataDefinition out there (in the users world) using i.e. units, but does not define the unit within that DD. At this point we do not want to break that code! So good enough means: Not well defined in some cases, but good enough for calculate byte positions and TypeInfo. Only structs, enums and datatypes may have a validationlevel of "good_enough" if there are any other DD Objects used in a DataDefinition and they are "invalid", the DD will also set to "invalid"! |
valid | every thing is well defined. |
Definition at line 66 of file dd_infomodel_type.h.
bool ddl::dd::addStreamTypeByName | ( | const std::string & | stream_type_name, |
const DataDefinition & | source_dd, | ||
DataDefinition & | destination_dd | ||
) |
Merges or add the streamtype with the name of stream_type_name
.
If there are dependencies, they will be retrieved from source_dd
.
following types are considered:
stream_type_name | the typename of the type to add. |
source_dd | dependencies will be obtained from this DataDefinition reference (streammetatype, structtype, etc.) |
destination_dd | where to add or merge |
ddl::dd::Error | throws if the type already exists and is not equal to the given one. Will also check dependencies. |
true | a type was found and added |
false | a type was NOT found and so NOT added |
bool ddl::dd::addTypeByName | ( | const std::string & | type_name, |
const DataDefinition & | source_dd, | ||
DataDefinition & | destination_dd | ||
) |
Helper function which merges or adds the type with the name of type_name
.
If there are dependencies, they will be retrieved from source_dd
.
following types are considered:
type_name | the typename of the type to add. |
source_dd | dependencies will be obtained from this DataDefinition reference (other streammetatype) |
destination_dd | where to add or merge |
ddl::dd::Error | throws if the type already exists and is not equal to the given one. Will also check dependencies. |
true | a type was found and added |
false | a type was NOT found and so NOT added |
bool ddl::dd::addUnitByName | ( | const std::string & | unit_name, |
const DataDefinition & | source_dd, | ||
DataDefinition & | destination_dd | ||
) |
Merges or add the unit with the name of unit_name
.
If there are dependencies, they will be retrieved from source_dd
.
following types are considered:
unit_name | the unitname of the unit to add. |
source_dd | dependencies will be obtained from this DataDefinition reference (baseunit, unitprefix) |
destination_dd | where to add or merge |
ddl::dd::Error | throws if the unit already exists and is not equal to the given one. Will also check dependencies. |
true | a unit was found and added |
false | a unit was NOT found and so NOT added |
std::vector<std::string> ddl::dd::transformProblemList | ( | const std::vector< Problem > & | problems | ) |
transforms the Problem List to a simple vector of strings.
Simple usage:
problems | the problems to tranform. |
std::vector<std::string> ddl::dd::transformValidationProblemList | ( | const std::vector< ddl::dd::Problem > & | problems | ) |
transforms the validation protocol of problems to a simple vrctor of strings.
Simple usage:
problems | the problems to tranform. |