diff --git a/Makefile b/Makefile index aac2841..3bc6599 100644 --- a/Makefile +++ b/Makefile @@ -16,9 +16,10 @@ CAPNP_SOURCES=\ src/capnp/SegmentBuilder.java\ src/capnp/SegmentReader.java\ src/capnp/StructBuilder.java\ + src/capnp/StructList.java\ src/capnp/StructPointer.java\ src/capnp/StructReader.java\ - src/capnp/StructList.java\ + src/capnp/StructSize.java\ src/capnp/Text.java\ src/capnp/WireHelpers.java\ src/capnp/WirePointer.java\ diff --git a/src/capnp/FromStructBuilder.java b/src/capnp/FromStructBuilder.java index d7cf0aa..4b44e0b 100644 --- a/src/capnp/FromStructBuilder.java +++ b/src/capnp/FromStructBuilder.java @@ -2,4 +2,5 @@ package org.capnproto; public interface FromStructBuilder { public abstract T fromStructBuilder(StructBuilder builder); + public abstract StructSize structSize(); } diff --git a/src/capnp/MessageBuilder.java b/src/capnp/MessageBuilder.java index a2831e3..d54e9b8 100644 --- a/src/capnp/MessageBuilder.java +++ b/src/capnp/MessageBuilder.java @@ -1,5 +1,11 @@ package org.capnproto; public final class MessageBuilder { - + public T getRoot(FromStructBuilder factory) { + throw new Error("unimplemented"); + } + + public T initRoot(FromStructBuilder factory) { + throw new Error("unimplemented"); + } } diff --git a/src/capnp/StructList.java b/src/capnp/StructList.java index 197724a..4027907 100644 --- a/src/capnp/StructList.java +++ b/src/capnp/StructList.java @@ -1,10 +1,10 @@ package org.capnproto; -public class StructList { - public static class Reader { +public final class StructList { + public static final class Reader { public ListReader reader; - public FromStructReader factory; + public final FromStructReader factory; public Reader(ListReader reader, FromStructReader factory) { this.reader = reader; @@ -20,4 +20,15 @@ public class StructList { } } + public static final class Builder { + public ListBuilder builder; + public final FromStructBuilder factory; + + public Builder(ListBuilder builder, FromStructBuilder factory) { + this.builder = builder; + this.factory = factory; + } + + } + } diff --git a/src/capnp/StructSize.java b/src/capnp/StructSize.java new file mode 100644 index 0000000..7539e0f --- /dev/null +++ b/src/capnp/StructSize.java @@ -0,0 +1,13 @@ +package org.capnproto; + +public final class StructSize { + public final short data; + public final short pointers; + public final byte preferredListEncoding; + + public StructSize(short data, short pointers, byte preferredListEncoding) { + this.data = data; + this.pointers = pointers; + this.preferredListEncoding = preferredListEncoding; + } +}