summaryrefslogtreecommitdiffstats
path: root/src/pluginloader/pluginloaderbase.h
diff options
context:
space:
mode:
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' )
+
+*/
+