summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Bradford <rob@linux.intel.com>2010-06-16 13:57:10 +0100
committerRob Bradford <rob@linux.intel.com>2010-06-16 13:59:41 +0100
commit49880783863519380f6ec21abcd81ce9cc486262 (patch)
tree53f3422d9d0aab0f5552f74b34a047a59d47a5ac
parentf82c9af4e1bae1dfd1548d09a85d6f5d975fcbc4 (diff)
downloadlibrest-49880783863519380f6ec21abcd81ce9cc486262.tar.gz
flickr-proxy: Allow specifying the permissions required in the login url
-rw-r--r--examples/get-flickr-favorites.c2
-rw-r--r--rest-extras/flickr-proxy.c8
-rw-r--r--rest-extras/flickr-proxy.h4
3 files changed, 9 insertions, 5 deletions
diff --git a/examples/get-flickr-favorites.c b/examples/get-flickr-favorites.c
index bbffab8..78451d9 100644
--- a/examples/get-flickr-favorites.c
+++ b/examples/get-flickr-favorites.c
@@ -124,7 +124,7 @@ main (int argc, char **argv)
frob = g_strdup (rest_xml_node_find (root, "frob")->content);
rest_xml_node_unref (root);
- url = flickr_proxy_build_login_url (FLICKR_PROXY (proxy), frob);
+ url = flickr_proxy_build_login_url (FLICKR_PROXY (proxy), frob, "read");
g_print ("Go to %s to authorise me and then press any key.\n", url);
getchar ();
diff --git a/rest-extras/flickr-proxy.c b/rest-extras/flickr-proxy.c
index 079405a..d8b43e5 100644
--- a/rest-extras/flickr-proxy.c
+++ b/rest-extras/flickr-proxy.c
@@ -300,7 +300,9 @@ flickr_proxy_sign (FlickrProxy *proxy, GHashTable *params)
}
char *
-flickr_proxy_build_login_url (FlickrProxy *proxy, const char *frob)
+flickr_proxy_build_login_url (FlickrProxy *proxy,
+ const char *frob,
+ const char *perms)
{
SoupURI *uri;
GHashTable *params;
@@ -312,8 +314,8 @@ flickr_proxy_build_login_url (FlickrProxy *proxy, const char *frob)
params = g_hash_table_new (g_str_hash, g_str_equal);
g_hash_table_insert (params, "api_key", proxy->priv->api_key);
- /* TODO: parameter */
- g_hash_table_insert (params, "perms", "read");
+ g_hash_table_insert (params, "perms", (gpointer)perms);
+
if (frob)
g_hash_table_insert (params, "frob", (gpointer)frob);
diff --git a/rest-extras/flickr-proxy.h b/rest-extras/flickr-proxy.h
index 736056c..550b864 100644
--- a/rest-extras/flickr-proxy.h
+++ b/rest-extras/flickr-proxy.h
@@ -85,7 +85,9 @@ void flickr_proxy_set_token (FlickrProxy *proxy, const char *token);
char * flickr_proxy_sign (FlickrProxy *proxy, GHashTable *params);
-char * flickr_proxy_build_login_url (FlickrProxy *proxy, const char *frob);
+char * flickr_proxy_build_login_url (FlickrProxy *proxy,
+ const char *frob,
+ const char *perms);
gboolean flickr_proxy_is_successful (RestXmlNode *root, GError **error);