Thanks for the update Jason. I'll make sure to iterate over the directory and call FindFileByName() on each .proto I plan to use
On Monday, June 4, 2012 4:06:39 PM UTC-7, Jason Hsueh wrote: > > This is a result of SourceTreeDescirptorDatabase not implementing > FindFileContainingSymbol() - it doesn't maintain an index of the types > available in the database within the database, just the list of files that > are available. This is a sufficient implementation for the proto compiler, > where one specifies the files to build and thus FindFileByName() is always > called. > > I'm not aware of any DescriptorDatabase implementations that have all the > types within a source tree indexed - various Google-internal > implementations don't support this either, as there are so many .proto > files that it's typically not useful to load all of them, and we have > clients specify the leaf file explicitly. > > On Wed, May 30, 2012 at 1:16 PM, Dan <[email protected]> wrote: > >> Hi, >> In the code below, I've found that the returned Descriptor* is NULL after >> I call FindMessageTypeByName(), *unless* I first call FindFileByName() >> on the .proto which contains the Message I am looking for. >> >> Is this a bug? Is there another way to do this? I would really like to be >> able to setup a SourceTreeDescriptorDatabase to a directory that contains >> all of the .proto files I plan to use and not have to search for each file >> individually. >> >> Any advice is much appreciated. >> >> thanks, >> Dan >> >> >> string sProtoRoot("/home/dan/tests/new-protobuf/protos"); >> >> DiskSourceTree dst; >> dst.MapPath("", sProtoRoot); >> >> SourceTreeDescriptorDatabase stdb(&dst); >> >> DescriptorPool dp(&stdb); >> const FileDescriptor* pfd = dp.FindFileByName("TestMessage.proto"); >> const Descriptor* pd = dp.FindMessageTypeByName("Test.TestMessage"); >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Protocol Buffers" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/protobuf/-/V3u8UREKOEAJ. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> 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 view this discussion on the web visit https://groups.google.com/d/msg/protobuf/-/K0hsd8JOtLQJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.
