data.h File Reference

Data model API. More...

#include <lwmsg/status.h>
#include <lwmsg/type.h>
#include <lwmsg/buffer.h>
#include <lwmsg/context.h>

Typedefs

typedef struct LWMsgDataContext LWMsgDataContext
 Data context. More...
 

Functions

LWMsgStatus lwmsg_data_context_new (const LWMsgContext *context, LWMsgDataContext **dcontext)
 Create a data context. More...
 
void lwmsg_data_context_delete (LWMsgDataContext *context)
 Delete a data context. More...
 
void lwmsg_data_context_set_byte_order (LWMsgDataContext *context, LWMsgByteOrder order)
 Set byte order. More...
 
LWMsgByteOrder lwmsg_data_context_get_byte_order (LWMsgDataContext *context)
 Get Byte order. More...
 
const LWMsgContextlwmsg_data_context_get_context (LWMsgDataContext *context)
 Get context. More...
 
LWMsgStatus lwmsg_data_free_graph (LWMsgDataContext *context, LWMsgTypeSpec *type, void *root)
 Free in-memory data graph. More...
 
LWMsgStatus lwmsg_data_destroy_graph (LWMsgDataContext *context, LWMsgTypeSpec *type, void *root)
 Destroy in-memory data graph. More...
 
void lwmsg_data_free_graph_cleanup (const LWMsgContext *context, LWMsgTypeSpec *type, void *root)
 Free in-memory data graph (guaranteed success) More...
 
void lwmsg_data_destroy_graph_cleanup (const LWMsgContext *context, LWMsgTypeSpec *type, void *root)
 Destroy in-memory data graph (guaranteed success) More...
 
LWMsgStatus lwmsg_data_marshal (LWMsgDataContext *context, LWMsgTypeSpec *type, void *object, LWMsgBuffer *buffer)
 Marshal a data structure. More...
 
LWMsgStatus lwmsg_data_marshal_flat (LWMsgDataContext *context, LWMsgTypeSpec *type, void *object, void *buffer, size_t length)
 Marshal a data structure into a simple buffer. More...
 
LWMsgStatus lwmsg_data_marshal_flat_alloc (LWMsgDataContext *context, LWMsgTypeSpec *type, void *object, void **buffer, size_t *length)
 Marshal a data structure while allocating a buffer. More...
 
LWMsgStatus lwmsg_data_unmarshal (LWMsgDataContext *context, LWMsgTypeSpec *type, LWMsgBuffer *buffer, void **out)
 Unmarshal a data structure. More...
 
LWMsgStatus lwmsg_data_unmarshal_into (LWMsgDataContext *context, LWMsgTypeSpec *type, LWMsgBuffer *buffer, void *object, size_t size)
 Unmarshal a data structure into pre-allocated memory. More...
 
LWMsgStatus lwmsg_data_unmarshal_flat (LWMsgDataContext *context, LWMsgTypeSpec *type, const void *buffer, size_t length, void **out)
 Unmarshal a data structure from a simple buffer. More...
 
LWMsgStatus lwmsg_data_print_graph_alloc (LWMsgDataContext *context, LWMsgTypeSpec *type, void *root, char **result)
 Print textual representation of a data graph to a string. More...
 
LWMsgStatus lwmsg_data_alloc_memory (LWMsgDataContext *context, size_t size, void **object)
 Allocate memory block. More...
 
void lwmsg_data_free_memory (LWMsgDataContext *context, void *object)
 Free memory block. More...