serial: implement returning fx_result values from (de)serialisers
This commit is contained in:
+30
-10
@@ -10,14 +10,16 @@
|
||||
|
||||
static void serial_ctx_init(fx_object *obj, void *priv)
|
||||
{
|
||||
fx_serial_ctx_data *data = fx_object_get_protected(obj, FX_TYPE_SERIAL_CTX);
|
||||
fx_serial_ctx_data *data
|
||||
= fx_object_get_protected(obj, FX_TYPE_SERIAL_CTX);
|
||||
|
||||
data->ctx_streambuf = fx_stream_buffer_create_dynamic(2048);
|
||||
}
|
||||
|
||||
static void serial_ctx_fini(fx_object *obj, void *priv)
|
||||
{
|
||||
fx_serial_ctx_data *data = fx_object_get_protected(obj, FX_TYPE_SERIAL_CTX);
|
||||
fx_serial_ctx_data *data
|
||||
= fx_object_get_protected(obj, FX_TYPE_SERIAL_CTX);
|
||||
|
||||
fx_stream_buffer_unref(data->ctx_streambuf);
|
||||
}
|
||||
@@ -40,18 +42,36 @@ FX_TYPE_DEFINITION_END(fx_serial_ctx)
|
||||
|
||||
/*** ITERATOR FUNCTIONS *******************************************************/
|
||||
|
||||
enum fx_status fx_serial_ctx_serialise(
|
||||
fx_serial_ctx *ctx, fx_object *src, fx_stream *dest, enum fx_serial_flags flags)
|
||||
fx_result fx_serial_ctx_serialise(
|
||||
fx_serial_ctx *ctx,
|
||||
fx_object *src,
|
||||
fx_stream *dest,
|
||||
enum fx_serial_flags flags)
|
||||
{
|
||||
FX_CLASS_DISPATCH_VIRTUAL(
|
||||
fx_serial_ctx, FX_TYPE_SERIAL_CTX, FX_ERR_NOT_SUPPORTED,
|
||||
s_serialise, ctx, src, dest, flags);
|
||||
fx_serial_ctx,
|
||||
FX_TYPE_SERIAL_CTX,
|
||||
FX_RESULT_ERR(NOT_SUPPORTED),
|
||||
s_serialise,
|
||||
ctx,
|
||||
src,
|
||||
dest,
|
||||
flags);
|
||||
}
|
||||
|
||||
enum fx_status fx_serial_ctx_deserialise(
|
||||
fx_serial_ctx *ctx, fx_stream *src, fx_object **dest, enum fx_serial_flags flags)
|
||||
fx_result fx_serial_ctx_deserialise(
|
||||
fx_serial_ctx *ctx,
|
||||
fx_stream *src,
|
||||
fx_object **dest,
|
||||
enum fx_serial_flags flags)
|
||||
{
|
||||
FX_CLASS_DISPATCH_VIRTUAL(
|
||||
fx_serial_ctx, FX_TYPE_SERIAL_CTX, FX_ERR_NOT_SUPPORTED,
|
||||
s_deserialise, ctx, src, dest, flags);
|
||||
fx_serial_ctx,
|
||||
FX_TYPE_SERIAL_CTX,
|
||||
FX_RESULT_ERR(NOT_SUPPORTED),
|
||||
s_deserialise,
|
||||
ctx,
|
||||
src,
|
||||
dest,
|
||||
flags);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user