Aegis  4.25.D505
libaegis/rss/item.h
Go to the documentation of this file.
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