From f2cfda2a54780868dfe0af7bd652fcd4906547da Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 1 Mar 2010 19:09:31 +0000 Subject: Added KDE3 version of SoundKonverter git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/soundkonverter@1097614 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- src/pluginloader/pluginloaderbase.h | 86 +++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100755 src/pluginloader/pluginloaderbase.h (limited to 'src/pluginloader/pluginloaderbase.h') 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 +#include +#include + +#include "config.h" + +// TODO implement rank everywhere + +/** + * @short The base for all pluginloaders + * @author Daniel Faust + * @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' ) + +*/ + -- cgit v1.2.3