summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2014-12-28 18:32:33 +0100
committerAleksander Morgado <aleksander@aleksander.es>2014-12-28 18:45:06 +0100
commitc8ce23695006266e304e3d5309d3e0303f2c308c (patch)
tree744e9b4fe83f16bff64d4dc28d7dbd02ac601e21
parent6be914e2801d2f091293b0686053b27198768815 (diff)
downloadlibmbim-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.sections1
-rw-r--r--src/libmbim-glib/mbim-message.c27
-rw-r--r--src/libmbim-glib/mbim-message.h2
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);