Change library to use dynamic API of capnproto.

Currently only get is working on DynamicStructReader, but
the mechanics are mostly there.
This commit is contained in:
Jason Paryani
2013-06-26 23:01:37 -07:00
parent 481841730c
commit 40a16470cf
9 changed files with 217 additions and 56612 deletions

26
capnp_cpp.pxd Normal file
View File

@@ -0,0 +1,26 @@
# schema.capnp.cpp.pyx
# distutils: language = c++
# distutils: extra_compile_args = --std=c++11
# distutils: libraries = capnp
from schema_cpp cimport Node
cdef extern from "capnp/dynamic.h" namespace "::capnp":
cdef cppclass DynamicValue:
cppclass Reader:
pass
cdef cppclass DynamicStruct:
cppclass Reader:
DynamicValue.Reader get(char *) except +ValueError
bint has(char *)
cdef extern from "capnp/schema.h" namespace "::capnp":
cdef cppclass Schema:
Node.Reader getProto()
StructSchema asStruct()
cdef cppclass StructSchema(Schema):
pass
cdef extern from "capnp/schema-loader.h" namespace "::capnp":
cdef cppclass SchemaLoader:
SchemaLoader()
Schema load(Node.Reader &) except +