KHTML
khtml_pagecache.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 * 00003 * Copyright (C) 2000 Waldo Bastian <bastian@kde.org> 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Library General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2 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 * Library General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Library General Public License 00016 * along with this library; see the file COPYING.LIB. If not, write to 00017 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 * Boston, MA 02110-1301, USA. 00019 */ 00020 #ifndef __khtml_pagecache_h__ 00021 #define __khtml_pagecache_h__ 00022 00023 #include <QtCore/QObject> 00024 00025 class KHTMLPageCachePrivate; 00026 00038 class KHTMLPageCache : public QObject 00039 { 00040 Q_OBJECT 00041 public: 00047 static KHTMLPageCache *self(); 00048 ~KHTMLPageCache(); 00049 00055 long createCacheEntry(); 00056 00060 void addData(long id, const QByteArray &data); 00061 00066 void endData(long id); 00067 00071 void cancelEntry(long id); 00072 00078 bool isValid(long id); 00079 00084 bool isComplete(long id); 00085 00090 void fetchData(long id, QObject *recvObj, const char *recvSlot); 00091 00095 void cancelFetch(QObject *recvObj); 00096 00097 public Q_SLOTS: 00101 void saveData(long id, QDataStream *str); 00102 00103 private Q_SLOTS: 00104 void sendData(); 00105 00106 private: 00107 KHTMLPageCache(); 00108 00109 KHTMLPageCachePrivate* const d; 00110 }; 00111 00112 class QIODevice; 00113 class KHTMLPageCacheDelivery : public QObject 00114 { 00115 friend class KHTMLPageCache; 00116 Q_OBJECT 00117 public: 00118 KHTMLPageCacheDelivery(QIODevice *_file): file(_file) {} 00119 ~KHTMLPageCacheDelivery(); 00120 00121 Q_SIGNALS: 00122 void emitData(const QByteArray &data); 00123 00124 public: 00125 QObject *recvObj; 00126 QIODevice *file; 00127 }; 00128 00129 00130 #endif