예제 #1
0
static void
reply_to_call_manager_get_calls (ModemOface *_self,
                                 ModemRequest *request,
                                 GPtrArray *array,
                                 GError const *error,
                                 gpointer user_data)
{
  ModemCallService *self = MODEM_CALL_SERVICE (_self);

  DEBUG ("enter");

  if (!error)
    {
      guint i;

      for (i = 0; i < array->len; i++)
        {
          GValueArray *va = g_ptr_array_index (array, i);
          char const *path = g_value_get_boxed (va->values + 0);
          GHashTable *properties = g_value_get_boxed (va->values + 1);

          modem_call_service_ensure_instance (self, path, properties);
        }
    }

  modem_oface_check_connected (_self, request, error);
}
static void
reply_to_sms_manager_get_messages (ModemOface *_self,
                                   ModemRequest *request,
                                   GPtrArray *array,
                                   GError const *error,
                                   gpointer user_data)
{
  ModemSMSService *self = MODEM_SMS_SERVICE (_self);

  DEBUG ("(%p): enter", _self);

  if (!error)
    {
      guint i;

      for (i = 0; i < array->len; i++)
        {
          GValueArray *va = g_ptr_array_index (array, i);
          char const *path = g_value_get_boxed (va->values + 0);
          GHashTable *properties = g_value_get_boxed (va->values + 1);

          on_manager_message_added (NULL, path, properties, self);
        }
    }

  modem_oface_check_connected (_self, request, error);
}