diff options
Diffstat (limited to 'kio/kio/dataslave.h')
-rw-r--r-- | kio/kio/dataslave.h | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/kio/kio/dataslave.h b/kio/kio/dataslave.h deleted file mode 100644 index 3567f3faf..000000000 --- a/kio/kio/dataslave.h +++ /dev/null @@ -1,126 +0,0 @@ -// -*- c++ -*- -/* - * This file is part of the KDE libraries - * Copyright (c) 2003 Leo Savernik <l.savernik@aon.at> - * Derived from slave.h - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License version 2 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - **/ - -#ifndef __KIO_DATASLAVE_H__ -#define __KIO_DATASLAVE_H__ - -#include <kio/global.h> -#include <kio/slave.h> - -class TQTimer; - -// don't forget to sync DISPATCH_IMPL in dataslave.h -#define DISPATCH_DECL(type) \ - void dispatch_##type(); - -// don't forget to sync DISPATCH_IMPL1 in dataslave.h -#define DISPATCH_DECL1(type, paramtype, param) \ - void dispatch_##type(paramtype param); - -namespace TDEIO { - - /** - * This class provides a high performance implementation for the data - * url scheme (rfc2397). - * - * @internal - * Do not use this class in external applications. It is an implementation - * detail of KIO and subject to change without notice. - * @author Leo Savernik - */ - class DataSlave : public TDEIO::Slave { - Q_OBJECT - public: - DataSlave(); - - virtual ~DataSlave(); - - virtual void setHost(const TQString &host, int port, - const TQString &user, const TQString &passwd); - virtual void setConfig(const MetaData &config); - - virtual void suspend(); - virtual void resume(); - virtual bool suspended(); - virtual void send(int cmd, const TQByteArray &data = TQByteArray()); - - virtual void hold(const KURL &url); - - // pure virtual methods that are defined by the actual protocol - virtual void get(const KURL &url) = 0; - virtual void mimetype(const KURL &url) = 0; - - protected: - /** - * Sets metadata - * @internal - */ - void setAllMetaData(const MetaData &); - /** - * Sends metadata set with setAllMetaData - * @internal - */ - void sendMetaData(); - - // queueing methods - /** identifiers of functions to be queued */ - enum QueueType { Queue_mimeType = 1, Queue_totalSize, - Queue_sendMetaData, Queue_data, Queue_finished }; - /** structure for queueing. It is very primitive, it doesn't - * even try to conserve memory. - */ - struct QueueStruct { - QueueType type; - TQString s; - TDEIO::filesize_t size; - TQByteArray ba; - - QueueStruct() {} - QueueStruct(QueueType type) : type(type) {} - }; - typedef TQValueList<QueueStruct> DispatchQueue; - DispatchQueue dispatchQueue; - - DISPATCH_DECL1(mimeType, const TQString &, s) - DISPATCH_DECL1(totalSize, TDEIO::filesize_t, size) - DISPATCH_DECL(sendMetaData) - DISPATCH_DECL1(data, const TQByteArray &, ba) - DISPATCH_DECL(finished) - - protected slots: - /** dispatches next queued method. Does nothing if there are no - * queued methods. - */ - void dispatchNext(); - protected: - virtual void virtual_hook( int id, void* data ); - private: - MetaData meta_data; - bool _suspended; - TQTimer *timer; - }; - -} - -#undef DISPATCH_DECL -#undef DISPATCH_DECL1 - -#endif /*__KIO_DATASLAVE_H__*/ |