//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QMetaObject;
import org.kde.qt.QtSupport;
import java.util.ArrayList;

/**

 Access KDE Configuration entries.
 This class implements KDE's default configuration system.
		@author Kalle Dalheimer <kalle@kde.org>, Preston Brown <pbrown@kde.org>

		@short KDE Configuration Management class.
		@see KGlobal#config
		@see KConfigBase
		@see KSimpleConfig

*/
public class KConfig extends KConfigBase  {
	protected KConfig(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Constructs a KConfig object.
			@param fileName A file to parse in addition to the
		        system-wide file(s).  If it is not provided, only global
		        KDE configuration data will be read (depending on the value of
		        <code>bUseKDEGlobals</code>).
			@param bReadOnly Set the config object's read-only status. Note that the
		        object will automatically become read-only if either the user does not have
		        write permission to <code>fileName</code> or if no file was specified.
			@param bUseKDEGlobals Toggle reading the global KDE configuration file.
			@param resType the place to look in (config, data, etc) See KStandardDirs.
		   		@short    Constructs a KConfig object.
	*/
	public KConfig(String fileName, boolean bReadOnly, boolean bUseKDEGlobals, String resType) {
		super((Class) null);
		newKConfig(fileName,bReadOnly,bUseKDEGlobals,resType);
	}
	private native void newKConfig(String fileName, boolean bReadOnly, boolean bUseKDEGlobals, String resType);
	public KConfig(String fileName, boolean bReadOnly, boolean bUseKDEGlobals) {
		super((Class) null);
		newKConfig(fileName,bReadOnly,bUseKDEGlobals);
	}
	private native void newKConfig(String fileName, boolean bReadOnly, boolean bUseKDEGlobals);
	public KConfig(String fileName, boolean bReadOnly) {
		super((Class) null);
		newKConfig(fileName,bReadOnly);
	}
	private native void newKConfig(String fileName, boolean bReadOnly);
	public KConfig(String fileName) {
		super((Class) null);
		newKConfig(fileName);
	}
	private native void newKConfig(String fileName);
	public KConfig() {
		super((Class) null);
		newKConfig();
	}
	private native void newKConfig();
	public KConfig(KConfigBackEnd backEnd, boolean bReadOnly) {
		super((Class) null);
		newKConfig(backEnd,bReadOnly);
	}
	private native void newKConfig(KConfigBackEnd backEnd, boolean bReadOnly);
	public KConfig(KConfigBackEnd backEnd) {
		super((Class) null);
		newKConfig(backEnd);
	}
	private native void newKConfig(KConfigBackEnd backEnd);
	/**	
		 Clears all entries out of the <code>dirtyEntryMap</code>, so the
		 values will not be written to disk on a later call to
		 sync().
			@param bDeep If true, the dirty map is actually emptied.
		        otherwise, the config object's global dirty flag is set to
		        false, but the dirty entries remain in the dirty entry
		        map.
				@short    Clears all entries out of the <code>dirtyEntryMap</code>, so the  values will not be written to disk on a later call to  sync().
		@see KConfigBase#rollback
	*/
	public native void rollback(boolean bDeep);
	public native void rollback();
	/**	
		 Returns a list of groups that are known.
				@return a list of of groups
   
		@short    Returns a list of groups that are known.
	*/
	public native ArrayList groupList();
	/**	
		 Returns a map (tree) of entries for all entries in a particular
		 group.
			  Only the actual entry string is returned, none of the
		 other internal data should be included.
			@param pGroup A group to get keys from.
				@return A map of entries in the group specified, indexed by key.
         The returned map may be empty if the group is not found.
   
		@short    Returns a map (tree) of entries for all entries in a particular  group.
	*/
	// QMap<QString, QString> entryMap(const QString& arg1); >>>> NOT CONVERTED
	/**	
		 Clears all internal data structures and then reread
		 configuration information from disk.
		   		@short    Clears all internal data structures and then reread  configuration information from disk.
	*/
	public native void reparseConfiguration();
	/**	
		 Set the file mode for newly created files.
			@param mode the mode for new files as described in chmod(2)
				@short    Set the file mode for newly created files.
		@see #man:chmod(2)
		@see #for
		@see #a
		@see #description
		@see #of
		@see <code></code>@see #mode
	*/
	public native void setFileWriteMode(int mode);
	/**	
		 Forces all following write-operations being performed on kdeglobals,
		 independent of the bGlobal flag in writeEntry().
			@param force true to force writing in kdeglobals
				@short    Forces all following write-operations being performed on kdeglobals,  independent of the bGlobal flag in writeEntry().
		@see #forceGlobal
	*/
	public native void setForceGlobal(boolean force);
	/**	
		 Returns true if all entries are being written into kdeglobals.
				@return true if all entries are being written into kdeglobals

		@short    Returns true if all entries are being written into kdeglobals.
		@see #setForceGlobal
	*/
	public native boolean forceGlobal();
	/**	
		 Checks whether the config file contains the update <code>id</code>
		 as contained in <code>updateFile.</code> If not, it runs kconf_update
		 to update the config file.
			 If you install config update files with critical fixes
		 you may wish to use this method to verify that a critical
		 update has indeed been performed to catch the case where
		 a user restores an old config file from backup that has
		 not been updated yet.
			@param id the update to check
			@param updateFile the file containing the update
				@short    Checks whether the config file contains the update <code>id</code>  as contained in <code>updateFile.</code>
	*/
	public native void checkUpdate(String id, String updateFile);
	/**	
		 Copies all entries from this config object to a new config
		 object that will save itself to <code>file.</code>
			 Actual saving to <code>file</code> happens when the returned object is
		 destructed or when sync() is called upon it.
			@param file the new config object will save itself to.
			@param config optional config object to reuse
				@short    Copies all entries from this config object to a new config  object that will save itself to <code>file.</code>
	*/
	public native KConfig copyTo(String file, KConfig config);
	public native KConfig copyTo(String file);
	/**	
		 Returns a lock file object for the configuration file or 0 if
		 the backend does not support locking.
			@param bGlobal if true, return the lock file for the global config file
			 NOTE: KConfig.sync() requires a lock on both the normal and global
		 config file. When calling KConfig.sync() while having a lock on the
		 global config file, the normal config file MUST be locked AS WELL and the 
		 normal config file MUST be locked BEFORE the global config file!
		 Otherwise there is a risk of deadlock.
				@short    Returns a lock file object for the configuration file or 0 if  the backend does not support locking.
	*/
	// KLockFile::Ptr lockFile(bool arg1); >>>> NOT CONVERTED
	// KLockFile::Ptr lockFile(); >>>> NOT CONVERTED
	/**	
		 Returns true if the specified group is known.
			@param group The group to search for.
				@return true if the group exists.
   
		@short    Returns true if the specified group is known.
	*/
	protected native boolean internalHasGroup(String group);
	/**	
			 Returns a map (tree) of the entries in the specified group.
			 Do not use this function, the implementation / return type are
		 subject to change.
			@param pGroup the group to provide a KEntryMap for.
				@return The map of the entries in the group.
   
		@short
	*/
	// KEntryMap internalEntryMap(const QString& arg1); >>>> NOT CONVERTED
	/**	
			 Returns a copy of the internal map used to hold all entries.
			 Do not use this function, the implementation / return type are
		 subject to change.
				@return The map of the entries in the group.
   
		@short
	*/
	// KEntryMap internalEntryMap(); >>>> NOT CONVERTED
	/**	
		 Inserts a (key, value) pair into the internal storage mechanism of
		 the configuration object.
			@param _key The key to insert.  It contains information both on
		        the group of the key and the key itself. If the key already
		        exists, the old value will be replaced.
			@param _data the KEntry that is to be stored.
			@param _checkGroup When false, assume that the group already exists.
		   		@short    Inserts a (key, value) pair into the internal storage mechanism of  the configuration object.
	*/
	protected native void putData(KEntryKey _key, KEntry _data, boolean _checkGroup);
	protected native void putData(KEntryKey _key, KEntry _data);
	/**	
		 Looks up an entry in the config object's internal structure.
			@param _key The key to look up  It contains information both on
		        the group of the key and the entry's key itself.
				@return the KEntry value (data) found for the key.  KEntry.aValue
 will be the null string if nothing was located.
   
		@short    Looks up an entry in the config object's internal structure.
	*/
	protected native KEntry lookupData(KEntryKey _key);
	/** Deletes the wrapped C++ instance */
	protected native void finalize() throws InternalError;
	/** Delete the wrapped C++ instance ahead of finalize() */
	public native void dispose();
	/** Has the wrapped C++ instance been deleted? */
	public native boolean isDisposed();
}
