aboutsummaryrefslogtreecommitdiffstats
path: root/generator
AgeCommit message (Collapse)AuthorFilesLines
2014-08-04Generate #defines for initializing message structures.Petteri Aimonen1-16/+79
Usage like: MyMessage foo = MyMessage_init_default; MyMessage_init_default will initialize to default values defined in .proto. MyMessage_init_zero will initialize to null/zero values. Same results as {} or {0}, but will avoid compiler warnings by initializing everything explicitly. Update issue 79 Status: FixedInGit
2014-07-20Add skip_message option to generator.Petteri Aimonen2-0/+7
Update issue 121 Status: FixedInGit
2014-07-20Do not automatically add a dot with generator -e option.Petteri Aimonen1-6/+6
Now -e option in generator is more versatile. Especially it avoids double-dot problem with some build systems. Given foobar.proto, we now get: -e .pb => foobar.pb.c (default) -e _pb => foobar_pb.c -e '' => foobar.c Note that if you have used -e option previously, you will have to prepend . to the argument to get the same filenames as before. Update issue 122 Status: FixedInGit
2014-07-20Give better messages about the .options file path.Petteri Aimonen1-1/+10
Update issue 124 Status: FixedInGit
2014-07-20Fix problem with .options file and extension fields.Petteri Aimonen1-1/+1
The options for an extension field were being looked up under wrong name (MessageName instead of MessageName.fieldname). Fixed the problem and added regression test. Created a new subfolder for regression test cases. Update issue 125 Status: FixedInGit
2014-05-20Setting version to 0.2.9-devPetteri Aimonen1-1/+1
2014-05-20Publishing nanopb-0.2.8Petteri Aimonen1-1/+1
2014-04-18Add option to not add timestamps to .pb.h and .pb.c preambles.Petteri Aimonen1-2/+10
Patch by rusnakp. Update issue 115 Status: FixedInGit
2014-04-07Setting version to 0.2.8-devPetteri Aimonen1-1/+1
2014-04-07Publishing nanopb-0.2.7Petteri Aimonen1-1/+1
2014-04-01Fix compile error when default value given for extension field.Petteri Aimonen1-0/+2
Update issue 111 Status: FixedInGit
2014-03-15Get rid of pb_bytes_ptr_t, just allocate pb_bytes_array_t dynamically.Petteri Aimonen1-3/+3
This makes the internal logic much simpler, and also keeps the datatypes more similar between STATIC/POINTER cases. It will still be a bit cumbersome to use because of variable length array member. Macros PB_BYTES_ARRAY_T(n) and PB_BYTES_ARRAY_T_ALLOCSIZE(n) have been added to make life a bit easier. This has the drawback that it is no longer as easy to use externally allocated byte array as input for bytes field in pointer mode. However, this is still easy to do using callbacks, so it shouldn't be a large issue.
2014-02-15Setting version to 0.2.7-devPetteri Aimonen1-1/+1
2014-02-15Publishing nanopb-0.2.6Petteri Aimonen1-1/+1
2014-02-12Move descriptor.proto to google/protobuf directory where it belongs.Petteri Aimonen5-5/+5
This fixes some interoperability problems when trying to compile nanopb.proto for e.g. the Google's C++ library. Update issue 104 Status: FixedInGit
2014-02-12Improve status/error reporting in generator.Petteri Aimonen1-11/+19
Update issue 105 Status: FixedInGit
2014-02-04Add coments to places where STATIC_ASSERT is used.Petteri Aimonen1-10/+24
Update issue 96 Status: FixedInGit
2014-02-04Add proper suffixes for integer default values.Petteri Aimonen1-0/+6
Update issue 102 Status: FixedInGit
2014-01-03Fix problem with callback-type fields (issue #99).Petteri Aimonen1-0/+1
2014-01-01Setting version to 0.2.6-devPetteri Aimonen1-1/+1
2014-01-01Publishing nanopb-0.2.5Petteri Aimonen1-1/+1
2013-12-29Fix spaces in paths on Windows alsoPetteri Aimonen1-1/+1
2013-12-29Fix protoc-gen-nanopb when the path contains spacesPetteri Aimonen1-1/+2
2013-12-29Fixes for pyinstallerPetteri Aimonen1-0/+7
2013-12-29Make generator print errors to stderr.Petteri Aimonen1-12/+14
Otherwise they won't be visible when run as a protoc plugin.
2013-12-29Windows build fixesPetteri Aimonen1-0/+1
2013-12-29Rework the Makefiles to be compatible with binary packages.Petteri Aimonen3-5/+35
2013-12-29Add build script for windows packagePetteri Aimonen2-19/+13
2013-12-29Add descriptor.proto to repository to avoid messing with protoc include path.Petteri Aimonen4-4/+624
2013-12-29Move the generator .proto files to a subdir, and get rid of precompiled ↵Petteri Aimonen7-326/+4
versions.
2013-12-29Organize allocation logic in generator, add pb_bytes_ptr_t.Petteri Aimonen1-45/+42
Allocation decision is now made before the field data type is decided. This way the data type decisions can more cleanly account for the allocation type, i.e. FT_DEFAULT logic etc. Added pb_bytes_ptr_t for pointer-allocated bytes-fields. There is no point generating separate structs for these, as they would all be of the same type.
2013-12-29Generating and encoding messages with dynamic allocaitonMartin Donath3-22/+54
2013-12-22Negative int32 values take 10 bytes now.Petteri Aimonen1-1/+1
2013-11-07Setting version to 0.2.5-devPetteri Aimonen1-1/+1
2013-11-07Publishing nanopb-0.2.4Petteri Aimonen1-1/+1
2013-11-02Generate #define tags for extension fields also.Petteri Aimonen1-0/+7
Update issue 93 Status: FixedInGit
2013-10-24Same fix for EncodedSize.__mul__Petteri Aimonen1-1/+1
2013-10-24Handle also longs in EncodedSizePetteri Aimonen1-1/+1
2013-10-23Fix the size of length prefix for messages in other files.Petteri Aimonen1-0/+5
2013-10-23Generate message size #defines also for messages defined in multiple files.Petteri Aimonen1-8/+50
Add testcase for the same.
2013-09-26Add #defines for the maximum encoded message size.Petteri Aimonen1-16/+95
Update issue 89 Status: FixedInGit
2013-09-18Setting version to 0.2.4-devPetteri Aimonen1-1/+1
2013-09-18Publishing nanopb-0.2.3Petteri Aimonen1-1/+1
2013-09-13Fine-tune the naming of new macros before merging into master.Petteri Aimonen1-1/+1
Requires re-generation of files generated with dev_get_rid_of_ternary_operator.
2013-09-11Get rid of the ternary operator in the pb_field_t initialization.Petteri Aimonen1-1/+2
Some compilers where unable to detect that the ternary operator can be evaluated at the compile time. This commit does the evaluation on the Python side, which should fix the problem. The new .pb.c files are generated using PB_FIELD2() macro. The old PB_FIELD() macro remains, so that previously generated files keep working.
2013-09-08Add support for running the nanopb generator as protoc plugin.Petteri Aimonen4-55/+419
Will be used to implement issue 47. For now, symlink nanopb_generator.py as protoc-gen-nanopb and use protoc --nanopb_out=. to call it.
2013-09-08Handle unsupported extension field types more gracefully.Petteri Aimonen1-5/+14
Previously the generator would stop with NotImplementedException as soon as a required or repeated extension field is found. New behaviour is to just ignore the unsupported field and note that in a comment in the generated file. Furthermore, allow skipping of extension fields using the generator option (nanopb).type = FT_IGNORE. Update issue 83 Status: FixedInGit
2013-08-18Setting version to 0.2.3-devPetteri Aimonen1-1/+1
2013-08-18Publishing nanopb-0.2.2Petteri Aimonen1-1/+1
2013-07-22Fix bugs in extension support when multiple extension fields are present.Petteri Aimonen1-3/+6