diff --git a/Makefile b/Makefile index ffc083e..9deccac 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,24 @@ CXX=g++ -std=c++11 +CAPNP_SOURCES=\ + src/capnp/PointerReader.java\ + src/capnp/SegmentReader.java\ + src/capnp/StructReader.java + CAPNPC_JAVA_SOURCES=src/compiler/capnpc-java.c++ .PHONY: all clean addressbook -all : capnpc-java addressbook - +all : capnpc-java addressbook capnp clean : rm -rf capnpc-java capnp +capnp : capnp/PointerReader.class + +capnp/PointerReader.class : $(CAPNP_SOURCES) + javac -d . $(CAPNP_SOURCES) + capnpc-java : $(CAPNPC_JAVA_SOURCES) $(CXX) -I/usr/local/include -L/usr/local/lib -lkj -lcapnp $(CAPNPC_JAVA_SOURCES) -o capnpc-java diff --git a/src/capnp/PointerReader.java b/src/capnp/PointerReader.java new file mode 100644 index 0000000..36f751e --- /dev/null +++ b/src/capnp/PointerReader.java @@ -0,0 +1,7 @@ +package capnp; + +public class PointerReader { + public SegmentReader segment; + public long pointer; + public int nestingLimit; +} diff --git a/src/capnp/SegmentReader.java b/src/capnp/SegmentReader.java new file mode 100644 index 0000000..d9e6661 --- /dev/null +++ b/src/capnp/SegmentReader.java @@ -0,0 +1,7 @@ +package capnp; + +import java.nio.ByteBuffer; + +public class SegmentReader { + ByteBuffer ptr; +} diff --git a/src/capnp/StructReader.java b/src/capnp/StructReader.java new file mode 100644 index 0000000..c62be38 --- /dev/null +++ b/src/capnp/StructReader.java @@ -0,0 +1,17 @@ +package capnp; + +public class StructReader { + public SegmentReader segment; + public long data; //byte offset to data section + + // public WirePointer pointers; + public int dataSize; // in bits + public short pointerCount; + public short bit0Offset; + public int nestingLimit; + + + public T getDataField() { + throw new Error(); + } +} diff --git a/src/capnp/layout.java b/src/capnp/layout.java index 5edd41d..5a3a638 100644 --- a/src/capnp/layout.java +++ b/src/capnp/layout.java @@ -1,5 +1,3 @@ package capnp; -class PointerReader { -}