/* rsspp - Copyright (C) 2008-2012 Andreas Krennmair * Licensed under the MIT/X Consortium License. See file LICENSE * for more information. */ #ifndef RSSPP_INTERNAL__H #define RSSPP_INTERNAL__H #include #include #define CONTENT_URI "http://purl.org/rss/1.0/modules/content/" #define RDF_URI "http://www.w3.org/1999/02/22-rdf-syntax-ns#" #define ITUNES_URI "http://www.itunes.com/dtds/podcast-1.0.dtd" #define DC_URI "http://purl.org/dc/elements/1.1/" #define ATOM_0_3_URI "http://purl.org/atom/ns#" #define ATOM_1_0_URI "http://www.w3.org/2005/Atom" #define MEDIA_RSS_URI "http://search.yahoo.com/mrss/" #define XML_URI "http://www.w3.org/XML/1998/namespace" #define RSS20USERLAND_URI "http://backend.userland.com/rss2" namespace rsspp { struct rss_parser { virtual void parse_feed(feed& f, xmlNode * rootNode) = 0; rss_parser(xmlDocPtr d) : doc(d) { } virtual ~rss_parser() { } static std::string __w3cdtf_to_rfc822(const std::string& w3cdtf); protected: std::string get_content(xmlNode * node); std::string get_xml_content(xmlNode * node); std::string get_prop(xmlNode * node, const char * prop, const char * ns = NULL); std::string w3cdtf_to_rfc822(const std::string& w3cdtf); bool node_is(xmlNode * node, const char * name, const char * ns_uri = NULL); xmlDocPtr doc; }; struct rss_09x_parser : public rss_parser { virtual void parse_feed(feed& f, xmlNode * rootNode); rss_09x_parser(xmlDocPtr doc) : rss_parser(doc), ns(NULL) { } virtual ~rss_09x_parser(); protected: const char * ns; private: item parse_item(xmlNode * itemNode); }; struct rss_20_parser : public rss_09x_parser { rss_20_parser(xmlDocPtr doc) : rss_09x_parser(doc) { } virtual void parse_feed(feed& f, xmlNode * rootNode); virtual ~rss_20_parser() { } }; struct rss_10_parser : public rss_parser { virtual void parse_feed(feed& f, xmlNode * rootNode); rss_10_parser(xmlDocPtr doc) : rss_parser(doc) { } virtual ~rss_10_parser() { } }; struct atom_parser : public rss_parser { virtual void parse_feed(feed& f, xmlNode * rootNode); atom_parser(xmlDocPtr doc) : rss_parser(doc), ns(0) { } virtual ~atom_parser() { } private: item parse_entry(xmlNode * itemNode); std::string globalbase; const char * ns; }; struct rss_parser_factory { static std::tr1::shared_ptr get_object(feed& f, xmlDocPtr doc); }; } #endif s5-class-helper Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)AuthorFilesLines
2022-04-03skia WIPjarred/canvasGravatar Jarred Sumner 1-0/+42
2022-04-03wipGravatar Jarred Sumner 120-20/+8988
2022-04-03[bun.js] Expose `ImageData` globallyGravatar Jarred Sumner 12-2/+1237
2022-04-02More typesGravatar Jarred Sumner 2-39/+3998
2022-04-02Add more typingsGravatar Jarred Sumner 1-2/+416
2022-04-02Add more tests for Node FSGravatar Jarred Sumner 4-1/+60
2022-04-02[bun.js] fs.readSync & fs.writeSync should return just the numberGravatar Jarred Sumner 1-24/+57
2022-04-02[bun.js] Support `mode` and `flags` as integer args in fs.openSync (instead o...Gravatar Jarred Sumner 1-0/+6
2022-04-02Update base.zigGravatar Jarred Sumner 1-0/+1
2022-04-02Fix GC bug when reading TypedArray from user inputGravatar Jarred Sumner 1-6/+36
2022-04-02s/Buffer/TypedArrayGravatar Jarred Sumner 1-17/+17
2022-04-02Fix mmap on macOS x64Gravatar Jarred Sumner 2-29/+27