2 * Copyright (c) 2009 Eetu Lehmusvuo.
4 * This file is part of QtMAds.
6 * QtMAds is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * QtMAds is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with QtMAds. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef QTMADSADWIDGET_H
22 #define QTMADSADWIDGET_H
24 #include <QtGui/QWidget>
27 #include <QMainWindow>
29 #include <Phonon/AudioOutput>
30 #include <Phonon/MediaObject>
31 #include <Phonon/BackendCapabilities>
32 #include <Phonon/ObjectDescriptionModel>
65 static QString PLUGINS_PATH = "../plugins";
67 class QtmadsAdWidget : public QWidget
72 QtmadsAdWidget(QString service, AdType defaultType = anyAd, quint32 id = 0, AdFit fitting = noFit, QWidget *parent = 0);
75 void startAd(quint32 adChangeIntervalInSecs = 0);
76 void startSingleShotAd(quint32 durationInSecs);
78 //TODO: default getAdAsHash()?
79 virtual void getAdAsHash(QHash<QString, QVariant> &adParams) = 0;
80 virtual ParseState parseFromParameters(QHash<QString, QVariant> &ad) = 0;
83 void setAdType(AdType adType);
87 bool loadServicePlugin(QString serviceName);
91 virtual void clearAd() = 0;
92 void timerEvent(QTimerEvent */*event*/);
95 void adRequestSucceeded(QHash<QString, QVariant> &ad);
96 void adRequestFailed();
98 void adClicked(const QUrl &url = QUrl());
100 void singleShotEnded();
109 QtmadsService *service;
120 quint32 adClickedAmount;
122 //TODO: shown on screen
123 qint32 shownOnScreenStart;
124 qint32 shownOnScreenEnd;
128 #endif // QTMADSADWIDGET_H