summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-08-06 15:02:53 +0200
committerAleksander Morgado <aleksander@lanedo.com>2013-09-05 15:39:00 +0200
commitc431f1796bc066dc105313d85c197abefa3a7f77 (patch)
treed43f68f0fe97f997819c6c11c6a27938fbefd2ac
parent600f429ab6a9b20295114d2c4ace0decc4bd7aff (diff)
downloadlibqmi-c431f1796bc066dc105313d85c197abefa3a7f77.tar.gz
libqmi-glib,message: allow overwriting the transaction id
-rw-r--r--docs/reference/libqmi-glib/libqmi-glib-common.sections1
-rw-r--r--src/libqmi-glib/qmi-message.c19
-rw-r--r--src/libqmi-glib/qmi-message.h6
3 files changed, 26 insertions, 0 deletions
diff --git a/docs/reference/libqmi-glib/libqmi-glib-common.sections b/docs/reference/libqmi-glib/libqmi-glib-common.sections
index 7048e945..3be4f374 100644
--- a/docs/reference/libqmi-glib/libqmi-glib-common.sections
+++ b/docs/reference/libqmi-glib/libqmi-glib-common.sections
@@ -763,6 +763,7 @@ QmiMessageForeachRawTlvFn
qmi_message_foreach_raw_tlv
qmi_message_get_raw_tlv
qmi_message_add_raw_tlv
+qmi_message_set_transaction_id
qmi_message_get_printable
qmi_message_get_tlv_printable
</SECTION>
diff --git a/src/libqmi-glib/qmi-message.c b/src/libqmi-glib/qmi-message.c
index c016f5e4..8e0635a0 100644
--- a/src/libqmi-glib/qmi-message.c
+++ b/src/libqmi-glib/qmi-message.c
@@ -253,6 +253,25 @@ qmi_message_get_transaction_id (QmiMessage *self)
}
/**
+ * qmi_message_set_transaction_id:
+ * @self: a #QmiMessage.
+ * @transaction_id: transaction id.
+ *
+ * Overwrites the transaction ID of the message.
+ */
+void
+qmi_message_set_transaction_id (QmiMessage *self,
+ guint16 transaction_id)
+{
+ g_return_if_fail (self != NULL);
+
+ if (message_is_control (self))
+ ((struct full_message *)self->data)->qmi.control.header.transaction = (guint8)transaction_id;
+ else
+ ((struct full_message *)self->data)->qmi.control.header.transaction = GUINT16_TO_LE (transaction_id);
+}
+
+/**
* qmi_message_get_message_id:
* @self: a #QmiMessage.
*
diff --git a/src/libqmi-glib/qmi-message.h b/src/libqmi-glib/qmi-message.h
index 958df035..69daebf2 100644
--- a/src/libqmi-glib/qmi-message.h
+++ b/src/libqmi-glib/qmi-message.h
@@ -102,6 +102,12 @@ gboolean qmi_message_add_raw_tlv (QmiMessage *self,
GError **error);
/*****************************************************************************/
+/* Other helpers */
+
+void qmi_message_set_transaction_id (QmiMessage *self,
+ guint16 transaction_id);
+
+/*****************************************************************************/
/* Printable helpers */
gchar *qmi_message_get_printable (QmiMessage *self,