X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=generator%2Fnanopb.proto;h=fe564b5ca7ffcb07a5bd50baf97b8c6cbcf026e8;hb=6e9e5329278b04a8e76d63f06fed2f3bfa80e2f8;hp=a377f63b873c6b0aa2762ab2cb1736a8add53a0b;hpb=28b0136ea4dcd045f0422d16a25b7d82b0d2aaee;p=apps%2Fagl-service-can-low-level.git diff --git a/generator/nanopb.proto b/generator/nanopb.proto index a377f63b..fe564b5c 100644 --- a/generator/nanopb.proto +++ b/generator/nanopb.proto @@ -7,18 +7,47 @@ import "google/protobuf/descriptor.proto"; +option java_package = "fi.kapsi.koti.jpa.nanopb"; + +enum FieldType { + FT_DEFAULT = 0; // Automatically decide field type, generate static field if possible. + FT_CALLBACK = 1; // Always generate a callback field. + FT_STATIC = 2; // Generate a static field or raise an exception if not possible. + FT_IGNORE = 3; // Ignore the field completely. +} + +// This is the inner options message, which basically defines options for +// a field. When it is used in message or file scope, it applies to all +// fields. message NanoPBOptions { + // Allocated size for 'bytes' and 'string' fields. optional int32 max_size = 1; + + // Allocated number of entries in arrays ('repeated' fields) optional int32 max_count = 2; + + // Force type of field (callback or static allocation) + optional FieldType type = 3 [default = FT_DEFAULT]; + + // Use long names for enums, i.e. EnumName_EnumValue. + optional bool long_names = 4 [default = true]; + + // Add 'packed' attribute to generated structs. + // Note: this cannot be used on CPUs that break on unaligned + // accesses to variables. + optional bool packed_struct = 5 [default = false]; } +// Extensions to protoc 'Descriptor' type in order to define options +// inside a .proto file. +// // Protocol Buffers extension number registry -// -------------------------------- -// Project: Nanopb -// Contact: Petteri Aimonen -// Web site: http://kapsi.fi/~jpa/nanopb -// Extensions: 1010 (all types) -// -------------------------------- +// -------------------------------- +// Project: Nanopb +// Contact: Petteri Aimonen +// Web site: http://kapsi.fi/~jpa/nanopb +// Extensions: 1010 (all types) +// -------------------------------- extend google.protobuf.FileOptions { optional NanoPBOptions nanopb_fileopt = 1010; @@ -28,7 +57,12 @@ extend google.protobuf.MessageOptions { optional NanoPBOptions nanopb_msgopt = 1010; } +extend google.protobuf.EnumOptions { + optional NanoPBOptions nanopb_enumopt = 1010; +} + extend google.protobuf.FieldOptions { optional NanoPBOptions nanopb = 1010; } +