akregator/src

feedstoragedummyimpl.h
00001 /*
00002     This file is part of Akregator.
00003 
00004     Copyright (C) 2005 Frank Osterfeld <frank.osterfeld@kdemail.net>
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 2 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, write to the Free Software
00018     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019 
00020     As a special exception, permission is given to link this program
00021     with any edition of TQt, and distribute the resulting executable,
00022     without including the source code for TQt in the source distribution.
00023 */
00024 #ifndef AKREGATOR_BACKEND_FEEDSTORAGEDUMMYIMPL_H
00025 #define AKREGATOR_BACKEND_FEEDSTORAGEDUMMYIMPL_H
00026 
00027 #include "feedstorage.h"
00028 namespace Akregator {
00029 namespace Backend {
00030 
00031 class StorageDummyImpl;
00032 class FeedStorageDummyImpl : public FeedStorage
00033 {
00034     public:
00035         FeedStorageDummyImpl(const TQString& url, StorageDummyImpl* main);
00036         virtual ~FeedStorageDummyImpl();
00037         
00038         virtual void add(FeedStorage* source);
00039         virtual void copyArticle(const TQString& guid, FeedStorage* source);
00040         
00041         virtual void clear();
00042         virtual int unread();
00043         virtual void setUnread(int unread);
00044         virtual int totalCount();
00045         virtual int lastFetch();
00046         virtual void setLastFetch(int lastFetch);
00047       
00048         virtual TQStringList articles(const TQString& tag=TQString());
00049 
00050         virtual TQStringList articles(const Category& cat);
00051 
00052 
00053         virtual bool contains(const TQString& guid);
00054         virtual void addEntry(const TQString& guid);
00055         virtual void deleteArticle(const TQString& guid);
00056         virtual int comments(const TQString& guid);
00057         virtual TQString commentsLink(const TQString& guid);
00058         virtual void setCommentsLink(const TQString& guid, const TQString& commentsLink);
00059         virtual void setComments(const TQString& guid, int comments);
00060         virtual bool guidIsHash(const TQString& guid);
00061         virtual void setGuidIsHash(const TQString& guid, bool isHash);
00062         virtual bool guidIsPermaLink(const TQString& guid);
00063         virtual void setGuidIsPermaLink(const TQString& guid, bool isPermaLink);
00064         virtual uint hash(const TQString& guid);
00065         virtual void setHash(const TQString& guid, uint hash);
00066         virtual void setDeleted(const TQString& guid);
00067         virtual TQString link(const TQString& guid);
00068         virtual void setLink(const TQString& guid, const TQString& link); 
00069         virtual uint pubDate(const TQString& guid);
00070         virtual void setPubDate(const TQString& guid, uint pubdate);
00071         virtual int status(const TQString& guid);
00072         virtual void setStatus(const TQString& guid, int status);
00073         virtual TQString title(const TQString& guid);
00074         virtual void setTitle(const TQString& guid, const TQString& title);
00075         virtual TQString description(const TQString& guid);
00076         virtual void setDescription(const TQString& guid, const TQString& description);
00077         virtual void addTag(const TQString& guid, const TQString& tag);
00078         virtual void removeTag(const TQString& guid, const TQString& tag);
00079         virtual TQStringList tags(const TQString& guid=TQString());
00080 
00081         virtual void setEnclosure(const TQString& guid, const TQString& url, const TQString& type, int length);
00082         virtual void removeEnclosure(const TQString& guid);
00083         virtual void enclosure(const TQString& guid, bool& hasEnclosure, TQString& url, TQString& type, int& length);
00084 
00085         virtual void addCategory(const TQString& guid, const Category& category);
00086         virtual TQValueList<Category> categories(const TQString& guid=TQString());
00087 
00088         virtual void setAuthor(const TQString& guid, const TQString& author);
00089         virtual TQString author(const TQString& guid);
00090 
00091         virtual void close();
00092         virtual void commit();
00093         virtual void rollback();
00094 
00095         virtual void convertOldArchive();
00096    private:
00098         int findArticle(const TQString& guid);
00099         void setTotalCount(int total);
00100         class FeedStorageDummyImplPrivate;
00101         FeedStorageDummyImplPrivate* d;
00102 };
00103 
00104 }
00105 }
00106 #endif // AKREGATOR_FEEDSTORAGEDUMMYIMPL_H