//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 org.kde.qt.QObject;
import org.kde.qt.QPixmap;
import org.kde.qt.QSessionManager;
import java.util.ArrayList;
import org.kde.qt.QEvent;
import org.kde.qt.QWidget;
import org.kde.qt.QPalette;
import org.kde.qt.QApplication;

/**

 Controls and provides information to all KDE applications.
 Only one object of this class can be instantiated in a single app.
 This instance is always accessible via the 'kapp' global variable.
 See cut() for an example.
 This class provides the following services to all KDE applications.

	<li>
	It controls the event queue (see QApplication ).
	</li>
	
	<li>
	It provides the application with KDE resources such as
	 accelerators, common menu entries, a KConfig object. session
	 management events, help invocation etc.
	</li>
	
	<li>
	Installs a signal handler for the SIGCHLD signal in order to
	 avoid zombie children. If you want to catch this signal yourself or
	 don't want it to be caught at all, you have set a new signal handler
	 (or SIG_IGN) after KApplication's constructor has run.
	</li>
	
	<li>
	Installs an empty signal handler for the SIGPIPE signal using
	 installSigpipeHandler(). If you want to catch this signal
	 yourself, you have set a new signal handler after KApplication's
	 constructor has run.
	</li>
	
	<li>
	It can start new services
	</li>
	 The way a service gets started depends on the 'X-DCOP-ServiceType'
 entry in the desktop file of the service:
 There are three possibilities:

	<li>
	X-DCOP-ServiceType=None (default)
	    Always start a new service,
	    don't wait till the service registers with dcop.
	</li>
	
	<li>
	X-DCOP-ServiceType=Multi
	    Always start a new service,
	    wait until the service has registered with dcop.
	</li>
	
	<li>
	X-DCOP-ServiceType=Unique
	    Only start the service if it isn't already running,
	    wait until the service has registered with dcop.
	</li>
	 See {@link KApplicationSignals} for signals emitted by KApplication
		@author Matthias Kalle Dalheimer <kalle@kde.org>

		@short Controls and provides information to all KDE applications.

*/
public class KApplication extends QApplication implements KInstanceInterface {
	protected KApplication(Class dummy){super((Class) null);}
	public static final int ShiftModifier = 1<<0;
	public static final int LockModifier = 1<<1;
	public static final int ControlModifier = 1<<2;
	public static final int Modifier1 = 1<<3;
	public static final int Modifier2 = 1<<4;
	public static final int Modifier3 = 1<<5;
	public static final int Modifier4 = 1<<6;
	public static final int Modifier5 = 1<<7;

	/**	 @deprecated Same values as Button1Mask etc. in X.h 		@short   @deprecated Same values as Button1Mask etc.
	*/
	public static final int Button1Pressed = 1<<8;
	public static final int Button2Pressed = 1<<9;
	public static final int Button3Pressed = 1<<10;
	public static final int Button4Pressed = 1<<11;
	public static final int Button5Pressed = 1<<12;

	/**	 Position of the caption (presumably in the application window's
		   title bar). This enum appears to be unused.
			 @todo Find out if this is used anywhere.
		  		@short   Position of the caption (presumably in the application window's    title bar).
	*/
	public static final int CaptionAppLast = 1;
	public static final int CaptionAppFirst = 2;
	public static final int CaptionNoApp = 3;

	/**	
		 The possible values for the <code>confirm</code> parameter of requestShutDown().
		   		@short    The possible values for the <code>confirm</code> parameter of requestShutDown().
	*/
	public static final int ShutdownConfirmDefault = -1;
	public static final int ShutdownConfirmNo = 0;
	public static final int ShutdownConfirmYes = 1;

	/**	
		 The possible values for the <code>sdtype</code> parameter of requestShutDown().
		   		@short    The possible values for the <code>sdtype</code> parameter of requestShutDown().
	*/
	public static final int ShutdownTypeDefault = -1;
	public static final int ShutdownTypeNone = 0;
	public static final int ShutdownTypeReboot = 1;
	public static final int ShutdownTypeHalt = 2;

	/**	
		 The possible values for the <code>sdmode</code> parameter of requestShutDown().
		   		@short    The possible values for the <code>sdmode</code> parameter of requestShutDown().
	*/
	public static final int ShutdownModeDefault = -1;
	public static final int ShutdownModeSchedule = 0;
	public static final int ShutdownModeTryNow = 1;
	public static final int ShutdownModeForceNow = 2;
	public static final int ShutdownModeInteractive = 3;

	/**	
		 Valid values for the settingsChanged signal
		   		@short    Valid values for the settingsChanged signal
	*/
	public static final int SETTINGS_MOUSE = 0;
	public static final int SETTINGS_COMPLETION = 1;
	public static final int SETTINGS_PATHS = 2;
	public static final int SETTINGS_POPUPMENU = 3;
	public static final int SETTINGS_QT = 4;
	public static final int SETTINGS_SHORTCUTS = 5;

