aboutsummaryrefslogtreecommitdiff
path: root/lib/decoderfactory.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/decoderfactory.h')
-rw-r--r--lib/decoderfactory.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/decoderfactory.h b/lib/decoderfactory.h
index 651c19745..c73b92c62 100644
--- a/lib/decoderfactory.h
+++ b/lib/decoderfactory.h
@@ -1,3 +1,4 @@
+
/***************************************************************************
* Copyright (C) 2006 by Ilya Kotov *
* forkotov02@hotmail.ru *
@@ -31,15 +32,25 @@ class Decoder;
class Output;
class FileTag;
+struct DecoderProperties
+{
+ QString name;
+ QString filter;
+ QString description;
+ QString contentType;
+ bool hasAbout;
+ bool hasSettings;
+ //bool streamSupport;
+ //bool needInput;
+};
+
class DecoderFactory
{
public:
virtual ~DecoderFactory() {}
virtual bool supports(const QString &source) const = 0;
- virtual const QString &name() const = 0;
- virtual const QString &filter() const = 0;
- virtual const QString &description() const = 0; //i.e. file description
- virtual const QString &contentType() const = 0;
+ virtual bool canDecode(QIODevice *) const = 0;
+ virtual const DecoderProperties &properties() const = 0;
virtual Decoder *create(QObject *, QIODevice *, Output *) = 0;
virtual FileTag *createTag(const QString &source) = 0;
virtual void showDetails(QWidget *parent, const QString &path) = 0;