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

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

/**

 This is just a small class to facilitate accessing e-mail settings in 
 a sane way, and allowing any program to manage multiple e-mail 
 profiles effortlessly
		@author Alex Zepeda zipzippy@sonic.net

		@short    This is just a small class to facilitate accessing e-mail settings in   a sane way, and allowing any program to manage multiple e-mail   profiles effortlessly

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

	/**	
		 The list of settings that I thought of when I wrote this 
		 class.  Any extra settings thought of later can be accessed 
		 easily with getExtendedSetting and setExtendedSetting.
				@short    The list of settings that I thought of when I wrote this   class.
		@see #getSetting
		@see #setSetting
		@see #getExtendedSetting
		@see #setExtendedSetting
	*/
	public static final int ClientProgram = 0;
	public static final int ClientTerminal = 1;
	public static final int RealName = 2;
	public static final int EmailAddress = 3;
	public static final int ReplyToAddress = 4;
	public static final int Organization = 5;
	public static final int OutServer = 6;
	public static final int OutServerLogin = 7;
	public static final int OutServerPass = 8;
	public static final int OutServerType = 9;
	public static final int OutServerCommand = 10;
	public static final int OutServerTLS = 11;
	public static final int InServer = 12;
	public static final int InServerLogin = 13;
	public static final int InServerPass = 14;
	public static final int InServerType = 15;
	public static final int InServerMBXType = 16;
	public static final int InServerTLS = 17;

	/**	
		 The various extensions allowed.
				@short    The various extensions allowed.
	*/
	public static final int POP3 = 0;
	public static final int SMTP = 1;
	public static final int OTHER = 2;

	/**	
		 Default constructor, just sets things up.
				@short    Default constructor, just sets things up.
	*/
	public KEMailSettings() {
		newKEMailSettings();
	}
	private native void newKEMailSettings();
	/**	
		 List of profiles available.
				@return the list of profiles

		@short    List of profiles available.
	*/
	public native ArrayList profiles();
	/**	
		 Returns the name of the current profile.
				@return what profile we're currently using

		@short    Returns the name of the current profile.
	*/
	public native String currentProfileName();
	/**	
		 Change the current profile.
			@param s the name of the new profile
				@short    Change the current profile.
	*/
	public native void setProfile(String s);
	/**	
		 Returns the name of the default profile.
				@return the name of the one that's currently default null if none

		@short    Returns the name of the default profile.
	*/
	public native String defaultProfileName();
	/**	
		 Sets a new default.
			@param def the new default
				@short    Sets a new default.
	*/
	public native void setDefault(String def);
	/**	
		 Get one of the predefined "basic" settings.
			@param s the setting to get
				@return the value of the setting, or null if not 
         set

		@short    Get one of the predefined "basic" settings.
	*/
	public native String getSetting(int s);
	/**	
		 Set one of the predefined "basic" settings.
			@param s the setting to set
			@param v the new value of the setting, or null to 
		         unset
				@short    Set one of the predefined "basic" settings.
	*/
	public native void setSetting(int s, String v);
	/** 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();
}
