1 syntax = "proto2"; 2 3 import 'nanopb.proto'; 4 5 message IntegerArray { 6 repeated int32 data = 1 [(nanopb).max_count = 10]; 7 } 8 9 message FloatArray { 10 repeated float data = 1 [(nanopb).max_count = 10]; 11 } 12 13 message StringMessage { 14 required string data = 1 [(nanopb).max_size = 10]; 15 } 16 17 message BytesMessage { 18 required bytes data = 1 [(nanopb).max_size = 16]; 19 } 20 21 message CallbackArray { 22 // We cheat a bit and use this message for testing other types, too. 23 // Nanopb does not care about the actual defined data type for callback 24 // fields. 25 repeated int32 data = 1; 26 } 27 28 message IntegerContainer { 29 required IntegerArray submsg = 1; 30 } 31 32 message CallbackContainer { 33 required CallbackArray submsg = 1; 34 } 35 36 message CallbackContainerContainer { 37 required CallbackContainer submsg = 1; 38 } 39 40 message StringPointerContainer { 41 repeated string rep_str = 1 [(nanopb).type = FT_POINTER]; 42 } 43 44