Protobuf
Convert stuff.proto
to stuff.proto.jar
, open bash shell and run:
protoc -I=proto/ --java_out=build/protogen/ proto/stuff.proto
javac -cp jars/protobuf-java-3.11.4.jar build/protogen/org/stuff/proto/*.java
jar cvf build/stuff.proto.jar -C build/protogen/ org
Needed executables: protoc
, javac
and jar
Check protoc --version
is compatible to protobuf-java
jar.
Illustrative example:
void kv_pair_test()
{
idpass::Dictionary d;
idpass::Pair* p = d.add_pairs();
p->set_key("gender");
p->set_value("male");
idpass::Pair q;
q.set_key("color");
q.set_value("red");
d.mutable_pairs()->AddAllocated(&q);
int buf_len = d.ByteSizeLong();
std::cout << buf_len;
unsigned char* buf = new unsigned char[buf_len];
d.SerializeToArray(buf, buf_len);
std::cout << buf;
idpass::Dictionary dd;
assert(dd.ParseFromArray(buf, buf_len) == true);
for (auto p : dd.pairs()) {
std::cout << p.key();
std::cout << p.value();
}
delete[] buf;
}
Last updated
Was this helpful?