Flickcurl Flickr API Manual | ||||
---|---|---|---|---|
Top | Description |
typedef flickcurl; extern const char* const flickcurl_version_string; extern const char* const flickcurl_license_string; extern const char* const flickcurl_copyright_string; extern const char* const flickcurl_short_copyright_string; extern const char* const flickcurl_home_url_string; extern const char* const flickcurl_flickr_replace_service_uri; extern const char* const flickcurl_flickr_service_uri; extern const char* const flickcurl_flickr_upload_service_uri; void (*flickcurl_message_handler) (void *user_data
,const char *message
); int flickcurl_init (void
); void flickcurl_finish (void
); flickcurl * flickcurl_new (void
); flickcurl * flickcurl_new_with_handle (void *curl_handle
); void flickcurl_free (flickcurl *fc
); int flickcurl_get_current_request_wait (flickcurl *fc
); int flickcurl_get_extras_format_info (int extras_format
,const char **name_p
,const char **label_p
); int flickcurl_get_feed_format_info (int feed_format
,const char **name_p
,const char **label_p
,const char **mime_type_p
); void (*flickcurl_curl_setopt_handler) (void *user_data
,void *curl_handle
); void flickcurl_set_curl_setopt_handler (flickcurl *fc
,flickcurl_curl_setopt_handler curl_handler
,void *curl_handler_data
); void flickcurl_set_data (flickcurl *fc
,void *data
,size_t data_length
); void flickcurl_set_error_handler (flickcurl *fc
,flickcurl_message_handler error_handler
,void *error_data
); void flickcurl_set_http_accept (flickcurl *fc
,const char *value
); void flickcurl_set_proxy (flickcurl *fc
,const char *proxy
); void flickcurl_set_request_delay (flickcurl *fc
,long delay_msec Param2
); void flickcurl_set_service_uri (flickcurl *fc
,const char *uri
); void flickcurl_set_replace_service_uri (flickcurl *fc
,const char *uri
); void flickcurl_set_upload_service_uri (flickcurl *fc
,const char *uri
); void flickcurl_set_sign (flickcurl *fc
); void flickcurl_set_tag_handler (flickcurl *fc
,flickcurl_tag_handler tag_handler
,void *tag_data
); void flickcurl_set_user_agent (flickcurl *fc
,const char *user_agent
); void flickcurl_set_write (flickcurl *fc
,int is_write
); void flickcurl_set_xml_data (flickcurl *fc
,xmlDocPtr doc
);
typedef struct flickcurl_s flickcurl;
Flickcurl session object created by flickcurl_new()
and destroyed
by flickcurl_free()
void (*flickcurl_message_handler) (void *user_data
,const char *message
);
Flickcurl Message handler callback.
|
user data pointer |
|
error message |
int flickcurl_init (void
);
Initialise Flickcurl library.
Returns : |
non-0 on failure |
flickcurl * flickcurl_new (void
);
Create a Flickcurl sesssion
Returns : |
new flickcurl object or NULL on fialure |
flickcurl * flickcurl_new_with_handle (void *curl_handle
);
Create a Flickcurl sesssion from an existing CURL* handler
This allows setting up or re-using an existing CURL handle with
Flickcurl, however the library will call curl_easy_setopt to set
options based on the operation being performed. If these need to
be over-ridden, use flickcurl_set_curl_setopt_handler()
to adjust
the options.
NOTE: The type of handle
is void* so that curl headers are
optional when compiling against flickcurl.
|
CURL* handle |
Returns : |
new flickcurl object or NULL on fialure |
void flickcurl_free (flickcurl *fc
);
Destroy flickcurl session
|
flickcurl object |
int flickcurl_get_current_request_wait (flickcurl *fc
);
Get current wait that would be applied for a web service request called now
Returns the wait time that would be applied in order to delay a web service request such that the web service rate limit is met.
See flickcurl_set_request_delay()
which by default is set to 1000ms.
|
flickcurl object |
Returns : |
delay in usecs or < 0 if delay is more than 247 seconds ('infinity') |
int flickcurl_get_extras_format_info (int extras_format
,const char **name_p
,const char **label_p
);
Get APi extras format parameter value information
As described 2008-08-19 in http://code.flickr.com/blog/2008/08/19/standard-photos-response-apis-for-civilized-age/
|
input param - extras format index |
|
output param - pointer to store feed format name |
|
output param - pointer to store feed format label |
Returns : |
non-0 if extras_format is out of range |
int flickcurl_get_feed_format_info (int feed_format
,const char **name_p
,const char **label_p
,const char **mime_type_p
);
Get feed format parameter value information
As announced 2008-08-25 in http://code.flickr.com/blog/2008/08/25/api-responses-as-feeds/
|
input param - feed format index |
|
output param - pointer to store feed format name |
|
output param - pointer to store feed format label |
|
output param - pointer to store feed format mime type |
Returns : |
non-0 if feed_format is out of range |
void (*flickcurl_curl_setopt_handler) (void *user_data
,void *curl_handle
);
Flickcurl curl options handle callback.
For use with flickcurl_set_curl_setopt_handler()
to set curl
handle options once Flickcurl has created the CURL* handle
internally.
NOTE: The type of curl_handle
is void* so that curl headers are
optional when compiling against flickcurl.
WARNING: This callback is called with two void args in the order curl handler user data, curl handle (CURL* pointer) - take care in getting them correct in implementation.
|
user data pointer |
|
curl CURL* handle |
void flickcurl_set_curl_setopt_handler (flickcurl *fc
,flickcurl_curl_setopt_handler curl_handler
,void *curl_handler_data
);
Set curl set option callback handler.
This handler is called for every curl request after all internal curl_easy_setopt calls are made on the internal CURL* handle and just before curl_easy_perform is invoked to start the retrieval. Thus, this callback can override any internal configuration.
If a simple once-only CURL configuration is needed, using
flickcurl_new_with_handle()
may be easier.
WARNING: The curl_handler
callback is called with 2 void args in
the order user data (curl_handler_data
value), curl_handle (CURL*
pointer) - take care to use them correct in implementation.
|
flickcurl object |
|
curl set options handler (or NULL) |
|
user data for handler (or NULL) |
void flickcurl_set_data (flickcurl *fc
,void *data
,size_t data_length
);
Set web service request content data.
|
flickcurl object |
|
data pointer |
|
data length |
void flickcurl_set_error_handler (flickcurl *fc
,flickcurl_message_handler error_handler
,void *error_data
);
Set Flickcurl error handler.
|
flickcurl object |
|
error handler function |
|
error handler data |
void flickcurl_set_http_accept (flickcurl *fc
,const char *value
);
Set HTTP accept header value for flickcurl requests
|
flickcurl object |
|
HTTP Accept header value |
void flickcurl_set_proxy (flickcurl *fc
,const char *proxy
);
Set HTTP proxy for flickcurl requests
|
flickcurl object |
|
HTTP proxy string |
void flickcurl_set_request_delay (flickcurl *fc
,long delay_msec Param2
);
Set web service request delay
|
flickcurl object |
void flickcurl_set_service_uri (flickcurl *fc
,const char *uri
);
Set Web Service URI for flickcurl requests
Sets the service to the default (Flickr API web service) if uri
is NULL.
|
flickcurl object |
|
Service URI (or NULL) |
void flickcurl_set_replace_service_uri (flickcurl *fc
,const char *uri
);
Set Web Replace Service URI for flickcurl requests
Sets the replace service to the default (Flickr API web
replace_service) if uri
is NULL.
|
flickcurl object |
|
Replace Service URI (or NULL) |
void flickcurl_set_upload_service_uri (flickcurl *fc
,const char *uri
);
Set Web Upload Service URI for flickcurl requests
Sets the upload service to the default (Flickr API web
upload_service) if uri
is NULL.
|
flickcurl object |
|
Upload Service URI (or NULL) |
void flickcurl_set_sign (flickcurl *fc
);
Make the next request signed.
|
flickcurl object |
void flickcurl_set_tag_handler (flickcurl *fc
,flickcurl_tag_handler tag_handler
,void *tag_data
);
Set Flickcurl tag handler.
|
flickcurl object |
|
tag handler function |
|
tag handler data |
void flickcurl_set_user_agent (flickcurl *fc
,const char *user_agent
);
Set Flickcurl HTTP user agent string
|
flickcurl object |
|
user agent string |
void flickcurl_set_write (flickcurl *fc
,int is_write
);
Set writeable flag.
|
flickcurl object |
|
writeable flag |
void flickcurl_set_xml_data (flickcurl *fc
,xmlDocPtr doc
);
Set web service request content data from XML DOM.
|
flickcurl object |
|
XML dom |