//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;

/**
 
 KDE Desktop File Management.
		@author Pietro Iglio <iglio@kde.org>

		@short KDE Desktop File Management class.
		@see KConfigBase
		@see KConfig

*/
public class KDesktopFile extends KConfig  {
	protected KDesktopFile(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Constructs a KDesktopFile object and make it either read-write
		 or read-only.
			@param fileName The name or path of the desktop file. If it
		                  is not absolute, it will be located
		                  using the resource type <code>resType.</code>
			@param readOnly Whether the object should be read-only.
			@param resType Allows you to change what sort of resource
		                  to search for if <code>fileName</code> is not absolute.  For
		                  instance, you might want to specify "config".
		   		@short    Constructs a KDesktopFile object and make it either read-write  or read-only.
	*/
	public KDesktopFile(String fileName, boolean readOnly, String resType) {
		super((Class) null);
		newKDesktopFile(fileName,readOnly,resType);
	}
	private native void newKDesktopFile(String fileName, boolean readOnly, String resType);
	public KDesktopFile(String fileName, boolean readOnly) {
		super((Class) null);
		newKDesktopFile(fileName,readOnly);
	}
	private native void newKDesktopFile(String fileName, boolean readOnly);
	public KDesktopFile(String fileName) {
		super((Class) null);
		newKDesktopFile(fileName);
	}
	private native void newKDesktopFile(String fileName);
	/**	
		 Returns the value of the "Type=" entry.
				@return the type or null if not specified
   
		@short    Returns the value of the "Type=" entry.
	*/
	public native String readType();
	/**	
		 Returns the value of the "Icon=" entry.
				@return the icon or null if not specified 
   
		@short    Returns the value of the "Icon=" entry.
	*/
	public native String readIcon();
	/**	
		 Returns the value of the "Name=" entry.
				@return the name or null if not specified
   
		@short    Returns the value of the "Name=" entry.
	*/
	public native String readName();
	/**	
		 Returns the value of the "Comment=" entry.
				@return the comment or null if not specified
   
		@short    Returns the value of the "Comment=" entry.
	*/
	public native String readComment();
	/**	
		 Returns the value of the "GenericName=" entry.
				@return the generic name or null if not specified
   
		@short    Returns the value of the "GenericName=" entry.
	*/
	public native String readGenericName();
	/**	
		 Returns the value of the "Path=" entry.
				@return the path or null if not specified
   
		@short    Returns the value of the "Path=" entry.
	*/
	public native String readPath();
	/**	
		 Returns the value of the "Dev=" entry.
				@return the device or null if not specified
   
		@short    Returns the value of the "Dev=" entry.
	*/
	public native String readDevice();
	/**	
		 Returns the value of the "URL=" entry.
				@return the URL or null if not specified
   
		@short    Returns the value of the "URL=" entry.
	*/
	public native String readURL();
	/**	
		 Returns a list of the "Actions=" entries.
				@return the list of actions
   
		@short    Returns a list of the "Actions=" entries.
	*/
	public native ArrayList readActions();
	/**	
		 Sets the desktop action group.
			@param group the new action group
		   		@short    Sets the desktop action group.
	*/
	public native void setActionGroup(String group);
	/**	
		 Returns true if the action group exists, false otherwise
			@param group the action group to test
				@return true if the action group exists
   
		@short    Returns true if the action group exists, false otherwise
	*/
	public native boolean hasActionGroup(String group);
	/**	
		 Checks whether there is a "Type=Link" entry.
			 The link points to the "URL=" entry.
				@return true if there is a "Type=Link" entry
   
		@short    Checks whether there is a "Type=Link" entry.
	*/
	public native boolean hasLinkType();
	/**	
		 Checks whether there is an entry "Type=Application".
				@return true if there is a "Type=Application" entry
   
		@short    Checks whether there is an entry "Type=Application".
	*/
	public native boolean hasApplicationType();
	/**	
		 Checks whether there is an entry "Type=MimeType".
				@return true if there is a "Type=MimeType" entry
   
		@short    Checks whether there is an entry "Type=MimeType".
	*/
	public native boolean hasMimeTypeType();
	/**	
		 Checks whether there is an entry "Type=FSDev".
				@return true if there is a "Type=FSDev" entry
   
		@short    Checks whether there is an entry "Type=FSDev".
	*/
	public native boolean hasDeviceType();
	/**	
		 Checks whether the TryExec field contains a binary
		 which is found on the local system.
				@return true if TryExec contains an existing binary
   
		@short    Checks whether the TryExec field contains a binary  which is found on the local system.
	*/
	public native boolean tryExec();
	/**	
		 Returns the file name.
				@return The filename as passed to the constructor.
   
		@short    Returns the file name.
	*/
	public native String fileName();
	/**	
		 Returns the resource.
				@return The resource type as passed to the constructor.
   
		@short    Returns the resource.
	*/
	public native String resource();
	/**	
		 Returns the value of the "X-DocPath=" Or "DocPath=" entry.
		 X-DocPath should be used and DocPath is depreciated and will
		 one day be not supported.
				@return The value of the "X-DocPath=" Or "DocPath=" entry.

		@short    Returns the value of the "X-DocPath=" Or "DocPath=" entry.
	*/
	public native String readDocPath();
	/**	
		 Returns the entry of the "SortOrder=" entry.
				@return the value of the "SortOrder=" entry.
   
		@short    Returns the entry of the "SortOrder=" entry.
	*/
	public native ArrayList sortOrder();
	/**	
		 Copies all entries from this config object to a new 
		 KDesktopFile 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 KDesktopFile object it will save itself to.
				@short    Copies all entries from this config object to a new   KDesktopFile object that will save itself to <code>file.</code>
	*/
	public native KConfig copyTo(String file);
	/**	
		 Checks whether this is really a desktop file.
			 The check is performed looking at the file extension (the file is not
		 opened).
		 Currently, valid extensions are ".kdelnk" and ".desktop".
			@param path the path of the file to check
				@return true if the file appears to be a desktop file.
   
		@short    Checks whether this is really a desktop file.
	*/
	public static native boolean isDesktopFile(String path);
	/**	
		 Checks whether the user is authorized to run this desktop file.
		 By default users are authorized to run all desktop files but
		 the KIOSK framework can be used to activate certain restrictions.
		 See README.kiosk for more information.
			@param path the file to check
				@return true if the user is authorized to run the file

		@short    Checks whether the user is authorized to run this desktop file.
	*/
	public static native boolean isAuthorizedDesktopFile(String path);
	/**	
		 Returns the location where changes for the .desktop file <code>path</code>
		 should be written to.
				@short    Returns the location where changes for the .
	*/
	public static native String locateLocal(String path);
	/** 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();
}
