Remove interface code

This commit is contained in:
James McKaskill 2013-09-12 16:44:20 -04:00
parent f4f0ccabf8
commit e6c57a665e
3 changed files with 3 additions and 40 deletions

View file

@ -148,11 +148,6 @@ static void setupStruct(struct capn *ctx) {
EXPECT_EQ(0, capn_setp(recurse, 0, recurse));
EXPECT_EQ(0, capn_setp(ptr, 4, recurse));
capn_ptr interface = capn_new_interface(ptr.seg, 0, 0);
EXPECT_EQ(CAPN_INTERFACE, interface.type);
EXPECT_EQ(0, interface.datasz);
EXPECT_EQ(0, interface.ptrsz);
EXPECT_EQ(0, capn_setp(ptr, 5, interface));
}
static void checkStruct(struct capn *ctx) {
@ -233,11 +228,6 @@ static void checkStruct(struct capn *ctx) {
EXPECT_EQ(recurse.seg, recurse_mbr.seg);
EXPECT_EQ(recurse.data, recurse_mbr.data);
EXPECT_EQ(CAPN_NULL, capn_getp(recurse, 1).type);
capn_ptr interface = capn_getp(ptr, 5);
EXPECT_EQ(CAPN_INTERFACE, interface.type);
EXPECT_EQ(0, interface.datasz);
EXPECT_EQ(0, interface.ptrsz);
}
TEST(WireFormat, StructRoundTrip_OneSegment) {

27
capn.c
View file

@ -8,7 +8,6 @@
#define STRUCT_PTR 0
#define LIST_PTR 1
#define FAR_PTR 2
#define INTERFACE_PTR 3
#define DOUBLE_PTR 6
#define VOID_LIST 0
@ -332,10 +331,6 @@ static capn_ptr read_ptr(struct capn_segment *s, char *d) {
ret.type = val ? CAPN_STRUCT : CAPN_NULL;
goto struct_common;
case INTERFACE_PTR:
ret.type = CAPN_INTERFACE;
goto struct_common;
struct_common:
ret.datasz = U32(U16(val >> 32)) * 8;
ret.ptrsz = U32(U16(val >> 48)) * 8;
@ -396,6 +391,9 @@ static capn_ptr read_ptr(struct capn_segment *s, char *d) {
break;
}
break;
default:
goto err;
}
if (e - s->data > s->len)
@ -425,7 +423,6 @@ capn_ptr capn_getp(capn_ptr p, int off) {
goto err;
}
case CAPN_INTERFACE:
case CAPN_LIST_MEMBER:
case CAPN_STRUCT:
off *= 8;
@ -457,7 +454,6 @@ static int data_size(struct capn_ptr p) {
return p.datasz;
case CAPN_PTR_LIST:
return p.len*8;
case CAPN_INTERFACE:
case CAPN_STRUCT:
return p.datasz + p.ptrsz;
case CAPN_COMPOSITE_LIST:
@ -473,10 +469,6 @@ static void write_ptr_tag(char *d, capn_ptr p, int off) {
uint64_t val = U64(U32(I32(off/8) << 2));
switch (p.type) {
case CAPN_INTERFACE:
val |= INTERFACE_PTR | (U64(p.datasz/8) << 32) | (U64(p.ptrsz/8) << 48);
break;
case CAPN_STRUCT:
val |= STRUCT_PTR | (U64(p.datasz/8) << 32) | (U64(p.ptrsz/8) << 48);
break;
@ -592,8 +584,6 @@ struct copy {
static capn_ptr new_clone(struct capn_segment *s, capn_ptr p) {
switch (p.type) {
case CAPN_INTERFACE:
return capn_new_interface(s, p.datasz, p.ptrsz/8);
case CAPN_STRUCT:
case CAPN_LIST_MEMBER:
return capn_new_struct(s, p.datasz, p.ptrsz/8);
@ -691,7 +681,6 @@ static int copy_ptr(struct capn_segment *seg, char *data, struct capn_ptr *t, st
* be valid */
switch (t->type) {
case CAPN_STRUCT:
case CAPN_INTERFACE:
if (t->datasz) {
memcpy(t->data, f->data, t->datasz);
t->data += t->datasz;
@ -780,7 +769,6 @@ int capn_setp(capn_ptr p, int off, capn_ptr tgt) {
goto copy_ptr;
case CAPN_STRUCT:
case CAPN_INTERFACE:
case CAPN_LIST_MEMBER:
off *= 8;
if (off >= p.ptrsz)
@ -968,15 +956,6 @@ capn_ptr capn_new_struct(struct capn_segment *seg, int datasz, int ptrs) {
return p;
}
capn_ptr capn_new_interface(struct capn_segment *seg, int datasz, int ptrs) {
capn_ptr p = {CAPN_INTERFACE};
p.seg = seg;
p.datasz = (datasz + 7) & ~7;
p.ptrsz = ptrs * 8;
new_object(&p, p.datasz + p.ptrsz);
return p;
}
capn_ptr capn_new_list(struct capn_segment *seg, int sz, int datasz, int ptrs) {
capn_ptr p = {CAPN_LIST};
p.seg = seg;

6
capn.h
View file

@ -100,7 +100,6 @@ enum CAPN_TYPE {
CAPN_LIST = 2,
CAPN_PTR_LIST = 3,
CAPN_BIT_LIST = 4,
CAPN_INTERFACE = 5,
CAPN_LIST_MEMBER = 6,
CAPN_COMPOSITE_LIST = 7
};
@ -154,7 +153,6 @@ int capn_setp(capn_ptr p, int off, capn_ptr tgt);
capn_text capn_get_text(capn_ptr p, int off, capn_text def);
capn_data capn_get_data(capn_ptr p, int off);
int capn_set_text(capn_ptr p, int off, capn_text tgt);
CAPN_INLINE int capn_set_data(capn_ptr p, int off, capn_data tgt);
/* capn_get_* functions get data from a list
* The length of the list is given by p->size
@ -386,10 +384,6 @@ CAPN_INLINE uint64_t capn_from_f64(double v) {
return u.u;
}
CAPN_INLINE int capn_set_data(capn_ptr p, int off, capn_data d) {
return capn_setp(p, off, d.p);
}
#ifdef __cplusplus
}
#endif