diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2014-12-28 18:32:33 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2014-12-28 18:45:06 +0100 |
commit | c8ce23695006266e304e3d5309d3e0303f2c308c (patch) | |
tree | 744e9b4fe83f16bff64d4dc28d7dbd02ac601e21 | |
parent | 6be914e2801d2f091293b0686053b27198768815 (diff) | |
download | libmbim-c8ce23695006266e304e3d5309d3e0303f2c308c.tar.gz |
libmbim-glib,message: new mbim_message_function_error_new()
To be used by the proxy to mimic modem-generated commands.
-rw-r--r-- | docs/reference/libmbim-glib/libmbim-glib-common.sections | 1 | ||||
-rw-r--r-- | src/libmbim-glib/mbim-message.c | 27 | ||||
-rw-r--r-- | src/libmbim-glib/mbim-message.h | 2 |
3 files changed, 30 insertions, 0 deletions
diff --git a/docs/reference/libmbim-glib/libmbim-glib-common.sections b/docs/reference/libmbim-glib/libmbim-glib-common.sections index 2e6cab9..e316aed 100644 --- a/docs/reference/libmbim-glib/libmbim-glib-common.sections +++ b/docs/reference/libmbim-glib/libmbim-glib-common.sections @@ -136,6 +136,7 @@ mbim_message_close_done_get_status_code mbim_message_close_done_get_result <SUBSECTION MethodsError> mbim_message_error_new +mbim_message_function_error_new mbim_message_error_get_error_status_code mbim_message_error_get_error <SUBSECTION MethodsCommand> diff --git a/src/libmbim-glib/mbim-message.c b/src/libmbim-glib/mbim-message.c index e40edfd..5ca8ef5 100644 --- a/src/libmbim-glib/mbim-message.c +++ b/src/libmbim-glib/mbim-message.c @@ -1711,6 +1711,33 @@ mbim_message_error_new (guint32 transaction_id, } /** + * mbim_message_function_error_new: + * @transaction_id: transaction ID. + * @error_status_code: a #MbimProtocolError. + * + * Create a new #MbimMessage of type %MBIM_MESSAGE_TYPE_FUNCTION_ERROR with the specified + * parameters. + * + * Returns: (transfer full): a newly created #MbimMessage. The returned value + * should be freed with mbim_message_unref(). + */ +MbimMessage * +mbim_message_function_error_new (guint32 transaction_id, + MbimProtocolError error_status_code) +{ + GByteArray *self; + + self = _mbim_message_allocate (MBIM_MESSAGE_TYPE_FUNCTION_ERROR, + transaction_id, + sizeof (struct error_message)); + + /* Open header */ + ((struct full_message *)(self->data))->message.error.error_status_code = GUINT32_TO_LE (error_status_code); + + return (MbimMessage *)self; +} + +/** * mbim_message_error_get_error_status_code: * @self: a #MbimMessage. * diff --git a/src/libmbim-glib/mbim-message.h b/src/libmbim-glib/mbim-message.h index e1d7b05..02154b7 100644 --- a/src/libmbim-glib/mbim-message.h +++ b/src/libmbim-glib/mbim-message.h @@ -156,6 +156,8 @@ gboolean mbim_message_close_done_get_result (const MbimMessage *se MbimMessage *mbim_message_error_new (guint32 transaction_id, MbimProtocolError error_status_code); +MbimMessage *mbim_message_function_error_new (guint32 transaction_id, + MbimProtocolError error_status_code); MbimProtocolError mbim_message_error_get_error_status_code (const MbimMessage *self); GError *mbim_message_error_get_error (const MbimMessage *self); |