/* * xmlnewsaccess.h * * Copyright (c) 2001 Frerich Raabe * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. For licensing and distribution details, check the * accompanying file 'COPYING'. */ #ifndef XMLNEWSACCESS_H #define XMLNEWSACCESS_H #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include class TQBuffer; class TQDomDocument; class XMLNewsSource; class XMLNewsArticle { public: typedef TQValueList List; XMLNewsArticle() {} XMLNewsArticle(const TQString &headline, const KURL &addresss); XMLNewsArticle(const XMLNewsArticle &other) { (*this) = other; } XMLNewsArticle &operator=(const XMLNewsArticle &other); TQString headline() const { return m_headline; } void setHeadline(const TQString &headline) { m_headline = headline; } KURL address() const { return m_address; } void setAddress(const KURL &address) { m_address = address; } bool operator== (const XMLNewsArticle &a); bool operator!= (const XMLNewsArticle &a) { return !operator==(a); } private: TQString m_headline; KURL m_address; }; class XMLNewsSource : public TQObject { Q_OBJECT public: XMLNewsSource(); virtual ~XMLNewsSource(); void loadFrom(const KURL &); virtual TQString newsSourceName() const { return m_name; } virtual TQString link() const { return m_link; } virtual TQString description() const { return m_description; } const XMLNewsArticle::List &articles() const { return m_articles; } signals: void loadComplete(XMLNewsSource *, bool); protected: void processData(const TQByteArray &, bool = true); TQString m_name; TQString m_link; TQString m_description; private slots: void slotData(TDEIO::Job *, const TQByteArray &); void slotResult(TDEIO::Job *); private: XMLNewsArticle::List m_articles; TQBuffer *m_downloadData; }; #endif // XMLNEWSACCESS_H