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
32namespace 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
59Q_DECLARE_INTERFACE(Phonon::EffectInterface, "EffectInterface0.phonon.kde.org")
60
61#endif //QT_NO_PHONON_EFFECT
62
63
64#endif // PHONON_EFFECTINTERFACE_H
65

source code of phonon/phonon/effectinterface.h