2007-06-01 15:49:49 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2007 Mikko Sysikaski <mikko.sysikaski@gmail.com>
|
|
|
|
* Toni Spets <toni.spets@gmail.com>
|
|
|
|
*
|
|
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
|
|
* copyright notice and this permission notice appear in all copies.
|
|
|
|
*
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
|
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
|
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
*/
|
|
|
|
|
2007-06-01 10:42:57 +00:00
|
|
|
#ifndef PRSS_H
|
|
|
|
#define PRSS_H
|
|
|
|
|
|
|
|
#include <libxml/parser.h>
|
|
|
|
|
|
|
|
typedef struct PRSS_Item_ {
|
|
|
|
char* title;
|
|
|
|
char* link;
|
|
|
|
char* description;
|
|
|
|
char* category;
|
|
|
|
char* pubdate;
|
2007-06-01 15:49:49 +00:00
|
|
|
char* guid;
|
2007-06-01 10:42:57 +00:00
|
|
|
} PRSS_Item;
|
|
|
|
|
|
|
|
typedef struct PRSS_ {
|
|
|
|
xmlDocPtr _data;
|
2007-08-07 22:05:06 +00:00
|
|
|
char* version;
|
2007-06-01 10:42:57 +00:00
|
|
|
|
|
|
|
char* title;
|
|
|
|
char* link;
|
|
|
|
char* description;
|
|
|
|
char* language;
|
2007-06-01 15:49:49 +00:00
|
|
|
char* generator;
|
|
|
|
char* managingeditor;
|
|
|
|
char* webmaster;
|
|
|
|
char* docs;
|
|
|
|
char* lastbuilddate;
|
|
|
|
char* pubdate;
|
2007-08-07 22:05:06 +00:00
|
|
|
char* copyright;
|
|
|
|
char* ttl;
|
2007-06-01 10:42:57 +00:00
|
|
|
|
|
|
|
PRSS_Item* items;
|
|
|
|
int item_count;
|
|
|
|
} PRSS;
|
|
|
|
|
|
|
|
/* Functions for parsing RSS-data */
|
|
|
|
PRSS* prss_parse_data(const char *xml_data);
|
|
|
|
PRSS* prss_parse_file(const char *xml_file);
|
2007-06-03 08:58:05 +00:00
|
|
|
|
|
|
|
// Works wrong currently when called from application!
|
|
|
|
//PRSS* prss_parse_doc(xmlDocPtr doc);
|
2007-06-01 10:42:57 +00:00
|
|
|
|
|
|
|
/* Frees the PRSS-stucture returned by prss_parse_*.
|
|
|
|
* The memory area pointed by data becomes invalid
|
|
|
|
* after call to this function. */
|
|
|
|
void prss_free(PRSS* data);
|
|
|
|
|
|
|
|
#endif // PRSS_H
|