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

/**

 The KLibLoader allows you to load libraries dynamically at runtime.
 Dependent libraries are loaded automatically.
 KLibLoader follows the singleton pattern. You can not create multiple
 instances. Use self() to get a pointer to the loader.
		@author Torben Weis <weis@kde.org>
 
		@short    The KLibLoader allows you to load libraries dynamically at runtime.
		@see KLibrary

*/
public class KLibLoader extends QObject  {
	protected KLibLoader(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Loads and initializes a library. Loading a library multiple times is
		 handled gracefully.
			 This is a convenience function that returns the factory immediately
			@param libname This is the library name without extension. Usually that is something like
		                 "libkspread". The function will then search for a file named
		                 "libkspread.la" in the KDE library paths.
		                 The .la files are created by libtool and contain
		                 important information especially about the libraries dependencies
		                 on other shared libs. Loading a "libfoo.so" could not solve the
		                 dependencies problem.
			                 You can, however, give a library name ending in ".so"
		                 (or whatever is used on your platform), and the library
		                 will be loaded without resolving dependencies. Use with caution.
				@return the KLibFactory, or 0 if the library does not exist or it does
         not have a factory

		@short    Loads and initializes a library.
		@see #library
	*/
	public native KLibFactory factory(String libname);
	/**	
		 Loads and initializes a library. Loading a library multiple times is
		 handled gracefully.
			@param libname This is the library name without extension. Usually that is something like
		                 "libkspread". The function will then search for a file named
		                 "libkspread.la" in the KDE library paths.
		                 The .la files are created by libtool and contain
		                 important information especially about the libraries dependencies
		                 on other shared libs. Loading a "libfoo.so" could not solve the
		                 dependencies problem.
			                 You can, however, give a library name ending in ".so"
		                 (or whatever is used on your platform), and the library
		                 will be loaded without resolving dependencies. Use with caution.
				@return KLibrary is invalid (0) when the library couldn't be dlopened. in such
 a case you can retrieve the error message by calling KLibLoader.lastErrorMessage()

		@short    Loads and initializes a library.
		@see #factory
	*/
	// KLibrary* library(const char* arg1); >>>> NOT CONVERTED
	/**	
		 Loads and initializes a library. Loading a library multiple times is
		 handled gracefully.   The library is loaded such that the symbols are
		 globally accessible so libraries with dependencies can be loaded
		 sequentially.
			@param name This is the library name without extension. Usually that is something like
		                 "libkspread". The function will then search for a file named
		                 "libkspread.la" in the KDE library paths.
		                 The .la files are created by libtool and contain
		                 important information especially about the libraries dependencies
		                 on other shared libs. Loading a "libfoo.so" could not solve the
		                 dependencies problem.
			                 You can, however, give a library name ending in ".so"
		                 (or whatever is used on your platform), and the library
		                 will be loaded without resolving dependencies. Use with caution.
				@return KLibrariy is invalid (0) when the library couldn't be dlopened. in such
 a case you can retrieve the error message by calling KLibLoader.lastErrorMessage()

		@short    Loads and initializes a library.
		@see #factory
	*/
	// KLibrary* globalLibrary(const char* arg1); >>>> NOT CONVERTED
	public native String lastErrorMessage();
	/**	
		 Unloads the library with the given name.
			@param libname This is the library name without extension. Usually that is something like
		                 "libkspread". The function will then search for a file named
		                 "libkspread.la" in the KDE library paths.
		                 The .la files are created by libtool and contain
		                 important information especially about the libraries dependencies
		                 on other shared libs. Loading a "libfoo.so" could not solve the
		                 dependencies problem.
			                 You can, however, give a library name ending in ".so"
		                 (or whatever is used on your platform), and the library
		                 will be loaded without resolving dependencies. Use with caution.
		     		@short    Unloads the library with the given name.
	*/
	public native void unloadLibrary(String libname);
	/**	
		 Returns a pointer to the factory. Use this function to get an instance
		 of KLibLoader.
				@return a pointer to the loader. If no loader exists until now
         then one is created.
     
		@short    Returns a pointer to the factory.
	*/
	public static native KLibLoader self();
	/**	
			 Internal Method, called by the KApplication destructor.
		 Do not call it.
		 This is what makes it possible to rely on ~KLibFactory
		 being called in all cases, whether the library is unloaded
		 while the application is running or when exiting.
		     		@short
	*/
	public static native void cleanUp();
	/**	
		 Helper method which looks for a library in the standard paths
		 ("module" and "lib" resources).
		 Made public for code that doesn't use KLibLoader itself, but still
		 wants to open modules.
			@param name of the library. If it is not a path, the function searches in
		             the "module" and "lib" resources. If there is no extension,
		             ".la" will be appended.
			@param instance a KInstance used to get the standard paths
		     		@short    Helper method which looks for a library in the standard paths  ("module" and "lib" resources).
	*/
	public static native String findLibrary(String name, KInstanceInterface instance);
	public static native String findLibrary(String name);
	public KLibLoader(QObject parent, String name) {
		super((Class) null);
		newKLibLoader(parent,name);
	}
	private native void newKLibLoader(QObject parent, String name);
	public KLibLoader(QObject parent) {
		super((Class) null);
		newKLibLoader(parent);
	}
	private native void newKLibLoader(QObject parent);
	public KLibLoader() {
		super((Class) null);
		newKLibLoader();
	}
	private native void newKLibLoader();
	/** 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();
}
