diff options
Diffstat (limited to 'tests/auto/unit/qmultimedia_common')
-rw-r--r-- | tests/auto/unit/qmultimedia_common/mockmediaservice.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/tests/auto/unit/qmultimedia_common/mockmediaservice.h b/tests/auto/unit/qmultimedia_common/mockmediaservice.h index 4bd4a396e..316e78d7c 100644 --- a/tests/auto/unit/qmultimedia_common/mockmediaservice.h +++ b/tests/auto/unit/qmultimedia_common/mockmediaservice.h @@ -43,6 +43,9 @@ #define MOCKMEDIASERVICE_H #include "qmediaservice.h" +#include <QtCore/QMap> + +Q_DECLARE_METATYPE(QMediaControl *) class MockMediaService : public QMediaService { @@ -52,14 +55,23 @@ public: QMediaService(parent), mockControl(control) {} - QMediaControl* requestControl(const char *) + MockMediaService(QObject *parent, QMap<QString, QMediaControl *> controls): + QMediaService(parent), + mockControl(0), + mockControls(controls) {} + + QMediaControl* requestControl(const char *key) { - return mockControl; + if (mockControl) + return mockControl; + else + return mockControls.value(key); } void releaseControl(QMediaControl*) {} - QMediaControl *mockControl; + QMediaControl *mockControl; + QMap<QString, QMediaControl *> mockControls; }; |