KDECore
kmemfile.h
Go to the documentation of this file.
00001 /* 00002 This file is part of the KDE libraries 00003 Copyright (C) 2008 Christian Ehrlicher <ch.ehrlicher@gmx.de> 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 00021 #ifndef KMEMFILE_H 00022 #define KMEMFILE_H 00023 00024 #ifndef QT_NO_SHAREDMEMORY 00025 00026 #include <QtCore/QIODevice> 00027 #include <kdecore_export.h> 00028 00039 class KDECORE_EXPORT KMemFile : public QIODevice 00040 { 00041 public: 00048 explicit KMemFile ( const QString &filename, QObject *parent = 0 ); 00052 virtual ~KMemFile(); 00058 virtual void close (); 00064 virtual bool isSequential () const; 00069 virtual bool open ( OpenMode mode ); 00075 virtual bool seek ( qint64 pos ); 00080 virtual qint64 size () const; 00086 static void fileContentsChanged ( const QString &filename ); 00087 protected: 00089 virtual qint64 readData ( char * data, qint64 maxSize ); 00091 virtual qint64 writeData ( const char * data, qint64 maxSize ); 00092 private: 00093 class Private; 00094 friend class Private; 00095 Private * const d; 00096 }; 00097 00098 #endif //QT_NO_SHAREDMEMORY 00099 00100 #endif // KMEMFILE_H
KDE 4.6 API Reference