How does this differ from net/proto2/util/public/field_path.h?

On Fri, Dec 4, 2009 at 2:17 PM, Scott Stafford <[email protected]>wrote:

> 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]<protobuf%[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 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.


Reply via email to