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