Oh, huh, good to know. Sorry for the misinformation Constantine. On Mon, Jun 7, 2010 at 9:02 PM, Kenton Varda <ken...@google.com> wrote:
> Actually, UnknownFieldSet is exactly where the custom options will end up > if their definitions are not compiled into the binary. DescriptorPool > converts all UninterpretedOptions into either extensions or unknown fields > when building the descriptors. > > The way to access them is to take the FieldOptions message from your > descriptor, serialize it, then re-parse it into a DynamicMessage using a > DescriptorPool in which the custom options are defined. Rather convoluted, > but we don't have a better way. > > On Mon, Jun 7, 2010 at 3:25 PM, Jason Hsueh <jas...@google.com> wrote: > >> Hm. Can you send the code snippet you are using to try to access your >> custom option? You should just be accessing the options proto from >> FieldDescriptor::options(), and calling GetExtension() on that. >> >> Also, UnknownFields doesn't have anything to do with options extensions. >> Did you mean UninterpretedOptions instead? UnknownFields store data that >> exists in the serialization that the message definition doesn't know what to >> do with. FieldOptions don't exist in the serialization - they're just >> properties of the message definition. >> >> >> On Mon, Jun 7, 2010 at 5:40 AM, Constanine Verutin <cveru...@gmail.com>wrote: >> >>> Hello, >>> >>> I'm curious is there any way to access extension fields for >>> FieldOptions(or MessageOptions) in DynamicMessage? >>> >>> i.e. >>> >>> We define message and option, like this: >>> >>> extend google.protobuf.FieldOptions { >>> optional string my_opt = 50001; >>> } >>> >>> message MyMessage { >>> required string my_field [(my_opt) = "opt"]; >>> } >>> >>> Then we load this .proto in runtime via Importer, get the Message >>> object from DynamicMessageFactory, then parse encoded message. Now, >>> using Reflection/Descriptor I want to get all options for >>> my_field(including extensions), but only standard options are >>> accessible, all extensions go to UnknownFields, so I can get only >>> their values but not names. My question: is there any way to get all >>> options(with extensions) of field/message, if message/option >>> definitions were loaded in runtime? >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Protocol Buffers" group. >>> To post to this group, send email to proto...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> protobuf+unsubscr...@googlegroups.com<protobuf%2bunsubscr...@googlegroups.com> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/protobuf?hl=en. >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Protocol Buffers" group. >> To post to this group, send email to proto...@googlegroups.com. >> To unsubscribe from this group, send email to >> protobuf+unsubscr...@googlegroups.com<protobuf%2bunsubscr...@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/protobuf?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to proto...@googlegroups.com. To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.