00001 // 00002 // aegis - project change supervisor 00003 // Copyright (C) 2005 Matthew Lee 00004 // Copyright (C) 2007, 2008 Peter Miller 00005 // 00006 // This program is free software; you can redistribute it and/or modify 00007 // it under the terms of the GNU General Public License as published by 00008 // the Free Software Foundation; either version 3 of the License, or 00009 // (at your option) any later version. 00010 // 00011 // This program is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU General Public License for more details. 00015 // 00016 // You should have received a copy of the GNU General Public License 00017 // along with this program. If not, see 00018 // <http://www.gnu.org/licenses/>. 00019 // 00020 00021 #ifndef LIBAEGIS_RSS_ITEM_H 00022 #define LIBAEGIS_RSS_ITEM_H 00023 00024 #include <common/nstring.h> 00025 #include <libaegis/change.h> 00026 00027 // Forward declarations 00028 class output_ty; 00029 00030 00034 class rss_item 00035 { 00036 public: 00040 virtual ~rss_item(); 00041 00045 rss_item(); 00046 00050 rss_item(const rss_item &); 00051 00055 rss_item &operator=(const rss_item &); 00056 00060 void handle_title(const nstring &value); 00061 00066 void handle_description(const nstring &value); 00067 00072 void handle_pub_date(const nstring &value); 00073 00077 void handle_link(const nstring &value); 00078 00082 void handle_author(const nstring &value); 00083 00087 void handle_category(const nstring &value); 00088 00092 void handle_comments(const nstring &value); 00093 00097 void handle_enclosure(const nstring &value); 00098 00102 void handle_guid(const nstring &value, bool is_perma_link); 00103 00107 void handle_source(const nstring &value); 00108 00112 void print(output::pointer out) const; 00113 00121 void handle_change(change::pointer cp); 00122 00123 private: 00127 nstring title; 00128 00132 nstring description; 00133 00137 nstring pub_date; 00138 00142 nstring link; 00143 00147 nstring author; 00148 00152 nstring category; 00153 00157 nstring comments; 00158 00162 nstring enclosure; 00163 00167 nstring guid; 00168 00172 bool guidIsPermaLink; 00173 00177 nstring source; 00178 }; 00179 00180 #endif // LIBAEGIS_RSS_ITEM_H