/***************************************************************************
                            KConfigINIBackEnd.h -  description
                             -------------------
    begin                : Fri Mar  8 13:55:08 2002
    copyright            : (C) 2000-2002 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Fri Mar  8 13:55:08 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This library is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Library General Public License as       *
 *   published by the Free Software Foundation; either version 2 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 ***************************************************************************/

#ifndef KCONFIGINIBACKEND_H
#define KCONFIGINIBACKEND_H

#include <Foundation/NSObject.h>
#include <Foundation/NSString.h>
#include <kdeobjc/KConfigBackEnd.h>

/**

 Class for KDE INI-style configuration file loading/saving.

 @author Preston Brown <pbrown@kde.org>,
         Matthias Kalle Dalheimer <kalle@kde.org>

 @version $Id: KConfigINIBackEnd.h,v 1.3 2002/03/15 02:12:19 rdale Exp $
 
 @short 
 Class for KDE INI-style configuration file loading/saving.
*/
@class KConfigBase; 

@interface KConfigINIBackEnd : KConfigBackEnd 

/** 
 Constructs an ini-style configuration back end.

*/
- initWithConfigBase: (KConfigBase*)_config _fileName: (NSString *)_fileName _resType: (NSString *)_resType _useKDEGlobals: (BOOL)_useKDEGlobals;
- initWithConfigBase: (KConfigBase*)_config _fileName: (NSString *)_fileName _resType: (NSString *)_resType ;

/** 
 Destructs the configuration backend.
   
*/
- (void) dealloc;

/** 
 Parses all INI-style configuration files for a config object.

*/
- (BOOL) parseConfigFiles;

/** 
 Writes configuration data to file(s).
   
*/
- sync: (BOOL)bMerge;
- sync;

/** 
 Parses one configuration file.

*/
//- parseSingleConfigFile: (QFile *)rFile pWriteBackMap: (KEntryMap*)pWriteBackMap bGlobal: (BOOL)bGlobal bDefault: (BOOL)bDefault;
//- parseSingleConfigFile: (QFile *)rFile ;

/** 
 Writes configuration file back.

*/
- (BOOL) writeConfigFile: (NSString *)filename bGlobal: (BOOL)bGlobal bMerge: (BOOL)bMerge;
- (BOOL) writeConfigFile: (NSString *)filename ;
@end

#endif
