KNewStuff
dxsengine.h
Go to the documentation of this file.00001 /* 00002 This file is part of KNewStuff2. 00003 Copyright (c) 2007 Josef Spillner <spillner@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Lesser General Public 00007 License as published by the Free Software Foundation; either 00008 version 2.1 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Lesser General Public License for more details. 00014 00015 You should have received a copy of the GNU Lesser General Public 00016 License along with this library. If not, see <http://www.gnu.org/licenses/>. 00017 */ 00018 00019 #ifndef KNEWSTUFF2_DXS_ENGINE_H 00020 #define KNEWSTUFF2_DXS_ENGINE_H 00021 00022 #include <knewstuff2/core/coreengine.h> 00023 00024 namespace KNS 00025 { 00026 00027 class Dxs; 00028 class Category; 00029 00039 class DxsEngine : public CoreEngine 00040 { 00041 Q_OBJECT 00042 public: 00043 DxsEngine(QObject* parent); 00044 ~DxsEngine(); 00045 00046 enum Policy { 00047 DxsNever, 00048 DxsIfPossible, 00049 DxsAlways 00050 }; 00051 00052 void setDxsPolicy(Policy policy); 00053 00054 void loadEntries(Provider *provider); 00055 //void downloadPreview(Entry *entry); 00056 //void downloadPayload(Entry *entry); 00057 // FIXME: the upload/download stuff is only necessary when we use 00058 // integrated base64-encoded files; maybe delay to later version? 00059 00060 //bool uploadEntry(Provider *provider, Entry *entry); 00061 00062 // get the dxs object 00063 Dxs * dxsObject(const Provider * provider); 00064 00065 private slots: 00066 // FIXME: idem for slots 00067 void slotEntriesLoadedDXS(KNS::Entry::List list, Feed * feed); 00068 void slotEntriesFailed(); 00069 00070 void slotCategories(QList<KNS::Category*>); 00071 00072 private: 00073 QMap<const Provider *, Dxs *> m_dxsbyprovider; 00074 Policy m_dxspolicy; 00075 }; 00076 00077 } 00078 00079 #endif