Allow setting of fields with python dicts.

This change was a bit complicated because of a bug in cython fused
types. I had to flatten DynamicStruct.Builder to DynamicStruct_Builder
in order to get fused template specialization working.
This commit is contained in:
Jason Paryani
2014-01-13 16:28:05 -08:00
parent ba7c192572
commit e7e95abeed
6 changed files with 73 additions and 30 deletions

View File

@@ -18,8 +18,9 @@ cdef extern from "capnp/dynamic.h" namespace " ::capnp":
cdef cppclass DynamicStruct:
cppclass Reader:
pass
cppclass Builder:
pass
cdef cppclass DynamicStruct_Builder" ::capnp::DynamicStruct::Builder":
pass
cdef extern from "capnp/schema.h" namespace " ::capnp":
cdef cppclass Schema:
@@ -658,8 +659,8 @@ cdef extern from "capnp/message.h" namespace " ::capnp":
Annotation.Builder getRootAnnotation'getRoot< ::capnp::schema::Annotation>'()
Annotation.Builder initRootAnnotation'initRoot< ::capnp::schema::Annotation>'()
DynamicStruct.Builder getRootDynamicStruct'getRoot< ::capnp::DynamicStruct>'(StructSchema)
DynamicStruct.Builder initRootDynamicStruct'initRoot< ::capnp::DynamicStruct>'(StructSchema)
DynamicStruct_Builder getRootDynamicStruct'getRoot< ::capnp::DynamicStruct>'(StructSchema)
DynamicStruct_Builder initRootDynamicStruct'initRoot< ::capnp::DynamicStruct>'(StructSchema)
void setRootDynamicStruct'setRoot< ::capnp::DynamicStruct::Reader>'(DynamicStruct.Reader)
AnyPointer.Builder getRootAnyPointer'getRoot< ::capnp::AnyPointer>'()