flickr_api.h
来自「AMLOGIC DPF source code」· C头文件 代码 · 共 263 行
H
263 行
/******************************************************************* * * Copyright C 2007 by Amlogic, Inc. All Rights Reserved. * * Description: Flickr API implementation * (http://www.flickr.com/services/api/) * * Author: Jerry Cao * Created: Mon Apr 2 15:11:39 2007 * *******************************************************************/#ifndef FLICKR_API_H#define FLICKR_API_H#include "net/rss/rss.h"#define flickrMalloc(size) AVMem_malloc(size)#define flickrFree(x) if ( x ) AVMem_free(x)#define FLICKR_ATTRIB_STR_TITLE "title"#define FLICKR_ATTRIB_STR_DESC "description"#define FLICKR_ATTRIB_STR_PRIMARY "primary"#define FLICKR_FEED_URL "http://api.flickr.com/services/feeds/photos_public.gne"#define FLICKR_REST_URL "http://api.flickr.com/services/rest/"#define FLICKR_SIGNATURE_SIZE (32 + 1)#define FLICKR_HTTP_REQUEST_SIZE 512#define FLICKR_ERROR_MSG_SIZE 128#define FLICKR_REQUEST_TIMEOUT 500typedef enum { FLICKR_ERR_none = 0, FLICKR_ERR_invalidArg, FLICKR_ERR_invalidState, FLICKR_ERR_invalidResponse, FLICKR_ERR_noBufferSpace, FLICKR_ERR_userCancelled, FLICKR_ERR_parseUri, FLICKR_ERR_outOfMemory, FLICKR_ERR_notSupported, FLICKR_ERR_parseXml, FLICKR_ERR_httpSend, FLICKR_ERR_httpRecv, FLICKR_ERR_createFeed, } flickrStatus_e;typedef enum { FLICKR_STATE_NONE = 0, FLICKR_STATE_REQUEST, } flickrState_e;typedef enum { FLICKR_METHOD_none = 0, FLICKR_METHOD_people_findByEmail, FLICKR_METHOD_tags_getListUser, FLICKR_METHOD_auth_getFrob, FLICKR_METHOD_auth_getFullToken, FLICKR_METHOD_auth_checkToken, FLICKR_METHOD_photosets_getList, FLICKR_METHOD_photosets_getPhotos, FLICKR_METHOD_photos_getSizes, FLICKR_METHOD_COUNT, } flickrMethod_e;typedef struct flickr_auth_s { char * frob; char * fullToken; char md5Sig[FLICKR_SIGNATURE_SIZE];} flickr_auth_t;typedef struct flickr_s { /* HTTP client connection. */ HTTPTcpConnection_t * httpConn; char httpRequest[FLICKR_HTTP_REQUEST_SIZE]; size_t httpRequestSize; char * httpResponse; OS_EVENT * httpWait; void * httpCookie; /* Client state. */ flickrState_e state; /* XMI request execution status and error message buffer. */ flickrStatus_e status; char lastErrorMsg[FLICKR_ERROR_MSG_SIZE]; /* Current XMI action and expected reply. */ flickrMethod_e currAction; /* User information. */ char * nsid; char * username; /* Cancel outstanding request. */ char request_cancel; URI_t * restEndpoint; /* Flickr API key and secret. */ char * api_key; char * secret; flickr_auth_t auth;#ifdef FLICKR_DEBUG_PERF /* Performance measurement. */ uint32_t _perf_oper_http; uint32_t _perf_oper_xml;#endif /* FLICKR_DEBUG_PERF */} flickr_t;typedef struct flickr_tags_s{ uint32_t count; char **tags;} flickr_tags_t;typedef struct flickr_photo_s{ struct flickr_photo_s *next; char *id; char *secret; char *server; char *farm; char *title; char *description; unsigned char isPrimary; char *slideshow; char *thumbnail;} flickr_photo_t;typedef struct flickr_photoset_s{ struct flickr_photoset_s *next; char *id; char *secret; char *server; char *farm; char *primary; char *title; char *description; uint32_t num_photos;} flickr_photoset_t;typedef struct flickr_get_photos_request_s{ char *photosetid; flickr_photo_t *photos; uint32_t photos_count; uint32_t per_page; uint32_t page; uint8_t has_more;} flickr_get_photos_request_t;typedef struct flickr_photosets_s{ uint32_t count; flickr_photoset_t *first;} flickr_photosets_t;typedef struct flickr_get_photo_url_s{ char *id; char *url;} flickr_get_photo_url_t;typedef int (*flickr_interrupt_f)(void *arg);flickr_t * flickr_init(char *api_key, char *secret);void flickr_term(flickr_t *flickr);flickrStatus_e flickr_login(flickr_t *flickr, char *mini_token, char *full_token, flickr_interrupt_f interrupt, void *arg);flickrStatus_e flickr_set_info(flickr_t *flickr, char *nsid, char *full_token);flickrStatus_e flickr_feed_create(flickr_t *flickr, rssFeed_t **feed, char *tag);flickrStatus_e flickr_people_findByEmail(flickr_t *flickr, char *email, flickr_interrupt_f interrupt, void *arg);flickrStatus_e flickr_tags_getListUser(flickr_t *flickr, flickr_tags_t *tags, flickr_interrupt_f interrupt, void *arg);void flickr_tags_getListUser_free(flickr_tags_t *tag_list);flickrStatus_e flickr_auth_getFrob(flickr_t *flickr, flickr_interrupt_f interrupt, void *arg);flickrStatus_e flickr_auth_getFullToken(flickr_t *flickr, char *mini_token, flickr_interrupt_f interrupt, void *arg);flickrStatus_e flickr_auth_checkToken(flickr_t *flickr, char *fullToken, flickr_interrupt_f interrupt, void *arg);flickr_photoset_t * flickr_photoset_alloc(char *id, char *secret, char *server, char *farm, char *num_photos);void flickr_photoset_set_info(flickr_photoset_t *photoset, const char *attrib, char *value);void flickr_photoset_free(flickr_photoset_t *photoset);flickrStatus_e flickr_photosets_getList(flickr_t *flickr, flickr_photosets_t *sets, flickr_interrupt_f interrupt, void *arg);void flickr_photosets_getList_free(flickr_photosets_t *sets);flickrStatus_e flickr_photosets_getPhotos(flickr_t *flickr, flickr_get_photos_request_t *request, flickr_interrupt_f interrupt, void *arg);void flickr_photosets_getPhotos_free(flickr_photo_t *photo);flickr_photo_t * flickr_photo_alloc(char *id, char *secret, char *server, char *farm);void flickr_photo_set_info(flickr_photo_t *photo, const char *attrib, char *value);void flickr_photo_free(flickr_photo_t *photo);flickrStatus_e flickr_photos_getSizes(flickr_t *flickr, flickr_get_photo_url_t *request, flickr_interrupt_f interrupt, void *arg);#endif /* FLICKR_API_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?