aboutsummaryrefslogtreecommitdiff
path: root/lib/decoderfactory.h
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2007-08-04 14:35:08 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2007-08-04 14:35:08 +0000
commitafd64439fdccc8b8b1245b210d49f640e608a99d (patch)
tree39d44b2445f452572a1a7ac097ae2fb6ccf2c2c3 /lib/decoderfactory.h
parente73a47e1fea004a1cf21b715b46685657a5716cb (diff)
downloadqmmp-afd64439fdccc8b8b1245b210d49f640e608a99d.tar.gz
qmmp-afd64439fdccc8b8b1245b210d49f640e608a99d.tar.bz2
qmmp-afd64439fdccc8b8b1245b210d49f640e608a99d.zip
changed decoder API
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@58 90c681e8-e032-0410-971d-27865f9a5e38
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;