	public native QMetaObject metaObject();
	public native String className();
	/**	
		 This constructor takes aboutData and command line
		  arguments from KCmdLineArgs.
			@param allowStyles Set to false to disable the loading on plugin based
		 styles. This is only useful to applications that do not display a GUI
		 normally. If you do create an application with <code>allowStyles</code> set to false
		 it normally runs in the background but under special circumstances
		 displays widgets.  Call enableStyles() before displaying any widgets.
			@param GUIenabled Set to false to disable all GUI stuff. This implies
		 no styles either.
		   		@short    This constructor takes aboutData and command line   arguments from KCmdLineArgs.
	*/
	public KApplication(boolean allowStyles, boolean GUIenabled) {
		super((Class) null);
		newKApplication(allowStyles,GUIenabled);
	}
	private native void newKApplication(boolean allowStyles, boolean GUIenabled);
	public KApplication(boolean allowStyles) {
		super((Class) null);
		newKApplication(allowStyles);
	}
	private native void newKApplication(boolean allowStyles);
	public KApplication() {
		super((Class) null);
		newKApplication();
	}
	private native void newKApplication();
	/**	
		 Returns the application session config object.
				@return A pointer to the application's instance specific
 KConfig object.

		@short    Returns the application session config object.
		@see KConfig
	*/
	public native KConfig sessionConfig();
	/**	
		 Is the application restored from the session manager?
				@return If true, this application was restored by the session manager.
    Note that this may mean the config object returned by
 sessionConfig() contains data saved by a session closedown.

		@short    Is the application restored from the session manager? 
		@see #sessionConfig
	*/
	public native boolean isRestored();
	/**	
		 Disables session management for this application.
			 Useful in case  your application is started by the
		 initial "startkde" script.
		   		@short    Disables session management for this application.
	*/
	public native void disableSessionManagement();
	/**	
		 Enables again session management for this application, formerly
		 disabled by calling disableSessionManagement(). You usually
		 shouldn't call this function, as the session management is enabled
		 by default.
		   		@short    Enables again session management for this application, formerly  disabled by calling disableSessionManagement().
	*/
	public native void enableSessionManagement();
	/**	
		 Asks the session manager to shut the session down.
			 Using <code>confirm</code> == ShutdownConfirmYes or <code>sdtype</code> != ShutdownTypeDefault or
		 <code>sdmode</code> != ShutdownModeDefault causes the use of ksmserver's DCOP
		 interface. The remaining two combinations use the standard XSMP and
		 will work with any session manager compliant with it.
			@param confirm Whether to ask the user if he really wants to log out.
		 ShutdownConfirm
			@param sdtype The action to take after logging out. ShutdownType
			@param sdmode If/When the action should be taken. ShutdownMode
				@return true on success, false if the session manager could not be
 contacted.
   
		@short    Asks the session manager to shut the session down.
	*/
	public native boolean requestShutDown(int confirm, int sdtype, int sdmode);
	public native boolean requestShutDown(int confirm, int sdtype);
	public native boolean requestShutDown(int confirm);
	public native boolean requestShutDown();
	/**	
		 Propagates the network address of the session manager in the
		 SESSION_MANAGER environment variable so that child processes can
		 pick it up.
			 If SESSION_MANAGER isn't defined yet, the address is searched in
		 $HOME/.KSMserver.
			 This function is called by clients that are started outside the
		 session ( i.e. before ksmserver is started), but want to launch
		 other processes that should participate in the session.  Examples
		 are kdesktop or kicker.
		   		@short    Propagates the network address of the session manager in the  SESSION_MANAGER environment variable so that child processes can  pick it up.
	*/
	public native void propagateSessionManager();
	/**	
		 Reimplemented for internal purposes, mainly the highlevel
		  handling of session management with KSessionManaged.
			     		@short    Reimplemented for internal purposes, mainly the highlevel   handling of session management with KSessionManaged.
	*/
	public native void commitData(QSessionManager sm);
	/**	
		 Reimplemented for internal purposes, mainly the highlevel
		  handling of session management with KSessionManaged.
			     		@short    Reimplemented for internal purposes, mainly the highlevel   handling of session management with KSessionManaged.
	*/
	public native void saveState(QSessionManager sm);
	/**	
		 Returns true if the application is currently saving its session
		 data (most probably before KDE logout). This is intended for use
		 mainly in KMainWindow.queryClose() and KMainWindow.queryExit().
				@short    Returns true if the application is currently saving its session  data (most probably before KDE logout).
		@see KMainWindow#queryClose
		@see KMainWindow#queryExit
	*/
	public native boolean sessionSaving();
	/**	
		 Returns a QPixmap with the application icon.
				@return the application icon
   
		@short    Returns a QPixmap with the application icon.
	*/
	public native QPixmap icon();
	/**	
		 Returns the name of the application icon.
				@return the icon's name
   
		@short    Returns the name of the application icon.
	*/
	public native String iconName();
	/**	
		 Returns the mini-icon for the application as a QPixmap.
				@return the application's mini icon
   
		@short    Returns the mini-icon for the application as a QPixmap.
	*/
	public native QPixmap miniIcon();
	/**	
		 Returns the name of the mini-icon for the application.
				@return the mini icon's name
   
		@short    Returns the name of the mini-icon for the application.
	*/
	public native String miniIconName();
	/**	
		  Sets the top widget of the application.
		  This means basically applying the right window caption and
		  icon. An application may have several top widgets. You don't
		  need to call this function manually when using KMainWindow.
			@param topWidget A top widget of the application.
				@short     Sets the top widget of the application.
		@see #icon
		@see #caption
	*/
	public native void setTopWidget(QWidget topWidget);
	/**	
		 Invokes the KHelpCenter HTML help viewer from docbook sources.
			@param anchor This has to be a defined anchor in your
		                    docbook sources. If empty the main index
		                    is loaded
			@param appname This allows you to show the help of another
		                    application. If empty the current name() is
		                    used
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
		   		@short    Invokes the KHelpCenter HTML help viewer from docbook sources.
	*/
	public native void invokeHelp(String anchor, String appname, String startup_id);
	public native void invokeHelp(String anchor, String appname);
	public native void invokeHelp(String anchor);
	public native void invokeHelp();
	/**	
		 Convenience method; invokes the standard email application.
			@param address The destination address
			@param subject Subject string. Can be null.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
		   		@short    Convenience method; invokes the standard email application.
	*/
	public native void invokeMailer(String address, String subject, String startup_id);
	public native void invokeMailer(String address, String subject);
	/**	
		 Invokes the standard email application.
			@param mailtoURL A mailto URL.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
			@param allowAttachments whether attachments specified in mailtoURL should be honoured.
		               The default is false; do not honour requests for attachments.
		   		@short    Invokes the standard email application.
	*/
	public native void invokeMailer(KURL mailtoURL, String startup_id, boolean allowAttachments);
	public native void invokeMailer(KURL mailtoURL, String startup_id);
	public native void invokeMailer(KURL mailtoURL);
	/**	
		 Convenience method; invokes the standard email application.
			 All parameters are optional.
			@param to The destination address.
			@param cc The Cc field
			@param bcc The Bcc field
			@param subject Subject string
			@param body A string containing the body of the mail (exclusive with messageFile)
			@param messageFile A file (URL) containing the body of the mail (exclusive with body) - currently unsupported
			@param attachURLs List of URLs to be attached to the mail.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
		   		@short    Convenience method; invokes the standard email application.
	*/
	public native void invokeMailer(String to, String cc, String bcc, String subject, String body, String messageFile, String[] attachURLs, String startup_id);
	public native void invokeMailer(String to, String cc, String bcc, String subject, String body, String messageFile, String[] attachURLs);
	public native void invokeMailer(String to, String cc, String bcc, String subject, String body, String messageFile);
	public native void invokeMailer(String to, String cc, String bcc, String subject, String body);
	/**	
		 Returns a text for the window caption.
			 This may be set by
		 "-caption", otherwise it will be equivalent to the name of the
		 executable.
				@return the text for the window caption
   
		@short    Returns a text for the window caption.
	*/
	public native String caption();
	/**	
		 Builds a caption that contains the application name along with the
		 userCaption using a standard layout.
			 To make a compliant caption
		 for your window, simply do: <code>setCaption</code>(kapp.makeStdCaption(yourCaption));
			@param userCaption The caption string you want to display in the
		 window caption area. Do not include the application name!
			@param withAppName Indicates that the method shall include or ignore
		 the application name when making the caption string. You are not
		 compliant if you set this to <code>false.</code>
			@param modified If true, a 'modified' sign will be included in the
		 returned string. This is useful when indicating that a file is
		 modified, i.e., it contains data that has not been saved.
				@return the created caption
   
		@short    Builds a caption that contains the application name along with the  userCaption using a standard layout.
	*/
	public native String makeStdCaption(String userCaption, boolean withAppName, boolean modified);
	public native String makeStdCaption(String userCaption, boolean withAppName);
	public native String makeStdCaption(String userCaption);
	/**	
		 Get a file name in order to make a temporary copy of your document.
			@param pFilename The full path to the current file of your
		 document.
				@return A new filename for auto-saving.
   
		@short    Get a file name in order to make a temporary copy of your document.
	*/
	public native String tempSaveName(String pFilename);
	/**	
		 Check whether  an auto-save file exists for the document you want to
		 open.
			@param pFilename The full path to the document you want to open.
			@param bRecover This gets set to true if there was a recover
		 file.
				@return The full path of the file to open.
   
		@short    Check whether  an auto-save file exists for the document you want to  open.
	*/
	public native String checkRecoverFile(String pFilename, boolean bRecover);
	/**	
		 Enables style plugins.
			 This is useful only to applications that normally
		 do not display a GUI and create the KApplication with
		 allowStyles set to false.
		   		@short    Enables style plugins.
	*/
	public native void enableStyles();
	/**	
		 Disables style plugins.
			 Current style plugins do not get unloaded.
			 This is only useful when used in combination with enableStyles().
		   		@short    Disables style plugins.
	*/
	public native void disableStyles();
	/**	
		  Installs widget filter as global X11 event filter.
			 The widget
		  filter receives XEvents in its standard QWidget.x11Event() function.
			  Warning: Only do this when absolutely necessary. An installed X11 filter
		  can slow things down.
				@short     Installs widget filter as global X11 event filter.
	*/
	public native void installX11EventFilter(QWidget filter);
	/**	
		 Removes global X11 event filter previously installed by
		 installX11EventFilter().
		   		@short    Removes global X11 event filter previously installed by  installX11EventFilter().
	*/
	public native void removeX11EventFilter(QWidget filter);
	/**	
		 Adds a message type to the KIPC event mask. You can only add "system
		 messages" to the event mask. These are the messages with id < 32.
		 Messages with id >= 32 are user messages.
			@param id The message id. See KIPC.Message.
				@short    Adds a message type to the KIPC event mask.
		@see KIPC
		@see #removeKipcEventMask
		@see #kipcMessage
	*/
	public native void addKipcEventMask(int id);
	/**	
		 Removes a message type from the KIPC event mask. This message will
		 not be handled anymore.
			@param id The message id.
				@short    Removes a message type from the KIPC event mask.
		@see KIPC
		@see #addKipcEventMask
		@see #kipcMessage
	*/
	public native void removeKipcEventMask(int id);
	/**	
		 Returns the app startup notification identifier for this running
		 application.
				@return the startup notification identifier
   
		@short    Returns the app startup notification identifier for this running  application.
	*/
	public native String startupId();
	/**	
			 Sets a new value for the application startup notification window property for newly
		 created toplevel windows. 
			@param startup_id the startup notification identifier
				@short   
		@see KStartupInfo#setNewStartupId
	*/
	public native void setStartupId(String startup_id);
	/**	
		 Updates the last user action timestamp to the given time, or to the current time,
		 if 0 is given. Do not use unless you're really sure what you're doing.
		 Consult focus stealing prevention section in kdebase/kwin/README.
				@short    Updates the last user action timestamp to the given time, or to the current time,  if 0 is given.
	*/
	public native void updateUserTimestamp(long time);
	public native void updateUserTimestamp();
	/**	
		 Returns the last user action timestamp or 0 if no user activity has taken place yet.
				@short    Returns the last user action timestamp or 0 if no user activity has taken place yet.
		@see #updateuserTimestamp
	*/
	public native long userTimestamp();
	/**	
		 Updates the last user action timestamp in the application registered to DCOP with dcopId
		 to the given time, or to this application's user time, if 0 is given.
		 Use before causing user interaction in the remote application, e.g. invoking a dialog
		 in the application using a DCOP call.
		 Consult focus stealing prevention section in kdebase/kwin/README.
				@short    Updates the last user action timestamp in the application registered to DCOP with dcopId  to the given time, or to this application's user time, if 0 is given.
	*/
	public native void updateRemoteUserTimestamp(String dcopId, long time);
	public native void updateRemoteUserTimestamp(String dcopId);
	/**	
		 Returns the argument to --geometry if any, so the geometry can be set
		 wherever necessary
				@return the geometry argument, or null if there is none
    
		@short    Returns the argument to --geometry if any, so the geometry can be set  wherever necessary
	*/
	public native String geometryArgument();
	/**	
		 Install a Qt SQL property map with entries for all KDE widgets
		 Call this in any application using KDE widgets in QSqlForm or QDataView.
		   		@short    Install a Qt SQL property map with entries for all KDE widgets  Call this in any application using KDE widgets in QSqlForm or QDataView.
	*/
	public native void installKDEPropertyMap();
	/**	
		 Returns whether a certain action is authorized
			@param genericAction The name of a generic  action
				@return true if the action is authorized
   
		@short    Returns whether a certain action is authorized
	*/
	public native boolean authorize(String genericAction);
	/**	
		 Returns whether a certain KAction is authorized.
			@param action The name of a KAction action. The name is prepended
		 with "action/" before being passed to authorize()
				@return true if the KAction is authorized
   
		@short    Returns whether a certain KAction is authorized.
	*/
	public native boolean authorizeKAction(String action);
	/**	
		 Returns whether a certain URL related action is authorized.
			@param action The name of the action. Known actions are
		 list (may be listed (e.g. in file selection dialog)),
		 link (may be linked to),
		 open (may open) and
		 redirect (may be redirected to)
			@param baseURL The url where the action originates from
			@param destURL The object of the action
				@return true when the action is authorized, false otherwise.

		@short    Returns whether a certain URL related action is authorized.
	*/
	public native boolean authorizeURLAction(String action, KURL baseURL, KURL destURL);
	/**	
		 Allow a certain URL action. This can be useful if your application
		 needs to ensure access to an application specific directory that may 
		 otherwise be subject to KIOSK restrictions.
			@param action The name of the action.
			@param _baseURL The url where the action originates from
			@param _destURL The object of the action
				@short    Allow a certain URL action.
	*/
	public native void allowURLAction(String action, KURL _baseURL, KURL _destURL);
	/**	
		 Returns whether access to a certain control module is authorized.
			@param menuId identifying the control module, e.g. kde-mouse.desktop
				@return true if access to the module is authorized, false otherwise.

		@short    Returns whether access to a certain control module is authorized.
	*/
	public native boolean authorizeControlModule(String menuId);
	/**	
		 Returns whether access to a certain control modules is authorized.
			@param menuIds list of menu-ids of control module, 
		 an example of a menu-id is kde-mouse.desktop.
				@return Those control modules for which access has been authorized.

		@short    Returns whether access to a certain control modules is authorized.
	*/
	public native ArrayList authorizeControlModules(String[] menuIds);
	/**	
			   		@short
	*/
	public native boolean notify(QObject receiver, QEvent event);
	/**	
			    		@short
	*/
	// int xErrhandler(Display* arg1,void* arg2); >>>> NOT CONVERTED
	/**	
			    		@short
	*/
	// int xioErrhandler(Display* arg1); >>>> NOT CONVERTED
	/**	
			   		@short
	*/
	// void iceIOErrorHandler(_IceConn* arg1); >>>> NOT CONVERTED
	/**	
		 Invokes the standard browser.
		 Note that you should only do this when you know for sure that the browser can
		 handle the URL (i.e. its mimetype). In doubt, if the URL can point to an image
		 or anything else than directory or HTML, prefer to use new KRun( url ).
			@param url The destination address
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
		   		@short    Invokes the standard browser.
	*/
	public native void invokeBrowser(String url, String startup_id);
	/**	
		 Invoke the standard browser. Uses a <code>startup_id</code> of "" (empty)
		 and is otherwise the same as the above function.
		  		@short    Invoke the standard browser.
	*/
	public native void invokeBrowser(String url);
	/**	
		 If the widget with focus provides a cut() slot, call that slot.  Thus for a
		 simple application cut can be implemented as:
		 <pre>
		 KStdAction.cut( kapp, SLOT("cut()"), actionCollection() );
		 </pre>
		   		@short    If the widget with focus provides a cut() slot, call that slot.
	*/
	public native void cut();
	/**	
		 If the widget with focus provides a copy() slot, call that slot.  Thus for a
		 simple application copy can be implemented as:
		 <pre>
		 KStdAction.copy( kapp, SLOT("copy()"), actionCollection() );
		 </pre>
		   		@short    If the widget with focus provides a copy() slot, call that slot.
	*/
	public native void copy();
	/**	
		 If the widget with focus provides a paste() slot, call that slot.  Thus for a
		 simple application copy can be implemented as:
		 <pre>
		 KStdAction.paste( kapp, SLOT("paste()"), actionCollection() );
		 </pre>
		   		@short    If the widget with focus provides a paste() slot, call that slot.
	*/
	public native void paste();
	/**	
		 If the widget with focus provides a clear() slot, call that slot.  Thus for a
		 simple application clear() can be implemented as:
		 <pre>
		 new KAction( i18n( "Clear" ), "editclear", 0, kapp, SLOT("clear()"), actionCollection(), "clear" );
		 </pre>
			 Note that for some widgets, this may not provide the intended bahavior.  For
		 example if you make use of the code above and a KListView has the focus, clear()
		 will clear all of the items in the list.  If this is not the intened behavior
		 and you want to make use of this slot, you can subclass KListView and reimplement
		 this slot.  For example the following code would implement a KListView without this
		 behavior:
			 <pre>
		 public class MyListView implements KListView {
		    public    MyListView( QWidget  parent = 0, String  name = 0, WFlags f = 0 ) {}
		   
		 public    void clear() {}
		 }
		 </pre>
		   		@short    If the widget with focus provides a clear() slot, call that slot.
	*/
	public native void clear();
	/**	
		 If the widget with focus provides a selectAll() slot, call that slot.  Thus for a
		 simple application select all can be implemented as:
		 <pre>
		 KStdAction.selectAll( kapp, SLOT("selectAll()"), actionCollection() );
		 </pre>
		   		@short    If the widget with focus provides a selectAll() slot, call that slot.
	*/
	public native void selectAll();
	/**	
		 Tells KApplication about one more operation that should be finished
		 before the application exits. The standard behavior is to exit on the
		 "last window closed" event, but some events should outlive the last window closed
		 (e.g. a file copy for a file manager, or 'compacting folders on exit' for a mail client).
		   		@short    Tells KApplication about one more operation that should be finished  before the application exits.
	*/
	public native void ref();
	/**	
		 Tells KApplication that one operation such as those described in ref() just finished.
		 The application exits if the counter is back to 0.
		   		@short    Tells KApplication that one operation such as those described in ref() just finished.
	*/
	public native void deref();
	/**	
		 Add Qt and KDE command line options to KCmdLineArgs.
		    		@short    Add Qt and KDE command line options to KCmdLineArgs.
	*/
	public static native void addCmdLineOptions();
	/**	
		 Returns the current application object.
			 This is similar to the global QApplication pointer qApp. It
		 allows access to the single global KApplication object, since
		 more than one cannot be created in the same application. It
		 saves you the trouble of having to pass the pointer explicitly
		 to every function that may require it.
				@return the current application object
   
		@short    Returns the current application object.
	*/
	public static native KApplication kApplication();
	/**	
		 Returns a pointer to a DCOPClient for the application.
		 If a client does not exist yet, it is created when this
		 function is called.
				@return the DCOPClient for the application
   
		@short    Returns a pointer to a DCOPClient for the application.
	*/
	public static native DCOPClient dcopClient();
	/**	
		 Disable automatic dcop registration
		 Must be called before creating a KApplication instance to have an effect.
		   		@short    Disable automatic dcop registration  Must be called before creating a KApplication instance to have an effect.
	*/
	public static native void disableAutoDcopRegistration();
	/**	
		 Returns the DCOP name of the service launcher. This will be something like
		 klaucher_$host_$uid.
				@return the name of the service launcher
   
		@short    Returns the DCOP name of the service launcher.
	*/
	public static native String launcher();
	/**	
		 Starts a service based on the (translated) name of the service.
		 E.g. "Web Browser"
			@param _name the name of the service
			@param URL if not empty this URL is passed to the service
			@param error On failure, <code>error</code> contains a description of the error
		         that occurred. If the pointer is 0, the argument will be
		         ignored
			@param dcopService On success, <code>dcopService</code> contains the DCOP name
		         under which this service is available. If empty, the service does
		         not provide DCOP services. If the pointer is 0 the argument
		         will be ignored
			@param pid On success, the process id of the new service will be written
		        here. If the pointer is 0, the argument will be ignored.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
			@param noWait if set, the function does not wait till the service is running.
				@return an error code indicating success (== 0) or failure (> 0).
   
		@short    Starts a service based on the (translated) name of the service.
	*/
	public static native int startServiceByName(String _name, String URL, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id, boolean noWait);
	public static native int startServiceByName(String _name, String URL, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id);
	public static native int startServiceByName(String _name, String URL, StringBuffer error, StringBuffer dcopService, int[] pid);
	public static native int startServiceByName(String _name, String URL, StringBuffer error, StringBuffer dcopService);
	public static native int startServiceByName(String _name, String URL, StringBuffer error);
	public static native int startServiceByName(String _name, String URL);
	/**	
		 Starts a service based on the (translated) name of the service.
		 E.g. "Web Browser"
			@param _name the name of the service
			@param URLs if not empty these URLs will be passed to the service
			@param error On failure, <code>error</code> contains a description of the error
		         that occurred. If the pointer is 0, the argument will be
		         ignored
			@param dcopService On success, <code>dcopService</code> contains the DCOP name
		         under which this service is available. If empty, the service does
		         not provide DCOP services. If the pointer is 0 the argument
		         will be ignored
			@param pid On success, the process id of the new service will be written
		        here. If the pointer is 0, the argument will be ignored.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
			@param noWait if set, the function does not wait till the service is running.
				@return an error code indicating success (== 0) or failure (> 0).
   
		@short    Starts a service based on the (translated) name of the service.
	*/
	public static native int startServiceByName(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id, boolean noWait);
	public static native int startServiceByName(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id);
	public static native int startServiceByName(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService, int[] pid);
	public static native int startServiceByName(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService);
	public static native int startServiceByName(String _name, String[] URLs, StringBuffer error);
	public static native int startServiceByName(String _name, String[] URLs);
	public static native int startServiceByName(String _name);
	/**	
		 Starts a service based on the desktop path of the service.
		 E.g. "Applications/konqueror.desktop" or "/home/user/bla/myfile.desktop"
			@param _name the path of the desktop file
			@param URL if not empty this URL is passed to the service
			@param error On failure, <code>error</code> contains a description of the error
		         that occurred. If the pointer is 0, the argument will be
		         ignored
			@param dcopService On success, <code>dcopService</code> contains the DCOP name
		         under which this service is available. If empty, the service does
		         not provide DCOP services. If the pointer is 0 the argument
		         will be ignored
			@param pid On success, the process id of the new service will be written
		        here. If the pointer is 0, the argument will be ignored.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
			@param noWait if set, the function does not wait till the service is running.
				@return an error code indicating success (== 0) or failure (> 0).
   
		@short    Starts a service based on the desktop path of the service.
	*/
	public static native int startServiceByDesktopPath(String _name, String URL, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id, boolean noWait);
	public static native int startServiceByDesktopPath(String _name, String URL, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id);
	public static native int startServiceByDesktopPath(String _name, String URL, StringBuffer error, StringBuffer dcopService, int[] pid);
	public static native int startServiceByDesktopPath(String _name, String URL, StringBuffer error, StringBuffer dcopService);
	public static native int startServiceByDesktopPath(String _name, String URL, StringBuffer error);
	public static native int startServiceByDesktopPath(String _name, String URL);
	/**	
		 Starts a service based on the desktop path of the service.
		 E.g. "Applications/konqueror.desktop" or "/home/user/bla/myfile.desktop"
			@param _name the path of the desktop file
			@param URLs if not empty these URLs will be passed to the service
			@param error On failure, <code>error</code> contains a description of the error
		         that occurred. If the pointer is 0, the argument will be
		         ignored
			@param dcopService On success, <code>dcopService</code> contains the DCOP name
		         under which this service is available. If empty, the service does
		         not provide DCOP services. If the pointer is 0 the argument
		         will be ignored
			@param pid On success, the process id of the new service will be written
		        here. If the pointer is 0, the argument will be ignored.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
			@param noWait if set, the function does not wait till the service is running.
				@return an error code indicating success (== 0) or failure (> 0).
   
		@short    Starts a service based on the desktop path of the service.
	*/
	public static native int startServiceByDesktopPath(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id, boolean noWait);
	public static native int startServiceByDesktopPath(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id);
	public static native int startServiceByDesktopPath(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService, int[] pid);
	public static native int startServiceByDesktopPath(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService);
	public static native int startServiceByDesktopPath(String _name, String[] URLs, StringBuffer error);
	public static native int startServiceByDesktopPath(String _name, String[] URLs);
	public static native int startServiceByDesktopPath(String _name);
	/**	
		 Starts a service based on the desktop name of the service.
		 E.g. "konqueror"
			@param _name the desktop name of the service
			@param URL if not empty this URL is passed to the service
			@param error On failure, <code>error</code> contains a description of the error
		         that occurred. If the pointer is 0, the argument will be
		         ignored
			@param dcopService On success, <code>dcopService</code> contains the DCOP name
		         under which this service is available. If empty, the service does
		         not provide DCOP services. If the pointer is 0 the argument
		         will be ignored
			@param pid On success, the process id of the new service will be written
		        here. If the pointer is 0, the argument will be ignored.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
			@param noWait if set, the function does not wait till the service is running.
				@return an error code indicating success (== 0) or failure (> 0).
   
		@short    Starts a service based on the desktop name of the service.
	*/
	public static native int startServiceByDesktopName(String _name, String URL, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id, boolean noWait);
	public static native int startServiceByDesktopName(String _name, String URL, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id);
	public static native int startServiceByDesktopName(String _name, String URL, StringBuffer error, StringBuffer dcopService, int[] pid);
	public static native int startServiceByDesktopName(String _name, String URL, StringBuffer error, StringBuffer dcopService);
	public static native int startServiceByDesktopName(String _name, String URL, StringBuffer error);
	public static native int startServiceByDesktopName(String _name, String URL);
	/**	
		 Starts a service based on the desktop name of the service.
		 E.g. "konqueror"
			@param _name the desktop name of the service
			@param URLs if not empty these URLs will be passed to the service
			@param error On failure, <code>error</code> contains a description of the error
		         that occurred. If the pointer is 0, the argument will be
		         ignored
			@param dcopService On success, <code>dcopService</code> contains the DCOP name
		         under which this service is available. If empty, the service does
		         not provide DCOP services. If the pointer is 0 the argument
		         will be ignored
			@param pid On success, the process id of the new service will be written
		        here. If the pointer is 0, the argument will be ignored.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
			@param noWait if set, the function does not wait till the service is running.
				@return an error code indicating success (== 0) or failure (> 0).
   
		@short    Starts a service based on the desktop name of the service.
	*/
	public static native int startServiceByDesktopName(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id, boolean noWait);
	public static native int startServiceByDesktopName(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService, int[] pid, String startup_id);
	public static native int startServiceByDesktopName(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService, int[] pid);
	public static native int startServiceByDesktopName(String _name, String[] URLs, StringBuffer error, StringBuffer dcopService);
	public static native int startServiceByDesktopName(String _name, String[] URLs, StringBuffer error);
	public static native int startServiceByDesktopName(String _name, String[] URLs);
	public static native int startServiceByDesktopName(String _name);
	/**	
		 Starts a program via kdeinit.
			 program name and arguments are converted to according to the
		 local encoding and passed as is to kdeinit.
			@param name Name of the program to start
			@param args Arguments to pass to the program
			@param error On failure, <code>error</code> contains a description of the error
		         that occurred. If the pointer is 0, the argument will be
		         ignored
			@param pid On success, the process id of the new service will be written
		        here. If the pointer is 0, the argument will be ignored.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
				@return an error code indicating success (== 0) or failure (> 0).
   
		@short    Starts a program via kdeinit.
	*/
	public static native int kdeinitExec(String name, String[] args, StringBuffer error, int[] pid, String startup_id);
	public static native int kdeinitExec(String name, String[] args, StringBuffer error, int[] pid);
	public static native int kdeinitExec(String name, String[] args, StringBuffer error);
	public static native int kdeinitExec(String name, String[] args);
	public static native int kdeinitExec(String name);
	/**	
		 Starts a program via kdeinit and wait for it to finish.
			 Like kdeinitExec(), but it waits till the program is finished.
		 As such it behaves similar to the system(...) function.
			@param name Name of the program to start
			@param args Arguments to pass to the program
			@param error On failure, <code>error</code> contains a description of the error
		         that occurred. If the pointer is 0, the argument will be
		         ignored
			@param pid On success, the process id of the new service will be written
		        here. If the pointer is 0, the argument will be ignored.
			@param startup_id for app startup notification, "0" for none,
		           "" ( empty string ) is the default
				@return an error code indicating success (== 0) or failure (> 0).
   
		@short    Starts a program via kdeinit and wait for it to finish.
	*/
	public static native int kdeinitExecWait(String name, String[] args, StringBuffer error, int[] pid, String startup_id);
	public static native int kdeinitExecWait(String name, String[] args, StringBuffer error, int[] pid);
	public static native int kdeinitExecWait(String name, String[] args, StringBuffer error);
	public static native int kdeinitExecWait(String name, String[] args);
	public static native int kdeinitExecWait(String name);
	/**	
		 Generates a uniform random number.
				@return A truly unpredictable number in the range [0, RAND_MAX)
   
		@short    Generates a uniform random number.
	*/
	public static native int random();
	/**	
		 Generates a random string.  It operates in the range [A-Za-z0-9]
			@param length Generate a string of this length.
				@return the random string
   
		@short    Generates a random string.
	*/
	public static native String randomString(int length);
	/**	
		 Returns the state of the currently pressed keyboard modifiers (e.g. shift, control, etc.)
		 and mouse buttons, similarly to QKeyEvent.state() and QMouseEvent.state().
		 You usually should simply use the information provided by QKeyEvent and QMouseEvent,
		 but it can be useful to query for the status of the modifiers at another moment
		 (e.g. some KDE apps do that upon a drop event).
				@return the keyboard modifiers and mouse buttons state

		@short    Returns the state of the currently pressed keyboard modifiers (e.
	*/
	public static native int keyboardMouseState();
	/**	
			   		@short
	*/
	public static native void startKdeinit();
	/**	
		 Used to obtain the QPalette that will be used to set the application palette.
			 This is only useful for configuration modules such as krdb and should not be
		 used in normal circumstances.
				@return the QPalette

		@short    Used to obtain the QPalette that will be used to set the application palette.
	*/
	public static native QPalette createApplicationPalette();
	/**	
			 Raw access for use by KDM.
		   		@short
	*/
	public static native QPalette createApplicationPalette(KConfig config, int contrast);
	/**	
		 Installs a handler for the SIGPIPE signal. It is thrown when you write to
		 a pipe or socket that has been closed.
		 The handler is installed automatically in the constructor, but you may
		 need it if your application or component does not have a KApplication
		 instance.
		   		@short    Installs a handler for the SIGPIPE signal.
	*/
	public static native void installSigpipeHandler();
	/**	
			 Whether widgets can be used. 
				@short
	*/
	public static native boolean guiEnabled();
	/**	
			   		@short
	*/
	public KApplication(boolean allowStyles, boolean GUIenabled, KInstanceInterface _instance) {
		super((Class) null);
		newKApplication(allowStyles,GUIenabled,_instance);
	}
	private native void newKApplication(boolean allowStyles, boolean GUIenabled, KInstanceInterface _instance);
	/**	
		 This method is used internally to determine which edit slots are implemented
		 by the widget that has the focus, and to invoke those slots if available.
			@param slot is the slot as returned using the SLOT() macro, for example SLOT("cut()")
			 This method can be used in KApplication subclasses to implement application wide
		 edit actions not supported by the KApplication class.  For example (in your subclass):
			 <pre>
		 void MyApplication.deselect()
		 {
		   invokeEditSlot( SLOT("deselect()") );
		 }
		 </pre>
			 Now in your application calls to MyApplication.deselect() will call this slot on the
		 focused widget if it provides this slot.  You can combine this with KAction with:
			 <pre>
		 KStdAction.deselect( (MyApplication)( kapp ), SLOT("cut()"), actionCollection() );
		 </pre>
				@short    This method is used internally to determine which edit slots are implemented  by the widget that has the focus, and to invoke those slots if available.
		@see #cut
		@see #copy
		@see #paste
		@see #clear
		@see #selectAll
	*/
	protected native void invokeEditSlot(String slot);
	/** 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();
	/**	
		 Returns the application standard dirs object.
				@return The KStandardDirs of the application.
     
		@short    Returns the application standard dirs object.
	*/
	public native KStandardDirs dirs();
	/**	
		 Returns the general config object ("appnamerc").
				@return the KConfig object for the instance.
     
		@short    Returns the general config object ("appnamerc").
	*/
	public native KConfig config();
	/**	
		 Returns the general config object ("appnamerc").
				@return the KConfig object for the instance.
     
		@short    Returns the general config object ("appnamerc").
	*/
	public native KSharedConfig sharedConfig();
	/**	
		  Returns an iconloader object.
				@return the iconloader object.
     
		@short     Returns an iconloader object.
	*/
	public native KIconLoader iconLoader();
	/**	
		 Re-allocate the global iconloader.
		     		@short    Re-allocate the global iconloader.
	*/
	public native void newIconLoader();
	/**	
		  Returns the about data of this instance
		  Warning, can be null
				@return the about data of the instance, or 0 if it has 
         not been set yet
     
		@short     Returns the about data of this instance   Warning, can be 0L
	*/
	public native KAboutData aboutData();
	/**	
		 Returns the name of the instance
				@return the instance name, can be null if the KInstance has been 
         created with a null name
     
		@short    Returns the name of the instance
	*/
	public native String instanceName();
	/**	
		 Returns the KMimeSourceFactory of the instance.
		 Mainly added for API completeness and future extensibility.
				@return the KMimeSourceFactory set as default for this application.
     
		@short    Returns the KMimeSourceFactory of the instance.
	*/
	public native KMimeSourceFactory mimeSourceFactory();
	/**	
		 Set name of default config file.
			@param name the name of the default config file
				@short    Set name of default config file.
	*/
	protected native void setConfigName(String name);
	/**
		Used internally by the KDE Koala Java bindings runtime
	*/
	public static native void setJavaSlotFactory();
	
}
