//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.QValidator;
import org.kde.qt.QObject;

/**

 Baseclass for a meta info plugin. If you want to write your own plugin,
 you need to derive from this class.
 In your plugin, you need to create a factory for the KFilePlugin
 Example:
  <pre>
 typedef KGenericFactory<MyPlugin> MyFactory;
 K_EXPORT_COMPONENT_FACTORY(kfile_foo, MyFactory("kfile_foo"));
  </pre>
 and then just overwrite the methods your plugin supports. If your plugin
 can only read data, it is sufficient to only write a readInfo() method.
 If you also want to support changing data and writing it back into the
 file, you usually need all methods.
		@short    Baseclass for a meta info plugin.

*/
public class KFilePlugin extends QObject  {
	protected KFilePlugin(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Creates a new KFilePlugin instance.
			@param parent the parent of the QObject, can be 0
			@param name the name of the QObject, can be 0
			@param args currently ignored
		     		@short    Creates a new KFilePlugin instance.
	*/
	/**	
		 Read the info from the file in this method and insert it into the
		 provided KFileMetaInfo object. You can get the path to
		 the file with info.path()
			@param info the information will be written here
			@param what defines what to read, see KFileMetaInfo.What
				@return true if successful, false if it failed

		@short    Read the info from the file in this method and insert it into the  provided KFileMetaInfo object.
	*/
	public native boolean readInfo(KFileMetaInfo info, int what);
	public native boolean readInfo(KFileMetaInfo info);
	/**	
		 Similar to the above method, but for writing the info back to the file.
		 If you don't have any writable keys, don't implement this method
			@param info the information that will be written
				@return true if successful, false if it failed

		@short    Similar to the above method, but for writing the info back to the file.
	*/
	public native boolean writeInfo(KFileMetaInfo info);
	/**	
		 This method should create an appropriate validator for the specified
		 item if it's editable or return a null pointer if not. If you don't
		 have any editable items, you don't need this method.
			 If you you don't need any validation, e.g. you accept any input,
		 you can simply return null, or not reimplement this method at all.
			@param mimeType the mime type
			@param group the group name of the validator item
			@param key the key name of the validator item
			@param parent the QObject parent, can be 0
			@param name the name of the QObject, can be 0
				@short    This method should create an appropriate validator for the specified  item if it's editable or return a null pointer if not.
	*/
	public native QValidator createValidator(String mimeType, String group, String key, QObject parent, String name);
}
