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); }