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 

Any advice is much appreciated.


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 
To post to this group, send email to protobuf@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to