Hi all, I'm just getting to grips with protobuf and, having read through the documentation, I'm struggling to find what I'm after.
Basically I'm trying to work out how to deserialize a protobuf message without using the generated headers, as we're likely to get messages that weren't generated at compile time. I've looked through the documentation, but I only seem to be able to find ones that use generated classes to deserialize, or that use a Descriptor from a generated class to create a DynamicMessage, which I can't seem to work out how to do when we don't have the proto. Here's a very simple example of what I mean, where Message* is set to some base type that allows deserialization, and then can use the reflection API (or some factory) to correctly deal with the message: #include <sstream> #include "google/protobuf/message.h" int main(int argc, char **argv) { if( argc > 1) { // This will fail to compile, as Message is pure abstract google::protobuf::Message* message = NULL; //new google::protobuf::Message(); std::istringstream ss(std::string(argv[1],strlen(argv[1]))); message->ParseFromIstream(&ss); // do something with the message // ... } return 0; } Apologies in advance if this has already been answered... Thanks Tom -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+unsubscr...@googlegroups.com. To post to this group, send email to protobuf@googlegroups.com. Visit this group at http://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/groups/opt_out.