// For license of this file, see /LICENSE.md. #ifndef ATOMPARSER_H #define ATOMPARSER_H #include "services/standard/parsers/feedparser.h" #include "core/message.h" #include #include class AtomParser : public FeedParser { public: explicit AtomParser(const QString& data); virtual ~AtomParser(); virtual QList discoverFeeds(ServiceRoot* root, const QUrl& url, bool greedy) const; virtual QPair> guessFeed(const QByteArray& content, const QString& content_type) const; protected: virtual QDomNodeList xmlMessageElements(); virtual QString feedAuthor() const; virtual QString xmlMessageTitle(const QDomElement& msg_element) const; virtual QString xmlMessageDescription(const QDomElement& msg_element) const; virtual QDateTime xmlMessageDateCreated(const QDomElement& msg_element) const; virtual QString xmlMessageId(const QDomElement& msg_element) const; virtual QString xmlMessageUrl(const QDomElement& msg_element) const; virtual QList xmlMessageEnclosures(const QDomElement& msg_element) const; virtual QList xmlMessageCategories(const QDomElement& msg_element) const; virtual QString xmlMessageAuthor(const QDomElement& msg_element) const; private: QString atomNamespace() const; QString m_atomNamespace; }; #endif // ATOMPARSER_H