57 lines
1006 B
Protocol Buffer
57 lines
1006 B
Protocol Buffer
/* Test nanopb option parsing.
|
|
* options.expected lists the patterns that are searched for in the output.
|
|
*/
|
|
|
|
import "nanopb.proto";
|
|
|
|
// File level options
|
|
option (nanopb_fileopt).max_size = 20;
|
|
|
|
message Message1
|
|
{
|
|
required string filesize = 1;
|
|
}
|
|
|
|
// Message level options
|
|
message Message2
|
|
{
|
|
option (nanopb_msgopt).max_size = 30;
|
|
required string msgsize = 1;
|
|
}
|
|
|
|
// Field level options
|
|
message Message3
|
|
{
|
|
required string fieldsize = 1 [(nanopb).max_size = 40];
|
|
}
|
|
|
|
// Forced callback field
|
|
message Message4
|
|
{
|
|
required int32 int32_callback = 1 [(nanopb).type = FT_CALLBACK];
|
|
}
|
|
|
|
// Short enum names
|
|
enum Enum1
|
|
{
|
|
option (nanopb_enumopt).long_names = false;
|
|
EnumValue1 = 1;
|
|
EnumValue2 = 2;
|
|
}
|
|
|
|
message EnumTest
|
|
{
|
|
required Enum1 field = 1 [default = EnumValue2];
|
|
}
|
|
|
|
// Short enum names inside message
|
|
message Message5
|
|
{
|
|
enum Enum2
|
|
{
|
|
option (nanopb_enumopt).long_names = false;
|
|
EnumValue1 = 1;
|
|
}
|
|
required Enum2 field = 1 [default = EnumValue1];
|
|
}
|