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

/**

 A class that provides information about a KCModule
 KCModuleInfo provides various technical information, such as icon, library
 etc. about a KCModule.n
 @note Any values set with the set functions is not
 written back with KCModuleInfo it only reads value from the desktop file.
 		@author Daniel Molkentin <molkentin@kde.org>

		@short    A class that provides information about a KCModule

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

	/**	
		 Constructs a KCModuleInfo.
		 @note a KCModuleInfo object will have to be manually deleted, it is not
		 done automatically for you.
			@param desktopFile the desktop file representing the module, or
		 the name of the module.
		   		@short    Constructs a KCModuleInfo.
	*/
	public KCModuleInfo(String desktopFile) {
		newKCModuleInfo(desktopFile);
	}
	private native void newKCModuleInfo(String desktopFile);
	/**	
		 Same as above but takes a KService.Ptr as argument.
			 @note <code>moduleInfo</code> must be a valid pointer.
			@param moduleInfo specifies the module
		   		@short    Same as above but takes a KService.Ptr as argument.
	*/
	// KCModuleInfo* KCModuleInfo(KService::Ptr arg1); >>>> NOT CONVERTED
	/**	
		 Same as above but takes a KCModuleInfo as argument.
			@param rhs specifies the module
		   		@short    Same as above but takes a KCModuleInfo as argument.
	*/
	public KCModuleInfo(KCModuleInfo rhs) {
		newKCModuleInfo(rhs);
	}
	private native void newKCModuleInfo(KCModuleInfo rhs);
	/**	
		 Same as above but creates an empty KCModuleInfo.
		 You should not normally call this.
				@short    Same as above but creates an empty KCModuleInfo.
	*/
	public KCModuleInfo() {
		newKCModuleInfo();
	}
	private native void newKCModuleInfo();
	/**	
		 Equal operator
				@return true if <code>rhs</code> equals itself
   
		@short    Equal operator
	*/
	public native boolean op_equals(KCModuleInfo rhs);
	/**	
				@return true if <code>rhs</code> is not equal itself
   
		@short
	*/
	public native boolean op_not_equals(KCModuleInfo rhs);
	/**	
				@return the filename of the .desktop file that describes the KCM
   
		@short
	*/
	public native String fileName();
	/**	
				@return the keywords associated with this KCM.
   
		@short
	*/
	public native ArrayList keywords();
	/**	
		 Returns the module's factory name, if it's set. If not, the library
		 name is returned.
				@return the module's factory name

		@short    Returns the module's factory name, if it's set.
	*/
	public native String factoryName();
	/**	
				@return the module\'s (translated) name
   
		@short
	*/
	public native String moduleName();
	/**	
				@return a KSharedPtr to KService created from the modules .desktop file
   
		@short
	*/
	// KService::Ptr service(); >>>> NOT CONVERTED
	/**	
				@return the module's (translated) comment field
   
		@short
	*/
	public native String comment();
	/**	
				@return the module's icon name
   
		@short
	*/
	public native String icon();
	/**	
				@return the path of the module's documentation
   
		@short
	*/
	public native String docPath();
	/**	
				@return the library name
   
		@short
	*/
	public native String library();
	/**	
				@return a handle (usually the contents of the FactoryName field)
   
		@short
	*/
	public native String handle();
	/**	
				@return the weight of the module which determines the order of the pages in
 the KCMultiDialog. It's set by the X-KDE-Weight field.
   
		@short
	*/
	public native int weight();
	/**	
				@return whether the module might require root permissions
   
		@short
	*/
	public native boolean needsRootPrivileges();
	/**	
				@return true if the module should be conditionally
 loaded.

		@short
	*/
	public native boolean needsTest();
	/**	
		 Sets the object's keywords.
			@param keyword the new keywords
		   		@short    Sets the object's keywords.
	*/
	protected native void setKeywords(String[] keyword);
	/**	
		 Sets the object's name.
			@param name the new name
		   		@short    Sets the object's name.
	*/
	protected native void setName(String name);
	/**	
		 Sets the object's name.
			@param comment the new comment
		   		@short    Sets the object's name.
	*/
	protected native void setComment(String comment);
	/**	
		 Sets the object's icon.
			@param icon the name of the new icon
		   		@short    Sets the object's icon.
	*/
	protected native void setIcon(String icon);
	/**	
		 Set the object's library
			@param lib the name of the new library without any extensions or prefixs.
		   		@short    Set the object's library
	*/
	protected native void setLibrary(String lib);
	/**	
		 Sets the factory name
			@param handle The new factory name
		   		@short    Sets the factory name
	*/
	protected native void setHandle(String handle);
	/**	
		 Sets the object's weight property which determines in what
		 order modules will be displayed. Default is 100.
			@param weight the new weight
		   		@short    Sets the object's weight property which determines in what  order modules will be displayed.
	*/
	protected native void setWeight(int weight);
	/**	
		 Sets if the module should be tested for loading.
			@param val the value to set
				@short    Sets if the module should be tested for loading.
	*/
	protected native void setNeedsTest(boolean val);
	/**	
		 Toggles whether the represented module needs root privileges.
		 Use with caution.
			@param needsRootPrivileges if module needs root privilges
		   		@short    Toggles whether the represented module needs root privileges.
	*/
	protected native void setNeedsRootPrivileges(boolean needsRootPrivileges);
	/**	
		 Sets the object's documentation path
			@param p the new documentation path
		   		@short    Sets the object's documentation path
	*/
	protected native void setDocPath(String p);
	/**	
		 Reads the service entries specific for KCModule from the desktop file.
		 The usual desktop entries are read in init.
		   		@short    Reads the service entries specific for KCModule from the desktop file.
	*/
	protected native void loadAll();
	/** 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();
}
