summaryrefslogtreecommitdiffstats
path: root/src/pluginloader/pluginloaderbase.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-03-01 19:09:31 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-03-01 19:09:31 +0000
commitf2cfda2a54780868dfe0af7bd652fcd4906547da (patch)
treec6ac23545528f5701818424f2af5f79ce3665e6c /src/pluginloader/pluginloaderbase.h
downloadsoundkonverter-f2cfda2a54780868dfe0af7bd652fcd4906547da.tar.gz
soundkonverter-f2cfda2a54780868dfe0af7bd652fcd4906547da.zip
Added KDE3 version of SoundKonverter
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/soundkonverter@1097614 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/pluginloader/pluginloaderbase.h')
-rwxr-xr-xsrc/pluginloader/pluginloaderbase.h86
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' )
+
+*/
+