Add int_size option for generator.

This allows overriding the integer field types to e.g. uint8_t for
saving RAM.

Update issue 139
Status: FixedInGit
This commit is contained in:
Petteri Aimonen
2015-01-04 11:36:42 +02:00
parent b0d31468da
commit 50c67ecec4
8 changed files with 212 additions and 16 deletions

View File

@@ -18,6 +18,14 @@ enum FieldType {
FT_IGNORE = 3; // Ignore the field completely.
}
enum IntSize {
IS_DEFAULT = 0; // Default, 32/64bit based on type in .proto
IS_8 = 1;
IS_16 = 2;
IS_32 = 3;
IS_64 = 4;
}
// 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.
@@ -28,6 +36,10 @@ message NanoPBOptions {
// Allocated number of entries in arrays ('repeated' fields)
optional int32 max_count = 2;
// Size of integer fields. Can save some memory if you don't need
// full 32 bits for the value.
optional IntSize int_size = 7 [default = IS_DEFAULT];
// Force type of field (callback or static allocation)
optional FieldType type = 3 [default = FT_DEFAULT];