aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2017-09-18 09:10:56 -0700
committerAleksander Morgado <aleksander@aleksander.es>2017-09-20 09:28:12 -0700
commit4f8e9e2e1ca25c474de8472484f6eccf9834ae67 (patch)
tree8a572581f7723c005ad7689627d60784af05ebf8
parentbb5cd9b4e20e4c4657e01dd2abeaf1946067e2cb (diff)
iface-modem: add mm_iface_modem_get_unlock_retries helper
This patch adds a mm_iface_modem_get_unlock_retries helper for getting the current MMUnlockRetries value of a MMIfaceModem object, which later allows us to partially update (e.g. a specific MMModemLock) the MMUnlockRetries value of a MMIfaceModem object.
-rw-r--r--src/mm-iface-modem.c21
-rw-r--r--src/mm-iface-modem.h2
2 files changed, 23 insertions, 0 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index e21d5aeb..cc4d6991 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -2926,6 +2926,27 @@ set_lock_status (MMIfaceModem *self,
}
}
+MMUnlockRetries *
+mm_iface_modem_get_unlock_retries (MMIfaceModem *self)
+{
+ MmGdbusModem *skeleton = NULL;
+ MMUnlockRetries *unlock_retries;
+
+ g_object_get (self,
+ MM_IFACE_MODEM_DBUS_SKELETON, &skeleton,
+ NULL);
+ if (skeleton) {
+ GVariant *dictionary;
+
+ dictionary = mm_gdbus_modem_get_unlock_retries (skeleton);
+ unlock_retries = mm_unlock_retries_new_from_dictionary (dictionary);
+ g_object_unref (skeleton);
+ } else
+ unlock_retries = mm_unlock_retries_new ();
+
+ return unlock_retries;
+}
+
void
mm_iface_modem_update_unlock_retries (MMIfaceModem *self,
MMUnlockRetries *unlock_retries)
diff --git a/src/mm-iface-modem.h b/src/mm-iface-modem.h
index af039b3b..1a154b48 100644
--- a/src/mm-iface-modem.h
+++ b/src/mm-iface-modem.h
@@ -414,6 +414,8 @@ MMModemLock mm_iface_modem_update_lock_info_finish (MMIfaceModem *self,
GAsyncResult *res,
GError **error);
+MMUnlockRetries *mm_iface_modem_get_unlock_retries (MMIfaceModem *self);
+
void mm_iface_modem_update_unlock_retries (MMIfaceModem *self,
MMUnlockRetries *unlock_retries);