rss.h

来自「AMLOGIC DPF source code」· C头文件 代码 · 共 142 行

H
142
字号
/******************************************************************* *  *  Copyright C 2006 by Amlogic, Inc. All Rights Reserved. * *  Description: RSS 2.0 feed reader. * *  Author: Jerry Cao *  Created: Mon Nov 13 20:42:23 2006 * *******************************************************************/#ifndef _RSS_H_#define _RSS_H_/***************************** INCLUDES *****************************/#include "includes.h"#include "AVmalloc.h"#include "ixml.h"#include "xml_util.h"/************************ CONSTANTS & MACROS ************************/#define RSS_ERROR_MSG_SIZE	128#define rssMalloc(x)	AVMem_malloc(x)#define rssFree(x)		if (x) AVMem_free(x)#ifdef RSS_DEBUG  #define rssPrint		AVOS_printf_ext#else  #define rssPrint(x...)#endif /* RSS_DEBUG */#define RSS_WAIT_TIMEOUT 500/****************************** TYPES ******************************/typedef int (*rss_interrupt_cb_t)(void* arg);typedef enum{    eRSS_NoError = 0,    eRSS_NotSupported,    eRSS_InvalidRss,    eRSS_HttpError,    eRSS_UrlError,    eRSS_Cancled} rssStatus_e;/* Supported RSS feed type. */typedef enum {    eRSS_FEED_UNKNOWN = 0,	/* Unknown feed */    eRSS_FEED_PICASA,		/* Google Picasa */    eRSS_FEED_FLICKR,		/* Yahoo Flickr */    eRSS_FEED_IPHOTO,		/* Apple iPhoto */} rssFeedType_e;/* RSS item type. */typedef enum {    eRSS_ITEM_PHOTO = 0,    eRSS_ITEM_ALBUM,} rssItemType_e;/* RSS HTTP connection data. */typedef struct rssConn_s{    HTTPTcpConnection_t * httpConn;    char                * httpResponse;    size_t                httpResponseSize;    OS_EVENT            * httpWait;    void                * httpCookie;} rssConn_t;/* RSS feed data. */typedef struct rssFeed_s{    URI_t * uri;    char  * version;    char  * title;    char  * lang;    char  * thumbnail;    /* HTTP request execution status and error message buffer. */    rssStatus_e status;    char        lastErrorMsg[RSS_ERROR_MSG_SIZE];    rssFeedType_e type;    rssConn_t   * conn;} rssFeed_t;struct rssItemList_s;/* RSS item. */typedef struct rssItem_s{    list_t link;    char * title;    char * thumbnail;    char * url;    rssItemType_e type;    /* used when item is album, othersize it is NULL */    rssFeed_t * child_feed;    struct rssItemList_s* child_list;} rssItem_t;typedef struct rssItemList_s{    int count;    rssItem_t *head;} rssItemList_t;/**************************** PROTOTYPES ****************************//* Debug routine. */#ifdef RSS_DEBUG  void rss_dump_buffer(char *buf, uint32_t buf_size);  void rss_dump_feed(rssFeed_t *feed);  void rss_dump_item(rssItem_t *item);  void rss_dump_item_list(rssItemList_t *list);  void rss_test(char *feeds[]);#endif /* RSS_DEBUG */rssFeed_t *	 rssFeedCreate(char *url);void	rssFeedDelete(rssFeed_t *feed);rssStatus_e	rssFeedGet(rssFeed_t *feed,                char *url,                rssItemList_t *list,               rss_interrupt_cb_t interrupt_cb,               void* arg);rssItem_t *	rssItemCreate(rssFeed_t *feed, Nodeptr node);void	rssItemDelete(rssItem_t *item);void	rssItemListFree(rssItem_t *list);#endif /* _RSS_H_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?