1
/*  This file is part of the KDE project.
2
3
Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4
5
This library is free software: you can redistribute it and/or modify
6
it under the terms of the GNU Lesser General Public License as published by
7
the Free Software Foundation, either version 2.1 or 3 of the License.
8
9
This library is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
GNU Lesser General Public License for more details.
13
14
You should have received a copy of the GNU Lesser General Public License
15
along with this library.  If not, see <http://www.gnu.org/licenses/>.
16
17
*/
18
19
#ifndef PHONON_MMF_DUMMYPLAYER_H
20
#define PHONON_MMF_DUMMYPLAYER_H
21
22
#include "abstractplayer.h"
23
24
QT_BEGIN_NAMESPACE
25
26
namespace Phonon
27
{
28
namespace MMF
29
{
30
class AudioOutput;
31
32
/**
33
 * @short Stub implementation of AbstractPlayer.
34
 *
35
 * The functions of this class are:
36
 * -    Allow MediaObject to call a subset of the MediaObjectInterface
37
 *      API, before SetSource has been called.
38
 * -    Cache any parameters which are set in this state (e.g.
39
 *      prefinish mark), so that they can be copied into the 'real'
40
 *      AbstractPlayer implementation once a source has been loaded.
41
 */
42
class DummyPlayer : public AbstractPlayer
43
{
44
public:
45
    DummyPlayer(const AbstractPlayer *player = 0);
46
47
    // MediaObjectInterface
48
    virtual void play();
49
    virtual void pause();
50
    virtual void stop();
51
    virtual void seek(qint64 milliseconds);
52
    virtual bool hasVideo() const;
53
    virtual bool isSeekable() const;
54
    virtual qint64 currentTime() const;
55
    virtual Phonon::State state() const;
56
    virtual Phonon::ErrorType errorType() const;
57
    virtual qint64 totalTime() const;
58
59
    // AbstractPlayer
60
    virtual void open();
61
    virtual void close();
62
    virtual void doSetTickInterval(qint32 interval);
63
};
64
}
65
}
66
67
QT_END_NAMESPACE
68
69
#endif