Guys any help on this? How do I implement cbor decoding for such a structure
Sent from my iPhone > On 10-Aug-2018, at 12:36 PM, Aditya Xavier <adityaxav...@me.com.INVALID> > wrote: > > Hello ! > > > Require some guidance on how to write a CBOR parsing implementation for the > following structure. > > {a:[1,2,3,4], b:[ {c:[1,2,3,4,5]}, {c:[1,2,3,4,5]}]} > > I tried the following implementation. > ——————————————————————————————————————————————————————— > > uint64_t a[5]; > Int a_count = 0; > > struct c_object{ > int c[6]; > }c_arr_objs[5]; > int c_obj_count = 0; > > struct cbor_attr_t c_attrs[] = { > { > .attribute = “c", > .type = CborAttrObjectType, > CBORATTR_STRUCT_OBJECT(struct c_object, c), > .dflt.integer = 0 > }, > { > .attribute = NULL > } > }; > > > struct cbor_attr_t root_attrs[] = { > { > .attribute = “a", > .type = CborAttrArrayType, > .addr.array.element_type = CborAttrUnsignedIntegerType, > .addr.array.arr.uintegers.store = a, > .addr.array.count = &a_count, > .addr.array.maxlen = sizeof(a) / sizeof(a[0]), > .nodefault = true > }, > { > .attribute = “b", > .type = CborAttrArrayType, > CBORATTR_STRUCT_ARRAY(c_arr_objs, c_attrs, &c_obj_count), > .nodefault = true > }, > { > .attribute = NULL > } > }; > > ——————————————————————————————————————————————————————— > > > I assumed this to work as I have been using the same albeit without ‘c’ being > a int Array. It works when I use ‘c’ as a Int etc, but not as a int Array, > > The example :- > https://github.com/apache/mynewt-core/blob/master/encoding/cborattr/test/src/testcases/cborattr_decode_object_array.c > > <https://github.com/apache/mynewt-core/blob/master/encoding/cborattr/test/src/testcases/cborattr_decode_object_array.c> > > Has a similar implementation for Text String instead of Int Array. > > Thanks, > Aditya Xavier. > > >