## FlickrProxy FlickrProxy |

## Functions

RestProxy * | flickr_proxy_new ()
RestProxy * | flickr_proxy_new_with_token ()
const char * | flickr_proxy_get_api_key ()
const char * | flickr_proxy_get_shared_secret ()
const char * | flickr_proxy_get_token ()
void | flickr_proxy_set_token ()
char * | flickr_proxy_sign ()
char * | flickr_proxy_build_login_url ()
gboolean | flickr_proxy_is_successful ()
RestProxyCall * | flickr_proxy_new_upload ()
RestProxyCall * | flickr_proxy_new_upload_for_file ()

## Properties

gchar * | api-key | Read / Write / Construct Only
gchar * | shared-secret | Read / Write / Construct Only
gchar * | token | Read / Write

## Types and Values

| FlickrProxy
#define | FLICKR_PROXY_ERROR

## Object Hierarchy

        GObject
        ╰── RestProxy
            ╰── FlickrProxy

## Description

## Functions

### flickr_proxy_new ()

    RestProxy *
    flickr_proxy_new (const char *api_key,
                      const char *shared_secret);

### flickr_proxy_new_with_token ()

    RestProxy *
    flickr_proxy_new_with_token (const char *api_key,
                                 const char *shared_secret,
                                 const char *token);

### flickr_proxy_get_api_key ()

    const char *
    flickr_proxy_get_api_key (FlickrProxy *proxy);

Get the API key.

#### Parameters

proxy | an FlickrProxy |

#### Returns

the API key. This string is owned by FlickrProxy and should not be freed.

### flickr_proxy_get_shared_secret ()

    const char *
    flickr_proxy_get_shared_secret (FlickrProxy *proxy);

Get the shared secret for authentication.

#### Parameters

proxy | an FlickrProxy |

#### Returns

the shared secret. This string is owned by FlickrProxy and should not be freed.

### flickr_proxy_get_token ()

    const char *
    flickr_proxy_get_token (FlickrProxy *proxy);

Get the current token.

#### Parameters

proxy | an FlickrProxy |

#### Returns

the token, or `NULL` if there is no token yet. This string is owned by FlickrProxy and should not be freed.

### flickr_proxy_set_token ()

    void
    flickr_proxy_set_token (FlickrProxy *proxy,
                            const char *token);

Set the token.

#### Parameters

proxy | an FlickrProxy |
token | the access token |

### flickr_proxy_sign ()

    char *
    flickr_proxy_sign (FlickrProxy *proxy,
                       GHashTable *params);

### flickr_proxy_build_login_url ()

    char *
    flickr_proxy_build_login_url (FlickrProxy *proxy,
                                  const char *frob,
                                  const char *perms);

### flickr_proxy_is_successful ()

    gboolean
    flickr_proxy_is_successful (RestXmlNode *root,
                                GError **error);

Examines the Flickr response and if it not a successful reply, set `error` and return FALSE.

#### Parameters

root | The root node of a parsed Flickr response |
error | GError to set if the response was an error |

#### Returns

`TRUE` if this response is successful, `FALSE` otherwise.

### flickr_proxy_new_upload ()

    RestProxyCall *
    flickr_proxy_new_upload (FlickrProxy *proxy);

Create a new RestProxyCall that can be used for uploading.

See http://www.flickr.com/services/api/upload.api.html for details on uploading to Flickr.

#### Parameters

proxy | a valid FlickrProxy |

#### Returns

a new FlickrProxyCall.

[type FlickrProxyCall][transfer full]

### flickr_proxy_new_upload_for_file ()

    RestProxyCall *
    flickr_proxy_new_upload_for_file (FlickrProxy *proxy,
                                      const char *filename,
                                      GError **error);

Create a new RestProxyCall that can be used for uploading. `filename` will be set as the "photo" parameter for you, avoiding you from having to open the file and determine the MIME type.

Note that this function can in theory block.

See http://www.flickr.com/services/api/upload.api.html for details on uploading to Flickr.

#### Parameters

proxy | a valid FlickrProxy |
filename | the file to upload |
error | GError to set on error |

#### Returns

a new FlickrProxyCall.

[type FlickrProxyCall][transfer full]

## Types and Values

### FlickrProxy

    typedef struct _FlickrProxy FlickrProxy;

FlickrProxy has no publicly available members.

### FLICKR_PROXY_ERROR

    #define FLICKR_PROXY_ERROR flickr_proxy_error_quark()

## Property Details

### The `“api-key”` property

      “api-key”                  gchar *

The API key.

Flags: Read / Write / Construct Only

Default value: NULL

### The `“shared-secret”` property

      “shared-secret”            gchar *

The shared secret.

Flags: Read / Write / Construct Only

Default value: NULL

### The `“token”` property

      “token”                    gchar *

The request or access token.

Flags: Read / Write

Default value: NULL