diff options
Diffstat (limited to 'src/pluginloader/pluginloaderbase.h')
-rwxr-xr-x | src/pluginloader/pluginloaderbase.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/pluginloader/pluginloaderbase.h b/src/pluginloader/pluginloaderbase.h new file mode 100755 index 0000000..c35bebe --- /dev/null +++ b/src/pluginloader/pluginloaderbase.h @@ -0,0 +1,86 @@ + + +#ifndef PLUGINLOADERBASE_H +#define PLUGINLOADERBASE_H + +#include <qobject.h> +#include <qstringlist.h> +#include <qdom.h> + +#include "config.h" + +// TODO implement rank everywhere + +/** + * @short The base for all pluginloaders + * @author Daniel Faust <[email protected]> + * @version 0.3 + */ +class PluginLoaderBase : public QObject +{ + Q_OBJECT +public: + /** + * Do we recommend this backend to the user + */ + enum FeatureLevel + { + Full, // the backend provides full support + Most, // most features are supported + Basic // we'll have just basic support + }; + + /** + * Just a small enum for our sampling rate units + */ + enum Unit + { + Hz, + KHz + }; + + /** + * Constructor + */ + PluginLoaderBase(); + + /** + * Destructor + */ + virtual ~PluginLoaderBase(); + + /** a list of all plugin files that are loaded at the moment */ +// QStringList openPluginFiles; + + /** the dom tree for loading the xml file */ + QDomDocument domTree; + +public slots: + /** + * Unload all plugins + */ + void unloadAll(); + + /** + * Unoad a specific plugin with name @p pluginName + */ + void unload( QString pluginName ); + + /** + * Unoad a specific plugin with name @p pluginName and delete the plugin file + */ + void remove( QString pluginName ); +}; + +#endif // PLUGINLOADERBASE_H + + +/** + +Each plugin package contains 3 files: + - The plugin file ( $KDE_DIR/share/apps/soundkonverter/plugins/'filename' ) + - The format info file ( $KDE_DIR/share/apps/soundkonverter/format_infos/'lang'/'plugin'_'filename' ) + - The service menu ( $KDE_DIR/share/apps/konqueror/servicemenus/'filename' ) + +*/ + |