Add handling of DynamicObject

This commit is contained in:
Jason Paryani
2013-09-18 17:19:57 -07:00
parent a4cd266f58
commit 8c559cc8b1
4 changed files with 99 additions and 4 deletions

View File

@@ -138,6 +138,7 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
void adopt(char *, DynamicOrphan) except +ValueError
DynamicOrphan disown(char *)
DynamicStruct.Reader asReader()
DynamicStruct.Builder getObject(char *, StructSchema)
cdef extern from "fixMaybe.h":
EnumSchema.Enumerant fixMaybe(Maybe[EnumSchema.Enumerant]) except +ValueError
@@ -149,6 +150,13 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
uint16_t getRaw()
Maybe[EnumSchema.Enumerant] getEnumerant()
cdef cppclass DynamicObject:
cppclass Reader:
DynamicStruct.Reader as(StructSchema schema)
cppclass Builder:
DynamicObject.Reader asReader()
# DynamicList::Reader as(ListSchema schema) const;
cdef cppclass DynamicList:
cppclass Reader:
DynamicValueForward.Reader operator[](uint) except +ValueError
@@ -193,6 +201,7 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
char * asText"as< ::capnp::Text>().cStr"()
DynamicList.Reader asList"as< ::capnp::DynamicList>"()
DynamicStruct.Reader asStruct"as< ::capnp::DynamicStruct>"()
DynamicObject.Reader asObject"as< ::capnp::DynamicObject>"()
DynamicEnum asEnum"as< ::capnp::DynamicEnum>"()
Data.Reader asData"as< ::capnp::Data>"()