blob: 8c0402c9e47ef411da714df2ed240ec133c757aa [file] [log] [blame]
namespace aos.testing;
enum BaseType : byte {
None,
UType,
Bool,
Byte,
UByte,
Short,
UShort,
Int,
UInt,
Long,
ULong,
Float,
Double,
String,
Vector,
Obj, // Used for tables & structs.
Union,
Array
}
table Location {
name:string;
type:string;
frequency:int;
max_size:int;
}
table Map {
match:Location;
rename:Location;
}
table Application {
name:string;
priority:int;
maps:[Map];
}
table VectorOfStrings {
str:[string];
}
table VectorOfVectorOfString {
v:[VectorOfStrings];
}
struct FooStructNested {
foo_byte:byte;
}
struct FooStruct {
foo_byte:byte;
nested_struct:FooStructNested;
}
struct StructEnum {
foo_enum:BaseType;
}
table Configuration {
locations:[Location] (id: 0);
maps:[Map] (id: 1);
apps:[Application] (id: 2);
imports:[string] (id: 3);
// 8 bit: byte ubyte bool
// 16 bit: short ushort
// 32 bit: int uint float
// 64 bit: long ulong double
// Simple values.
foo_byte:byte (id: 4);
foo_ubyte:ubyte (id: 5);
foo_bool:bool (id: 6);
foo_short:short (id: 7);
foo_ushort:ushort (id: 8);
foo_int:int (id: 9);
foo_uint:uint (id: 10);
foo_long:long (id: 11);
foo_ulong:ulong (id: 12);
foo_float:float (id: 13);
foo_double:double (id: 14);
foo_string:string (id: 15);
foo_enum:BaseType (id: 16);
foo_enum_default:BaseType = None (id: 17);
// Test vectors now.
vector_foo_byte:[byte] (id: 18);
vector_foo_ubyte:[ubyte] (id: 19);
vector_foo_bool:[bool] (id: 20);
vector_foo_short:[short] (id: 21);
vector_foo_ushort:[ushort] (id: 22);
vector_foo_int:[int] (id: 23);
vector_foo_uint:[uint] (id: 24);
vector_foo_long:[long] (id: 25);
vector_foo_ulong:[ulong] (id: 26);
vector_foo_float:[float] (id: 27);
vector_foo_double:[double] (id: 28);
vector_foo_string:[string] (id: 29);
vector_foo_enum:[BaseType] (id: 30);
// And a simple nested application.
single_application:Application (id: 31);
// And nest this object to get some crazy coverage.
nested_config:Configuration (id: 32);
vov:VectorOfVectorOfString (id: 33);
foo_struct:FooStruct (id: 34);
vector_foo_struct:[FooStruct] (id: 35);
foo_struct_enum:StructEnum (id: 36);
}
root_type Configuration;