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 + -
显示快捷键?