diff options
-rw-r--r-- | src/mm-broadband-modem.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index d4191aed..13157fb2 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -55,6 +55,7 @@ enum { PROP_MODEM_STATE, PROP_MODEM_CURRENT_CAPABILITIES, PROP_MODEM_3GPP_REGISTRATION_STATE, + PROP_MODEM_SIMPLE_STATUS, PROP_LAST }; @@ -67,6 +68,7 @@ struct _MMBroadbandModemPrivate { MMModemState modem_state; MMModemCapability modem_current_capabilities; MMModem3gppRegistrationState modem_3gpp_registration_state; + MMCommonSimpleProperties *modem_simple_status; /* Modem helpers */ MMModemCharset current_charset; @@ -2414,6 +2416,10 @@ initialize_finish (MMBaseModem *self, return; \ } \ \ + /* bind simple properties */ \ + mm_##NAME##_bind_simple_status (TYPE (self), \ + self->priv->modem_simple_status); \ + \ /* Go on to next step */ \ ctx->step++; \ initialize_step (ctx); \ @@ -2429,6 +2435,9 @@ initialize_step (InitializeContext *ctx) case INITIALIZE_STEP_FIRST: { GError *error = NULL; + if (!ctx->self->priv->modem_simple_status) + ctx->self->priv->modem_simple_status = mm_common_simple_properties_new (); + /* Open and send first commands to the serial port */ if (!mm_serial_port_open (MM_SERIAL_PORT (ctx->port), &error)) { g_simple_async_result_take_error (ctx->result, error); @@ -2587,6 +2596,9 @@ set_property (GObject *object, case PROP_MODEM_3GPP_REGISTRATION_STATE: self->priv->modem_3gpp_registration_state = g_value_get_enum (value); break; + case PROP_MODEM_SIMPLE_STATUS: + self->priv->modem_simple_status = g_value_dup_object (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -2626,6 +2638,9 @@ get_property (GObject *object, case PROP_MODEM_3GPP_REGISTRATION_STATE: g_value_set_enum (value, self->priv->modem_3gpp_registration_state); break; + case PROP_MODEM_SIMPLE_STATUS: + g_value_set_object (value, self->priv->modem_simple_status); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -2686,6 +2701,8 @@ dispose (GObject *object) if (self->priv->modem_bearer_list) g_clear_object (&self->priv->modem_bearer_list); + g_clear_object (&self->priv->modem_simple_status); + G_OBJECT_CLASS (mm_broadband_modem_parent_class)->dispose (object); } @@ -2811,4 +2828,9 @@ mm_broadband_modem_class_init (MMBroadbandModemClass *klass) g_object_class_override_property (object_class, PROP_MODEM_3GPP_REGISTRATION_STATE, MM_IFACE_MODEM_3GPP_REGISTRATION_STATE); + + g_object_class_override_property (object_class, + PROP_MODEM_SIMPLE_STATUS, + MM_IFACE_MODEM_SIMPLE_STATUS); + } |