func (c *CoreImpl) ReadData(consumer MojoHandle, flags MojoReadDataFlags) (MojoResult, []byte) { var num_bytes C.uint32_t var result C.MojoResult if result = C.MojoReadData(consumer.cType(), nil, &num_bytes, C.MOJO_READ_DATA_FLAG_QUERY); result != C.MOJO_RESULT_OK { return (MojoResult)(result), nil } data := make([]byte, (uint32)(num_bytes)) result = C.MojoReadData(consumer.cType(), cArrayBytes(data), &num_bytes, flags.cType()) return (MojoResult)(result), data }
func (c *CGoSystem) ReadData(consumerHandle uint32, flags uint32) (result uint32, buf []byte) { var numBytes C.uint32_t if r := C.MojoReadData(C.MojoHandle(consumerHandle), nil, &numBytes, C.MOJO_READ_DATA_FLAG_QUERY); r != C.MOJO_RESULT_OK { return uint32(r), nil } buf = make([]byte, int(numBytes)) r := C.MojoReadData(C.MojoHandle(consumerHandle), unsafe.Pointer(&buf[0]), &numBytes, C.MojoReadDataFlags(flags)) buf = buf[0:int(numBytes)] return uint32(r), buf }