add some builder classes
This commit is contained in:
parent
252973015b
commit
edc75358bb
6 changed files with 80 additions and 2 deletions
6
Makefile
6
Makefile
|
@ -6,12 +6,16 @@ CAPNP_SOURCES=\
|
|||
src/capnp/FromStructReader.java\
|
||||
src/capnp/InputStreamMessageReader.java\
|
||||
src/capnp/ListPointer.java\
|
||||
src/capnp/ListBuilder.java\
|
||||
src/capnp/ListReader.java\
|
||||
src/capnp/MessageReader.java\
|
||||
src/capnp/PointerBuilder.java\
|
||||
src/capnp/PointerReader.java\
|
||||
src/capnp/SegmentBuilder.java\
|
||||
src/capnp/SegmentReader.java\
|
||||
src/capnp/StructReader.java\
|
||||
src/capnp/StructBuilder.java\
|
||||
src/capnp/StructPointer.java\
|
||||
src/capnp/StructReader.java\
|
||||
src/capnp/StructList.java\
|
||||
src/capnp/Text.java\
|
||||
src/capnp/WireHelpers.java\
|
||||
|
|
24
src/capnp/ListBuilder.java
Normal file
24
src/capnp/ListBuilder.java
Normal file
|
@ -0,0 +1,24 @@
|
|||
package org.capnproto;
|
||||
|
||||
public final class ListBuilder {
|
||||
SegmentBuilder segment;
|
||||
int ptr; // byte offset to front of list
|
||||
int elementCount;
|
||||
int step; // in bits
|
||||
int structDataSize; // in bits
|
||||
short structPointerCount;
|
||||
|
||||
public ListBuilder(SegmentBuilder segment, int ptr,
|
||||
int elementCount, int step,
|
||||
int structDataSize, short structPointerCount) {
|
||||
this.segment = segment;
|
||||
this.ptr = ptr;
|
||||
this.elementCount = elementCount;
|
||||
this.step = step;
|
||||
this.structDataSize = structDataSize;
|
||||
this.structPointerCount = structPointerCount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
11
src/capnp/PointerBuilder.java
Normal file
11
src/capnp/PointerBuilder.java
Normal file
|
@ -0,0 +1,11 @@
|
|||
package org.capnproto;
|
||||
|
||||
public final class PointerBuilder {
|
||||
public SegmentBuilder segment;
|
||||
public int pointer; // word offset
|
||||
|
||||
public PointerBuilder(SegmentBuilder segment, int pointer) {
|
||||
this.segment = segment;
|
||||
this.pointer = pointer;
|
||||
}
|
||||
}
|
9
src/capnp/SegmentBuilder.java
Normal file
9
src/capnp/SegmentBuilder.java
Normal file
|
@ -0,0 +1,9 @@
|
|||
package org.capnproto;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
public class SegmentBuilder extends SegmentReader {
|
||||
public SegmentBuilder(ByteBuffer buf) {
|
||||
super(buf);
|
||||
}
|
||||
}
|
31
src/capnp/StructBuilder.java
Normal file
31
src/capnp/StructBuilder.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package org.capnproto;
|
||||
|
||||
public final class StructBuilder {
|
||||
public SegmentBuilder segment;
|
||||
public int data; //byte offset to data section
|
||||
public int pointers; // word offset of pointer section
|
||||
public int dataSize; // in bits
|
||||
public short pointerCount;
|
||||
public byte bit0Offset;
|
||||
|
||||
public StructBuilder(SegmentBuilder segment, int data,
|
||||
int pointers, int dataSize, short pointerCount,
|
||||
byte bit0Offset) {
|
||||
this.segment = segment;
|
||||
this.data = data;
|
||||
this.pointers = pointers;
|
||||
this.dataSize = dataSize;
|
||||
this.pointerCount = pointerCount;
|
||||
this.bit0Offset = bit0Offset;
|
||||
}
|
||||
|
||||
|
||||
public int getIntField(int offset) {
|
||||
return this.segment.ptr.getInt(this.data + offset * 4);
|
||||
}
|
||||
|
||||
public void setIntField(int offset, int value) {
|
||||
this.segment.ptr.putInt(this.data + offset * 4, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -3,7 +3,6 @@ package org.capnproto;
|
|||
public class StructReader {
|
||||
public SegmentReader segment;
|
||||
public int data; //byte offset to data section
|
||||
|
||||
public int pointers; // word offset of pointer section
|
||||
public int dataSize; // in bits
|
||||
public short pointerCount;
|
||||
|
|
Loading…
Reference in a new issue