import 'nanopb.proto'; message IntegerArray { repeated int32 data = 1 [(nanopb).max_count = 10]; } message FloatArray { repeated float data = 1 [(nanopb).max_count = 10]; } message StringMessage { required string data = 1 [(nanopb).max_size = 10]; } message BytesMessage { required bytes data = 1 [(nanopb).max_size = 16]; } message CallbackArray { // We cheat a bit and use this message for testing other types, too. // Nanopb does not care about the actual defined data type for callback // fields. repeated int32 data = 1; } message IntegerContainer { required IntegerArray submsg = 1; } message CallbackContainer { required CallbackArray submsg = 1; } message CallbackContainerContainer { required CallbackContainer submsg = 1; }