1 | /* This file is part of the KDE project |
2 | Copyright (C) 2006-2008 Matthias Kretz <kretz@kde.org> |
3 | |
4 | This library is free software; you can redistribute it and/or |
5 | modify it under the terms of the GNU Lesser General Public |
6 | License as published by the Free Software Foundation; either |
7 | version 2.1 of the License, or (at your option) version 3, or any |
8 | later version accepted by the membership of KDE e.V. (or its |
9 | successor approved by the membership of KDE e.V.), Nokia Corporation |
10 | (or its successors, if any) and the KDE Free Qt Foundation, which shall |
11 | act as a proxy defined in Section 6 of version 3 of the license. |
12 | |
13 | This library is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
16 | Lesser General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU Lesser General Public |
19 | License along with this library. If not, see <http://www.gnu.org/licenses/>. |
20 | |
21 | */ |
22 | |
23 | #ifndef PHONON_EFFECTINTERFACE_H |
24 | #define PHONON_EFFECTINTERFACE_H |
25 | |
26 | #include "phononnamespace.h" |
27 | #include <QVariant> |
28 | |
29 | |
30 | #ifndef QT_NO_PHONON_EFFECT |
31 | |
32 | namespace Phonon |
33 | { |
34 | class EffectParameter; |
35 | /** \class EffectInterface effectinterface.h phonon/EffectInterface |
36 | * \short Interface for Effect objects |
37 | * |
38 | * \author Matthias Kretz <kretz@kde.org> |
39 | */ |
40 | class EffectInterface |
41 | { |
42 | public: |
43 | virtual ~EffectInterface() {} |
44 | /** |
45 | * Returns the EffectParameter objects to describe the parameters of this effect. |
46 | */ |
47 | virtual QList<EffectParameter> parameters() const = 0; |
48 | /** |
49 | * Returns the value for the selected parameter. |
50 | */ |
51 | virtual QVariant parameterValue(const EffectParameter &) const = 0; |
52 | /** |
53 | * Sets the value for the selected parameter. |
54 | */ |
55 | virtual void setParameterValue(const EffectParameter &, const QVariant &newValue) = 0; |
56 | }; |
57 | } //namespace Phonon |
58 | |
59 | Q_DECLARE_INTERFACE(Phonon::EffectInterface, "EffectInterface0.phonon.kde.org" ) |
60 | |
61 | #endif //QT_NO_PHONON_EFFECT |
62 | |
63 | |
64 | #endif // PHONON_EFFECTINTERFACE_H |
65 | |