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/>.
24 #include <QtGui/QWidget>
27 #include <QMainWindow>
29 #include <Phonon/AudioOutput>
30 #include <Phonon/MediaObject>
31 #include <Phonon/BackendCapabilities>
32 #include <Phonon/ObjectDescriptionModel>
56 static QString PLUGINS_PATH = "../plugins";
58 class QtmadsAd : public QObject
63 QtmadsAd(QString service, AdType defaultType = anyAd, quint32 id = 0, AdFit fitting = noFit);
66 void startAd(quint32 adChangeIntervalInSecs = 0);
67 void getHash(QHash<QString, QVariant> &adParams);
69 void setAsTextAd(const QFont &font, bool isOnlyTextAd = true, Qt::Alignment alignment = Qt::AlignCenter);
70 void setAsImageAd(bool isOnlyImageAd = true);
71 void setAsBannerAd(bool isOnlyImageAd = true);
72 void setAsTextBannerAd(bool isOnlyTextBannerAd = true);
73 void setAsAudioAd(bool isOnlyAudioAd = true);
77 bool loadPlugin(QString serviceName);
82 void adRequestSucceeded(QHash<QString, QVariant> &ad);
83 void adRequestFailed();
84 void imageRequestSucceeded(QImage *img);
85 void imageRequestFailed();
89 void adClicked(const QUrl &url = QUrl());
92 void phononPlayerStateChanged(Phonon::State newstate, Phonon::State oldstate);
103 QtmadsService *service;
105 Phonon::MediaObject *player;
115 QString mediaContentUrl;
117 // banner url that is opened when ad is clicked
123 Qt::Alignment textAlignment;
125 quint32 adClickedAmount;
127 qint32 shownOnScreenStart;
128 qint32 shownOnScreenEnd;
132 #endif // QTMADSAD_H_