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>
64 static QString PLUGINS_PATH = "../plugins";
66 class QtmadsAdWidget : public QWidget
71 QtmadsAdWidget(QString service, AdType defaultType = anyAd, quint32 id = 0, AdFit fitting = noFit, QWidget *parent = 0);
74 void startAd(quint32 adChangeIntervalInSecs = 0);
76 //TODO: default getAdAsHash()?
77 virtual void getAdAsHash(QHash<QString, QVariant> &adParams) = 0;
78 virtual ParseState parseFromParameters(QHash<QString, QVariant> &ad) = 0;
81 void setAdType(AdType adType);
85 bool loadPlugin(QString serviceName);
90 void adRequestSucceeded(QHash<QString, QVariant> &ad);
91 void adRequestFailed();
93 void adClicked(const QUrl &url = QUrl());
94 virtual void clearAd() = 0;
102 QtmadsService *service;
111 quint32 adClickedAmount;
113 //TODO: shown on screen
114 qint32 shownOnScreenStart;
115 qint32 shownOnScreenEnd;
119 #endif // QTMADSADWIDGET_H