summaryrefslogtreecommitdiffstats
path: root/src/pluginloader/ripperpluginloader.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pluginloader/ripperpluginloader.h')
-rwxr-xr-xsrc/pluginloader/ripperpluginloader.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/pluginloader/ripperpluginloader.h b/src/pluginloader/ripperpluginloader.h
new file mode 100755
index 0000000..6cf965e
--- /dev/null
+++ b/src/pluginloader/ripperpluginloader.h
@@ -0,0 +1,84 @@
+
+
+#ifndef RIPPERPLUGINLOADER_H
+#define RIPPERPLUGINLOADER_H
+
+#include "pluginloaderbase.h"
+
+
+/**
+ * @short The complete data, how to use the backend
+ * @author Daniel Faust <hessijames@gmail.com>
+ * @version 0.3
+ */
+class RipperPlugin
+{
+public:
+ /**
+ * Constructor
+ */
+ RipperPlugin();
+
+ /**
+ * Destructor
+ */
+ virtual ~RipperPlugin();
+
+ QString filePathName; // the file name of th plugin (needed to detect write permissions)
+
+ struct Info
+ {
+ int version; // the version of our plugin (v0.2.1 = 201, v11.3 = 110300)
+ QString name; // the name of our plugin
+ QString author; // the author of the plugin
+ QString about; // a short information aboue the plugin
+ } info;
+
+ struct Rip
+ {
+ //PluginLoaderBase::FeatureLevel level;
+ int rank;
+ QString bin;
+ QString param;
+ QString silent_param;
+ QString out_file;
+ QString track;
+ QString device;
+ QString overwrite;
+ QString output;
+
+ struct FullDisc
+ {
+ bool enabled;
+ QString param;
+ QString output;
+ } full_disc;
+ } rip;
+};
+
+/**
+ * @short The plugin loader for the ripper plugins
+ * @author Daniel Faust <hessijames@gmail.com>
+ * @version 0.3
+ */
+class RipperPluginLoader : public PluginLoaderBase
+{
+ Q_OBJECT
+public:
+ /**
+ * Constructor
+ */
+ RipperPluginLoader();
+
+ /**
+ * Destructor
+ */
+ virtual ~RipperPluginLoader();
+
+ /** is this file a ripper plugin and loadable? */
+ int verifyFile( QString );
+ /** load a given file */
+ RipperPlugin* loadFile( QString );
+};
+
+#endif // RIPPERPLUGINLOADER_H