kconfigrawbackend.h
00001 /* 00002 This file is part of the KDE games library 00003 Copyright (C) 2003 Nicolas Hadacek <hadacek@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 version 2 as published by the Free Software Foundation. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #ifndef _KCONFIGRAWBACKEND_H 00021 #define _KCONFIGRAWBACKEND_H 00022 00023 #include <tqfile.h> 00024 00025 #include <kconfigbackend.h> 00026 #include <ksimpleconfig.h> 00027 00028 00029 class KConfigRawBackEnd : public KConfigINIBackEnd 00030 { 00031 public: 00032 KConfigRawBackEnd(KConfigBase *_config, int fd); 00033 ~KConfigRawBackEnd(); 00034 00035 bool parseConfigFiles(); 00036 00037 void sync(bool bMerge = true); 00038 00039 private: 00040 int _fd; 00041 FILE *_stream; 00042 TQFile _file; 00043 00044 class KConfigRawBackEndPrivate; 00045 KConfigRawBackEndPrivate *d; 00046 }; 00047 00048 class KRawConfig : public KSimpleConfig 00049 { 00050 Q_OBJECT 00051 TQ_OBJECT 00052 public: 00053 KRawConfig(int fd, bool readOnly) 00054 : KSimpleConfig(new KConfigRawBackEnd(this, fd), readOnly) {} 00055 }; 00056 00057 00058 #endif