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

import org.trinitydesktop.qt.Qt;
import org.trinitydesktop.qt.QtSupport;

/**

 Helper class to facilitate working with TDEConfig / KSimpleConfig
 groups.
 Careful programmers always set the group of a
 TDEConfig KSimpleConfig object to the group they want to read from
 and set it back to the old one of afterwards. This is usually
 written as:
 <pre>
 String oldgroup config.group();
 config.setGroup( "TheGroupThatIWant" );
 ...
 config.writeEntry( "Blah", "Blubb" );
 config.setGroup( oldgroup );
 </pre>
 In order to facilitate this task, you can use
 TDEConfigGroupSaver. Simply construct such an object ON THE STACK
 when you want to switch to a new group. Then, when the object goes
 out of scope, the group will automatically be restored. If you
 want to use several different groups within a function or method,
 you can still use TDEConfigGroupSaver: Simply enclose all work with
 one group (including the creation of the TDEConfigGroupSaver object)
 in one block.
 TDEConfigGroup provides similar functionality in a more object oriented
 way.
		@author Matthias Kalle Dalheimer <kalle@kde.org>

		@short Helper class for easier use of TDEConfig/KSimpleConfig groups.
		@see TDEConfigBase
		@see TDEConfig
		@see KSimpleConfig
		@see TDEConfigGroup

*/
public class TDEConfigGroupSaver implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected TDEConfigGroupSaver(Class dummy){}

	/**
		 Constructor. You pass a pointer to the TDEConfigBase-derived
		 object you want to work with and a string indicating the _new_
		 group.
			@param config The TDEConfigBase-derived object this
		               TDEConfigGroupSaver works on.
			@param group The new group that the config object should switch to.
		   		@short    Constructor.
	*/
	public TDEConfigGroupSaver(TDEConfigBase config, String group) {
		newTDEConfigGroupSaver(config,group);
	}
	private native void newTDEConfigGroupSaver(TDEConfigBase config, String group);
	public native TDEConfigBase config();
	/** 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();
}
