Hi, This is most likely last post. After converting these example data to binary and making sure that that parsing was successful (return true), I am finally getting decoded data. From this point on I can finish what was requested.
Once again thank you for all your advices and patience. On Tuesday, 5 May 2015 19:35:03 UTC+2, Feng Xiao wrote: > > > > On Mon, May 4, 2015 at 11:36 PM, Jan Kyjovský <[email protected] > <javascript:>> wrote: > >> Hi, >> >> so we are somehow back in game. And now I am getting familiar what I have >> done more then half a year ago. >> >> So for now I got some basic structure of code that will later be as a >> starting point for real implementation. I am trying to do some simple >> experiments to see how it works. Though I got problem that even if I get >> descriptor I am not getting any data. I have used example from encoding >> specification since I needed something really simple. >> >> ... >> const Descriptor* descriptor = >> pool.FindMessageTypeByName("tutorial.Test1"); >> if (descriptor == NULL) >> { >> return; >> } >> DynamicMessageFactory factory; >> Message *message = factory.GetPrototype(descriptor)->New(); >> // Use the message object for parsing/etc. >> std::string input_data = "089601"; >> > ParseFromString() expects protobuf binary format data (stored in a C++ > string), which I believe 089601 is not. > > >> >> message->ParseFromString(input_data); >> > You could check the return value of ParseFromString() to see whether the > parsing is a success. > > >> // Access a specific field in the message >> >> for (int i = 0; i < descriptor->field_count(); i++) >> { >> const FieldDescriptor* field = descriptor->field(i); >> switch (field->type()) >> { >> case FieldDescriptor::TYPE_INT32: >> { >> int nVal = >> message->GetReflection()->GetInt32(*message, field); >> printf("%d\n", nVal); >> >> break; >> } >> ... >> >> But from reflection I am getting that value is 0. So either I have >> wrongly set input data considering that I misunderstand format or there is >> something else. Do you have any idea what may be cause? >> >> Thank you in advance for your reply. >> >> -- >> 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 [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at http://groups.google.com/group/protobuf. >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
