Exemple #1
0
static void
got_user_cb (RestProxyCall *call,
             const GError  *error,
             GObject       *weak_object,
             gpointer       userdata)
{
  SwService *service = SW_SERVICE (weak_object);
  SwServiceMySpace *myspace = SW_SERVICE_MYSPACE (service);
  JsonParser *parser = NULL;
  JsonNode *node;

  if (error) {
    g_message ("Error: %s", error->message);
    return;
  }

  parser = json_parser_new ();
  node = node_from_call (call, parser);
  if (node == NULL)
    return;

  construct_user_data (myspace, node);

  g_object_unref (node);
  g_object_unref (parser);

  sw_service_emit_capabilities_changed (service, get_dynamic_caps (service));
}
static void
_got_login_data (RestProxyCall *call,
                 const GError  *error,
                 GObject       *weak_object,
                 gpointer       userdata)
{
  SwService *service = SW_SERVICE (weak_object);
  SwServicePlurk *plurk = SW_SERVICE_PLURK (service);
  JsonParser *parser = NULL;
  JsonNode *root;

  if (error) {
    // TODO sanity_check_date (call);
    g_message ("Error: %s", error->message);

    plurk->priv->credentials = CREDS_INVALID;
    sw_service_emit_capabilities_changed (service, get_dynamic_caps (service));

    return;
  }

  plurk->priv->credentials = CREDS_VALID;

  parser = json_parser_new ();
  root = node_from_call (call, parser);
  construct_user_data (plurk, root);
  g_object_unref (root);

  sw_service_emit_capabilities_changed (service, get_dynamic_caps (service));

  g_object_unref (call);
}