static void
modem_sim_service_disconnect (ModemOface *_self)
{
  DEBUG ("(%p): enter", _self);

  modem_oface_disconnect_properties (_self);
}
static void
modem_sms_service_disconnect (ModemOface *_self)
{
  DEBUG ("(%p): enter", _self);

  ModemSMSService *self = MODEM_SMS_SERVICE (_self);
  ModemSMSServicePrivate *priv = self->priv;
  DBusGProxy *proxy = modem_oface_dbus_proxy (_self);

  if (priv->signals)
    {
      priv->signals = FALSE;

      dbus_g_proxy_disconnect_signal (proxy, "IncomingMessage",
          G_CALLBACK (on_immediate_message), self);
      dbus_g_proxy_disconnect_signal (proxy, "ImmediateMessage",
          G_CALLBACK (on_incoming_message), self);
      dbus_g_proxy_disconnect_signal (proxy, "MessageAdded",
          G_CALLBACK (on_manager_message_added), self);
      dbus_g_proxy_disconnect_signal (proxy, "MessageRemoved",
          G_CALLBACK (on_manager_message_removed), self);
    }

#if nomore
  g_hash_table_remove_all (priv->received);
#endif

  modem_oface_disconnect_properties (_self);
}
コード例 #3
0
static void
modem_call_disconnect (ModemOface *_self)
{
  DEBUG ("(%p): enter", _self);

  g_signal_handlers_disconnect_by_func (_self,
      G_CALLBACK(on_notify_ofono_state), _self);

  modem_oface_disconnect_properties (_self);
}
コード例 #4
0
/** Disconnect from call service */
static void
modem_call_service_disconnect (ModemOface *_self)
{
  DEBUG ("(%p): enter", _self);

  ModemCallService *self = MODEM_CALL_SERVICE (_self);
  ModemCallServicePrivate *priv = self->priv;
  GHashTableIter iter[1];
  ModemCall *ci;

  while (!g_queue_is_empty (priv->dialing.queue))
    {
      ModemRequest *request = g_queue_pop_head (priv->dialing.queue);
      modem_request_cancel (request);
    }

  if (priv->signals)
    {
      priv->signals = FALSE;

      dbus_g_proxy_disconnect_signal (DBUS_PROXY (self), "CallAdded",
          G_CALLBACK (on_manager_call_added), self);
      dbus_g_proxy_disconnect_signal (DBUS_PROXY (self), "CallRemoved",
          G_CALLBACK (on_manager_call_removed), self);
      dbus_g_proxy_disconnect_signal (DBUS_PROXY (self), "Forwarded",
          G_CALLBACK (on_manager_call_forwarded), self);
    }

  for (g_hash_table_iter_init (iter, priv->instances);
       g_hash_table_iter_next (iter, NULL, (gpointer)&ci);
       g_hash_table_iter_init (iter, priv->instances))
    {
      modem_call_service_disconnect_instance (self, ci);
    }

  ci = priv->conference.instance;
  modem_call_service_disconnect_instance (self, ci);

  modem_oface_disconnect_properties (_self);
}