flickcurl.h | flickcurl.h | |||
---|---|---|---|---|
skipping to change at line 85 | skipping to change at line 85 | |||
PHOTO_FIELD_owner_location, | PHOTO_FIELD_owner_location, | |||
PHOTO_FIELD_owner_nsid, | PHOTO_FIELD_owner_nsid, | |||
PHOTO_FIELD_owner_realname, | PHOTO_FIELD_owner_realname, | |||
PHOTO_FIELD_owner_username, | PHOTO_FIELD_owner_username, | |||
PHOTO_FIELD_title, | PHOTO_FIELD_title, | |||
PHOTO_FIELD_visibility_isfamily, | PHOTO_FIELD_visibility_isfamily, | |||
PHOTO_FIELD_visibility_isfriend, | PHOTO_FIELD_visibility_isfriend, | |||
PHOTO_FIELD_visibility_ispublic, | PHOTO_FIELD_visibility_ispublic, | |||
PHOTO_FIELD_secret, | PHOTO_FIELD_secret, | |||
PHOTO_FIELD_originalsecret, | PHOTO_FIELD_originalsecret, | |||
PHOTO_FIELD_LAST = PHOTO_FIELD_originalsecret | PHOTO_FIELD_location_neighborhood, | |||
PHOTO_FIELD_location_locality, | ||||
PHOTO_FIELD_location_region, | ||||
PHOTO_FIELD_location_country, | ||||
PHOTO_FIELD_LAST = PHOTO_FIELD_location_country, | ||||
} flickcurl_photo_field_type; | } flickcurl_photo_field_type; | |||
/* The main object type */ | /* The main object type */ | |||
typedef struct flickcurl_s flickcurl; | typedef struct flickcurl_s flickcurl; | |||
/* Forward structure references */ | /* Forward structure references */ | |||
struct flickcurl_s; | struct flickcurl_s; | |||
struct flickcurl_photo_s; | struct flickcurl_photo_s; | |||
/** | /** | |||
* flickcurl_arg: | ||||
* @name: Argument name | ||||
* @optional: boolean flag (non-0 true) if argument is optional | ||||
* @description: description of argument (HTML) | ||||
* | ||||
* An API method argument. | ||||
*/ | ||||
typedef struct flickcurl_arg_s { | ||||
char* name; | ||||
int optional; | ||||
char *description; | ||||
} flickcurl_arg; | ||||
/** | ||||
* flickcurl_method: | ||||
* @name: Method name | ||||
* @needslogin: boolean flag (non-0 true) if method requires login | ||||
* @description: description of method | ||||
* @response: example response (HTML) | ||||
* @explanation: explanation of example response or NULL if missing | ||||
* @args: method arguments | ||||
* @arg_count: number of arguments, may be 0 | ||||
* | ||||
* An API method | ||||
*/ | ||||
typedef struct flickcurl_method_s { | ||||
char *name; | ||||
int needslogin; | ||||
char *description; | ||||
char *response; | ||||
char *explanation; | ||||
/* argument list */ | ||||
flickcurl_arg** args; | ||||
int args_count; | ||||
} flickcurl_method; | ||||
/** | ||||
* flickcurl_comment: | ||||
* @name: Argument name | ||||
* @optional: boolean flag (non-0 true) if argument is optional | ||||
* @description: description of argument (HTML) | ||||
* | ||||
* An API method argument. | ||||
*/ | ||||
typedef struct flickcurl_comment_s { | ||||
char* id; | ||||
char* author; | ||||
char* authorname; | ||||
int datecreate; | ||||
char* permalink; | ||||
char* text; | ||||
} flickcurl_comment; | ||||
/** | ||||
* flickcurl_tag: | * flickcurl_tag: | |||
* @photo: Associated photo object if any | ||||
* @id: tag identifier | ||||
* @author: author (may be NULL) | ||||
* @authornamae: author real name (may be NULL) | ||||
* @raw: raw tag as user typed it (may be NULL, but if so @cooked must be n | ||||
ot NULL) | ||||
* @cooked: cooked tag (may be NULL, but if so @raw must not be NULL) | ||||
* @machine_tag: boolean (non-0 true) if tag is a Machine Tag | ||||
* @count: tag count in a histogram (or 0) | ||||
* | ||||
* A tag OR a posting of a tag about a photo by a user OR a tag in a histog | ||||
ram | ||||
* | * | |||
* Most of these fields may be NULL, 0 for numbers | * Most of these fields may be NULL, 0 for numbers | |||
* but not all. Either 'raw' or 'cooked' MUST appear. | * but not all. Either @raw or @cooked MUST appear. | |||
*/ | */ | |||
typedef struct flickcurl_tag_s { | typedef struct flickcurl_tag_s { | |||
/* Associated photo object if any */ | ||||
struct flickcurl_photo_s* photo; | struct flickcurl_photo_s* photo; | |||
char* id; | char* id; | |||
char* author; | char* author; | |||
char* authorname; | char* authorname; | |||
char* raw; | char* raw; | |||
char* cooked; | char* cooked; | |||
int machine_tag; | int machine_tag; | |||
int count; | int count; | |||
} flickcurl_tag; | } flickcurl_tag; | |||
typedef struct { | typedef struct { | |||
char* string; | char* string; | |||
flickcurl_photo_field_type integer; | flickcurl_photo_field_type integer; | |||
flickcurl_field_value_type type; | flickcurl_field_value_type type; | |||
} flickcurl_photo_field; | } flickcurl_photo_field; | |||
/** | ||||
* flickcurl_photo: | ||||
* @id: photo ID | ||||
* @uri: photo page URI | ||||
* @tags: array of tags (may be NULL) | ||||
* @tags_count: size of tags array | ||||
* @fields: photo fields | ||||
* | ||||
* A photo. | ||||
* | ||||
*/ | ||||
typedef struct flickcurl_photo_s { | typedef struct flickcurl_photo_s { | |||
/* photo id */ | ||||
char *id; | char *id; | |||
/* photo page uri */ | ||||
char *uri; | char *uri; | |||
flickcurl_tag** tags; | flickcurl_tag** tags; | |||
int tags_count; | int tags_count; | |||
flickcurl_photo_field fields[PHOTO_FIELD_LAST + 1]; | flickcurl_photo_field fields[PHOTO_FIELD_LAST + 1]; | |||
} flickcurl_photo; | } flickcurl_photo; | |||
/** | ||||
* flickcurl_license: | ||||
* @id: license ID | ||||
* @url: license URL | ||||
* @name: license short name | ||||
* | ||||
* A photo license. | ||||
* | ||||
*/ | ||||
typedef struct { | typedef struct { | |||
/* license id */ | /* license id */ | |||
int id; | int id; | |||
/* license url or NULL if none */ | /* license url or NULL if none */ | |||
char *url; | char *url; | |||
/* license name */ | /* license name */ | |||
char *name; | char *name; | |||
} flickcurl_license; | } flickcurl_license; | |||
/* | /* | |||
skipping to change at line 192 | skipping to change at line 279 | |||
PERSON_FIELD_photos_views, /* integer - not in API docs */ | PERSON_FIELD_photos_views, /* integer - not in API docs */ | |||
PERSON_FIELD_LAST = PERSON_FIELD_photos_views | PERSON_FIELD_LAST = PERSON_FIELD_photos_views | |||
} flickcurl_person_field_type; | } flickcurl_person_field_type; | |||
typedef struct { | typedef struct { | |||
char* string; | char* string; | |||
flickcurl_person_field_type integer; | flickcurl_person_field_type integer; | |||
flickcurl_field_value_type type; | flickcurl_field_value_type type; | |||
} flickcurl_person_field; | } flickcurl_person_field; | |||
/** | ||||
* flickcurl_person: | ||||
* @nsid: user NSID | ||||
* @fields: person fields | ||||
* | ||||
* A flickr user. | ||||
* | ||||
*/ | ||||
typedef struct { | typedef struct { | |||
/* user nsid */ | ||||
char *nsid; | char *nsid; | |||
flickcurl_person_field fields[PERSON_FIELD_LAST + 1]; | flickcurl_person_field fields[PERSON_FIELD_LAST + 1]; | |||
} flickcurl_person; | } flickcurl_person; | |||
/** | ||||
* flickcurl_upload_status: | ||||
* @photoid: photo ID that was uploaded/replaced (upload only) | ||||
* @secret: secret of photo uploaded (replace only) | ||||
* @originalsecret: secret of original photo (replace only) | ||||
* @ticketid: ticket ID for asynchronous upload (replace only) | ||||
* | ||||
* An upload response. | ||||
* | ||||
*/ | ||||
typedef struct { | ||||
char *photoid; | ||||
char *secret; | ||||
char *originalsecret; | ||||
char *ticketid; | ||||
} flickcurl_upload_status; | ||||
/* callback handlers */ | /* callback handlers */ | |||
typedef void (*flickcurl_message_handler)(void *user_data, const char *mess age); | typedef void (*flickcurl_message_handler)(void *user_data, const char *mess age); | |||
typedef void (*flickcurl_tag_handler)(void *user_data, flickcurl_tag* tag); | typedef void (*flickcurl_tag_handler)(void *user_data, flickcurl_tag* tag); | |||
/* library constants */ | /* library constants */ | |||
extern const char* const flickcurl_short_copyright_string; | extern const char* const flickcurl_short_copyright_string; | |||
extern const char* const flickcurl_copyright_string; | extern const char* const flickcurl_copyright_string; | |||
extern const char* const flickcurl_license_string; | extern const char* const flickcurl_license_string; | |||
extern const char* const flickcurl_home_url_string; | extern const char* const flickcurl_home_url_string; | |||
extern const char* const flickcurl_version_string; | extern const char* const flickcurl_version_string; | |||
skipping to change at line 287 | skipping to change at line 398 | |||
/* flickr.photos */ | /* flickr.photos */ | |||
int flickcurl_photos_addTags(flickcurl* fc, const char* photo_id, const cha r* tags); | int flickcurl_photos_addTags(flickcurl* fc, const char* photo_id, const cha r* tags); | |||
int flickcurl_photos_delete(flickcurl* fc, const char* photo_id); | int flickcurl_photos_delete(flickcurl* fc, const char* photo_id); | |||
flickcurl_context** flickcurl_photos_getAllContexts(flickcurl* fc, const ch ar* photo_id); | flickcurl_context** flickcurl_photos_getAllContexts(flickcurl* fc, const ch ar* photo_id); | |||
flickcurl_context** flickcurl_photos_getContext(flickcurl* fc, const char* photo_id); | flickcurl_context** flickcurl_photos_getContext(flickcurl* fc, const char* photo_id); | |||
flickcurl_photo* flickcurl_photos_getInfo(flickcurl *fc, const char* photo_ id); | flickcurl_photo* flickcurl_photos_getInfo(flickcurl *fc, const char* photo_ id); | |||
int flickcurl_photos_removeTag(flickcurl* fc, const char* tag_id); | int flickcurl_photos_removeTag(flickcurl* fc, const char* tag_id); | |||
int flickcurl_photos_setTags(flickcurl* fc, const char* photo_id, const cha r* tags); | int flickcurl_photos_setTags(flickcurl* fc, const char* photo_id, const cha r* tags); | |||
/* flickr.photos.comments */ | ||||
void flickcurl_free_comment(flickcurl_comment *comment_object); | ||||
void flickcurl_free_comments(flickcurl_comment **comments_object); | ||||
char* flickcurl_photos_comments_addComment(flickcurl* fc, const char* photo | ||||
_id, const char* comment_text); | ||||
int flickcurl_photos_comments_deleteComment(flickcurl* fc, const char* comm | ||||
ent_id); | ||||
int flickcurl_photos_comments_editComment(flickcurl* fc, const char* commen | ||||
t_id, const char* comment_text); | ||||
flickcurl_comment** flickcurl_photos_comments_getList(flickcurl* fc, const | ||||
char* photo_id); | ||||
/* flickr.photos.licenses */ | /* flickr.photos.licenses */ | |||
flickcurl_license** flickcurl_photos_licenses_getInfo(flickcurl *fc); | flickcurl_license** flickcurl_photos_licenses_getInfo(flickcurl *fc); | |||
flickcurl_license* flickcurl_photos_licenses_getInfo_by_id(flickcurl *fc, i nt id); | flickcurl_license* flickcurl_photos_licenses_getInfo_by_id(flickcurl *fc, i nt id); | |||
/* flickr.photosets */ | /* flickr.photosets */ | |||
flickcurl_context** flickcurl_photosets_getContext(flickcurl* fc, const cha r* photo_id, const char* photoset_id); | flickcurl_context** flickcurl_photosets_getContext(flickcurl* fc, const cha r* photo_id, const char* photoset_id); | |||
/* flickr.photosets.comments */ | ||||
char* flickcurl_photosets_comments_addComment(flickcurl* fc, const char* ph | ||||
otoset_id, const char* comment_text); | ||||
int flickcurl_photosets_comments_deleteComment(flickcurl* fc, const char* c | ||||
omment_id); | ||||
int flickcurl_photosets_comments_editComment(flickcurl* fc, const char* com | ||||
ment_id, const char* comment_text); | ||||
flickcurl_comment** flickcurl_photosets_comments_getList(flickcurl* fc, con | ||||
st char* photoset_id); | ||||
/* flickr.reflection */ | ||||
void flickcurl_free_method(flickcurl_method *method); | ||||
char** flickcurl_reflection_getMethods(flickcurl* fc); | ||||
flickcurl_method* flickcurl_reflection_getMethodInfo(flickcurl* fc, const c | ||||
har* name); | ||||
/* flickr.tag */ | /* flickr.tag */ | |||
flickcurl_tag** flickcurl_tags_getHotList(flickcurl* fc, const char* period , int tag_count); | flickcurl_tag** flickcurl_tags_getHotList(flickcurl* fc, const char* period , int tag_count); | |||
flickcurl_tag** flickcurl_tags_getListPhoto(flickcurl* fc, const char* phot o_id); | flickcurl_tag** flickcurl_tags_getListPhoto(flickcurl* fc, const char* phot o_id); | |||
flickcurl_tag** flickcurl_tags_getListUser(flickcurl* fc, const char* user_ id); | flickcurl_tag** flickcurl_tags_getListUser(flickcurl* fc, const char* user_ id); | |||
flickcurl_tag** flickcurl_tags_getListUserPopular(flickcurl* fc, const char * user_id, int pop_count); | flickcurl_tag** flickcurl_tags_getListUserPopular(flickcurl* fc, const char * user_id, int pop_count); | |||
flickcurl_tag** flickcurl_tags_getListUserRaw(flickcurl* fc, const char* ta g); | flickcurl_tag** flickcurl_tags_getListUserRaw(flickcurl* fc, const char* ta g); | |||
flickcurl_tag** flickcurl_tags_getRelated(flickcurl* fc, const char* tag); | flickcurl_tag** flickcurl_tags_getRelated(flickcurl* fc, const char* tag); | |||
/* flickr.test */ | /* flickr.test */ | |||
int flickcurl_test_echo(flickcurl* fc, const char* key, const char* value); | int flickcurl_test_echo(flickcurl* fc, const char* key, const char* value); | |||
/* flickr.urls */ | /* flickr.urls */ | |||
char* flickcurl_urls_getGroup(flickcurl* fc, const char* group_id); | char* flickcurl_urls_getGroup(flickcurl* fc, const char* group_id); | |||
char* flickcurl_urls_getUserPhotos(flickcurl* fc, const char* user_id); | char* flickcurl_urls_getUserPhotos(flickcurl* fc, const char* user_id); | |||
char* flickcurl_urls_getUserProfile(flickcurl* fc, const char* user_id); | char* flickcurl_urls_getUserProfile(flickcurl* fc, const char* user_id); | |||
char* flickcurl_urls_lookupGroup(flickcurl* fc, const char* url); | char* flickcurl_urls_lookupGroup(flickcurl* fc, const char* url); | |||
char* flickcurl_urls_lookupUser(flickcurl* fc, const char* url); | char* flickcurl_urls_lookupUser(flickcurl* fc, const char* url); | |||
/* Upload API */ | ||||
flickcurl_upload_status* flickcurl_photos_upload(flickcurl* fc, const char* | ||||
photo_file, const char *title, const char *description, const char *tags, | ||||
int is_public, int is_friend, int is_family); | ||||
flickcurl_upload_status* flickcurl_photos_replace(flickcurl* fc, const char | ||||
* photo_file, const char *photo_id, int async); | ||||
void flickcurl_upload_status_free(flickcurl_upload_status* status); | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif | #endif | |||
End of changes. 15 change blocks. | ||||
6 lines changed or deleted | 155 lines changed or added | |||