You can now do:
MyMessage foo = MessageNano.mergeFrom(new MyMessage(), bytes);
without having to cast the message returned from mergeFrom.
Change-Id: Ibb2ad327f75855d45352ad304c7f054f20dd29c9
You can use the processor option store_unknown_fields to switch
this support on:
aprotoc --javanano_out=store_unknown_fields=true:/tmp/out
A separate option for extensions isn't required. Support
for unknown fields must be turned on to allow storing and
retrieving extensions, because they are just stored as
unknown fields. If unknown fields are switched on, extension
related code will be generated when a proto message includes
an extension range, or an extension is encountered.
By default, store_unknown_fields is false. No additional
code is generated, and the generator will error out if protos
contain extension ranges or extensions.
Change-Id: I1e034c9e8f3305612953f72438189a7da6ed2167
When the java_multiple_files option is on, enums are placed in java
class files based on the name of the original enum type. This fixes
field references to such enum values to point to the correct class
name when setting the default.
Change-Id: I51a2e251c0d0ab1e45a182ba849d314232a74bac
- All of the real work for printing the proto is actually done in
MessageNanoPrinter.
- Uses reflection to find proto-defined fields and prints those.
- Prints all fields, even defaults and nulls.
- Also added a simple test to make sure it handles all proto types well.
Tried not to make the test too brittle (but hey it's testing a toString()
so how flexible can it be)
Change-Id: I3e360ef8b0561041e010c1f3445ec45ecdcd2559
It didn't appear until API 9 and is thus incompatible with Froyo.
Instead, allocate a new array and System.arraycopy inline.
Change-Id: I2e1cd07a4a762ef8edd5ec06ceaa1d38b302823d
Like micro protobufs except:
- No setter/getter/hazzer functions.
- Has state is not available. Outputs all fields != their default.
- CodedInputStream can only take byte[] (not InputStream).
- Repeated fields are in arrays, not ArrayList or Vector.
- Unset messages/groups are null, not "defaultInstance()".
- Required fields are always serialized.
To use:
- Link libprotobuf-java-2.3.0-nano runtime.
- Use LOCAL_PROTOC_OPTIMIZE_TYPE := nano
Change-Id: I7429015b3c5f7f38b7be01eb2d4927f7a9999c80
With gLucid protoc is installed in the base system, by renaming
our version there will be no confusion about which compiler is
being used.
Change-Id: I975e29e4444af9467c9b9600d5a2e7027f4046ae
We need this to generate code for .proto files that have
been added to external/chromium (see change I6960c18d).
Change-Id: Ic7a78273ee4f066680039d2f724e658a84869621
Removed use of StringUtf8Micro and instead use an extra byte array
instance variable directly in the class. This allows the list returned
for repeated strings to be a String instead of a StringUtf8Micro
making the class compatible with existing code.
Removed PerfTimer.java which isn't used.
Change-Id: Ie6acfb40f98f59a48c1a795d86f715078f9611f5
Also, have all the libraries follow the same naming convention so
rename com.google.protobuf.micro library to libprotobuf-java-2.3.0-micro.
Change-Id: I7c2a7d883a17f9a6d084ce4cac9601e344e416bf
The host's stl library conflicts with stlport, so we need to exclude
stlport from inclusion in the build if we're targeting the simulator.
Change-Id: Ib4da6140f4b8abb271d8e67636ccec2a796c8c5a
Added android/config.h which will be used to configure
android builds of libraries. Currently I've undef HAVE_HASH_MAP
and HAVE_HASH_SET as the versions in stlport generated compile
errors.
Updated .gitignore to be more selective on what it ignores so
android/config.h wouldn't be ignored.
Change-Id: I53f3636121db2c6017491a37998b816aaf0cab5d
This is the contents of protobuf-2.2.0a.tar.bz2 from
http://code.google.com/p/protobuf/downloads/list and
is the base code for the javamicro code generator.
Change-Id: Ie9a0440a824d615086445b6636944484b3155afa
Merge commit 'a67f19deb0794784d1b841bc1900328103af03c5'
* commit 'a67f19deb0794784d1b841bc1900328103af03c5':
Adds a few utilities to ProtoBufUtil, integrating over from mainline