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

import org.kde.qt.Qt;
import org.kde.qt.QtSupport;

/**

 Access to KDE global objects for use in shared libraries.  In
 practical terms, this class is used in KDE components.  This allows
 components to store things that normally would be accessed by
 KGlobal.
		@author Torben Weis

		@version  kinstance.h,v 1.31 2004/09/09 15:23:51 faure
 
		@short    Access to KDE global objects for use in shared libraries.

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

	/**	
		  Constructor.
			@param instanceName the name of the instance
		     		@short     Constructor.
	*/
	public KInstance(String instanceName) {
		newKInstance(instanceName);
	}
	private native void newKInstance(String instanceName);
	/**	
		  Constructor.
		  When building a KInstance that is not your KApplication,
		  make sure that the KAboutData and the KInstance have the same life time.
		  You have to destroy both, since the instance doesn't own the about data.
		  Don't build a KAboutData on the stack in this case !
		  Building a KAboutData on the stack is only ok for usage with
		  KCmdLineArgs and KApplication (not destroyed until the app exits).
			@param aboutData data about this instance (see KAboutData)
		     		@short     Constructor.
	*/
	public KInstance(KAboutData aboutData) {
		newKInstance(aboutData);
	}
	private native void newKInstance(KAboutData aboutData);
	public KInstance(KInstanceInterface src) {
		newKInstance(src);
	}
	private native void newKInstance(KInstanceInterface src);
	/**	
		 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);
	/** 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();
}
