aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2011-11-22 17:33:47 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:22 +0100
commit88e6b0e4e64e87ea371e8dec5f1889254f220a56 (patch)
treebe58b267f4e8603df05e12553263ad8d581cb8ad /src
parent9e7cd2a3450a56bd3af99e7d22146c66189774e2 (diff)
iface-modem: set `Device', `Driver' and `Plugin' during init
Values taken from the MMBaseModem object, which are not expected to change during the lifetime of the Modem object.
Diffstat (limited to 'src')
-rw-r--r--src/mm-iface-modem.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index 5c1499d6..6acf8ee3 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -163,6 +163,36 @@ interface_initialization_step (InitializationContext *ctx)
{
switch (ctx->step) {
case INITIALIZATION_STEP_FIRST: {
+ /* Load device if not done before */
+ if (!mm_gdbus_modem_get_device (ctx->skeleton)) {
+ gchar *device;
+
+ g_object_get (ctx->self,
+ MM_BASE_MODEM_DEVICE, &device,
+ NULL);
+ mm_gdbus_modem_set_device (ctx->skeleton, device);
+ g_free (device);
+ }
+ /* Load driver if not done before */
+ if (!mm_gdbus_modem_get_driver (ctx->skeleton)) {
+ gchar *driver;
+
+ g_object_get (ctx->self,
+ MM_BASE_MODEM_DRIVER, &driver,
+ NULL);
+ mm_gdbus_modem_set_driver (ctx->skeleton, driver);
+ g_free (driver);
+ }
+ /* Load plugin if not done before */
+ if (!mm_gdbus_modem_get_plugin (ctx->skeleton)) {
+ gchar *plugin;
+
+ g_object_get (ctx->self,
+ MM_BASE_MODEM_PLUGIN, &plugin,
+ NULL);
+ mm_gdbus_modem_set_plugin (ctx->skeleton, plugin);
+ g_free (plugin);
+ }
break;
}
case INITIALIZATION_STEP_LAST: