Hi -
We built a simplified XPath-like syntax (and implementation for C++)
to control the Reflection interface via strings. For instance,
message Substructure
{
required int32 id = 10;
required int32 field1 = 1;
optional int32 field2 = 2;
repeated int32 field3 = 3;
}
message Structure
{
repeated int32 field1 = 1;
repeated Substructure field2 = 2;
}
PBPath::clearField( myMessage, "field2[0]" );
would basically run myMessage.clear_field2();
and
PBPath::GetInt32( myMessage, "field2[id=50].field3[1]" );
would search myMessage.field2() for a message with id()==50, then get
the second element of Substructure.field3() and return it.
Is this something people would be interested in if I cleaned it up for
release as a separate library? Is there any interest in me submitting
a patch to build it in to the protobuf library directly in some form?
If so, what form?
The implementation involves digesting the xpath-like string into a
protobuf object that contains field ids and so on.
In case you're interested, our use case involved having a large local
Protobuf object containing configuration data. We needed a way to
have a remote process send in commands to clear and update various
parts of the configuration data object. So it sent the digested xpath
strings to clear various subtrees or elements. Updating was easy, we
could simply send in a new object with all the updates set and Merge
it in...
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
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.