diff options
Diffstat (limited to 'src/multimedia/radio/qradiodata.cpp')
-rw-r--r-- | src/multimedia/radio/qradiodata.cpp | 479 |
1 files changed, 0 insertions, 479 deletions
diff --git a/src/multimedia/radio/qradiodata.cpp b/src/multimedia/radio/qradiodata.cpp deleted file mode 100644 index c795cf389..000000000 --- a/src/multimedia/radio/qradiodata.cpp +++ /dev/null @@ -1,479 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qradiodata.h" -#include "qmediaservice.h" -#include "qmediaobject_p.h" -#include "qradiodatacontrol.h" -#include "qmediaserviceprovider_p.h" - -#include <QPair> - - -QT_BEGIN_NAMESPACE - -static void qRegisterRadioDataMetaTypes() -{ - qRegisterMetaType<QRadioData::Error>(); - qRegisterMetaType<QRadioData::ProgramType>(); -} - -Q_CONSTRUCTOR_FUNCTION(qRegisterRadioDataMetaTypes) - - -/*! - \class QRadioData - \obsolete - \brief The QRadioData class provides interfaces to the RDS functionality of the system radio. - - \inmodule QtMultimedia - \ingroup multimedia - \ingroup multimedia_radio - - The radio data object will emit signals for any changes in radio data. You can enable or disable - alternative frequency with setAlternativeFrequenciesEnabled(). - - You can get a QRadioData instance fromt the \l{QRadioTuner::radioData()}{radioData} - property from a QRadioTuner instance. - - \snippet multimedia-snippets/media.cpp Radio data setup - - Alternatively, you can pass an instance of QRadioTuner to the constructor to QRadioData. - - \sa {Radio Overview} - -*/ - - -class QRadioDataPrivate -{ - Q_DECLARE_NON_CONST_PUBLIC(QRadioData) -public: - QRadioDataPrivate(); - - QMediaObject *mediaObject; - QRadioDataControl* control; - - void _q_serviceDestroyed(); - - QRadioData *q_ptr; -}; - -QRadioDataPrivate::QRadioDataPrivate() - : mediaObject(nullptr) - , control(nullptr) -{} - -void QRadioDataPrivate::_q_serviceDestroyed() -{ - mediaObject = nullptr; - control = nullptr; -} - -/*! - Constructs a radio data based on a \a mediaObject and \a parent. - - The \a mediaObject should be an instance of \l QRadioTuner. It is preferable to use the - \l{QRadioTuner::radioData()}{radioData} property on a QRadioTuner instance to get an instance - of QRadioData. - - During construction, this class is bound to the \a mediaObject using the - \l{QMediaObject::bind()}{bind()} method. -*/ - -QRadioData::QRadioData(QMediaObject *mediaObject, QObject *parent) - : QObject(parent) - , d_ptr(new QRadioDataPrivate) -{ - Q_D(QRadioData); - - d->q_ptr = this; - - if (mediaObject) - mediaObject->bind(this); -} - -/*! - Destroys a radio data. -*/ - -QRadioData::~QRadioData() -{ - Q_D(QRadioData); - - if (d->mediaObject) - d->mediaObject->unbind(this); - - delete d_ptr; -} - -/*! - \reimp -*/ -QMediaObject *QRadioData::mediaObject() const -{ - return d_func()->mediaObject; -} - -/*! - \reimp -*/ -bool QRadioData::setMediaObject(QMediaObject *mediaObject) -{ - Q_D(QRadioData); - - if (d->mediaObject) { - if (d->control) { - disconnect(d->control, SIGNAL(stationIdChanged(QString)), - this, SIGNAL(stationIdChanged(QString))); - disconnect(d->control, SIGNAL(programTypeChanged(QRadioData::ProgramType)), - this, SIGNAL(programTypeChanged(QRadioData::ProgramType))); - disconnect(d->control, SIGNAL(programTypeNameChanged(QString)), - this, SIGNAL(programTypeNameChanged(QString))); - disconnect(d->control, SIGNAL(stationNameChanged(QString)), - this, SIGNAL(stationNameChanged(QString))); - disconnect(d->control, SIGNAL(radioTextChanged(QString)), - this, SIGNAL(radioTextChanged(QString))); - disconnect(d->control, SIGNAL(alternativeFrequenciesEnabledChanged(bool)), - this, SIGNAL(alternativeFrequenciesEnabledChanged(bool))); - disconnect(d->control, SIGNAL(error(QRadioData::Error)), - this, SIGNAL(error(QRadioData::Error))); - - QMediaService *service = d->mediaObject->service(); - service->releaseControl(d->control); - disconnect(service, SIGNAL(destroyed()), this, SLOT(_q_serviceDestroyed())); - } - } - - d->mediaObject = mediaObject; - - if (d->mediaObject) { - QMediaService *service = mediaObject->service(); - if (service) { - d->control = qobject_cast<QRadioDataControl*>(service->requestControl(QRadioDataControl_iid)); - - if (d->control) { - connect(d->control, SIGNAL(stationIdChanged(QString)), - this, SIGNAL(stationIdChanged(QString))); - connect(d->control, SIGNAL(programTypeChanged(QRadioData::ProgramType)), - this, SIGNAL(programTypeChanged(QRadioData::ProgramType))); - connect(d->control, SIGNAL(programTypeNameChanged(QString)), - this, SIGNAL(programTypeNameChanged(QString))); - connect(d->control, SIGNAL(stationNameChanged(QString)), - this, SIGNAL(stationNameChanged(QString))); - connect(d->control, SIGNAL(radioTextChanged(QString)), - this, SIGNAL(radioTextChanged(QString))); - connect(d->control, SIGNAL(alternativeFrequenciesEnabledChanged(bool)), - this, SIGNAL(alternativeFrequenciesEnabledChanged(bool))); - connect(d->control, SIGNAL(error(QRadioData::Error)), - this, SIGNAL(error(QRadioData::Error))); - - connect(service, SIGNAL(destroyed()), this, SLOT(_q_serviceDestroyed())); - - return true; - } - } - } - - // without QRadioDataControl discard the media object - d->mediaObject = nullptr; - d->control = nullptr; - - return false; -} - -/*! - Returns the availability of the radio data service. - - A long as there is a media service which provides radio functionality, then the - \l{QMultimedia::AvailabilityStatus}{availability} will be that - of the \l{QRadioTuner::availability()}{radio tuner}. -*/ -QMultimedia::AvailabilityStatus QRadioData::availability() const -{ - Q_D(const QRadioData); - - if (d->control == nullptr) - return QMultimedia::ServiceMissing; - - return d->mediaObject->availability(); -} - -/*! - \property QRadioData::stationId - \brief Current Program Identification - -*/ - -QString QRadioData::stationId() const -{ - Q_D(const QRadioData); - - if (d->control != nullptr) - return d->control->stationId(); - return QString(); -} - -/*! - \property QRadioData::programType - \brief Current Program Type - -*/ - -QRadioData::ProgramType QRadioData::programType() const -{ - Q_D(const QRadioData); - - if (d->control != nullptr) - return d->control->programType(); - - return QRadioData::Undefined; -} - -/*! - \property QRadioData::programTypeName - \brief Current Program Type Name - -*/ - -QString QRadioData::programTypeName() const -{ - Q_D(const QRadioData); - - if (d->control != nullptr) - return d->control->programTypeName(); - return QString(); -} - -/*! - \property QRadioData::stationName - \brief Current Program Service - -*/ - -QString QRadioData::stationName() const -{ - Q_D(const QRadioData); - - if (d->control != nullptr) - return d->control->stationName(); - return QString(); -} - -/*! - \property QRadioData::radioText - \brief Current Radio Text - -*/ - -QString QRadioData::radioText() const -{ - Q_D(const QRadioData); - - if (d->control != nullptr) - return d->control->radioText(); - return QString(); -} - -/*! - \property QRadioData::alternativeFrequenciesEnabled - \brief Is Alternative Frequency currently enabled - -*/ - -bool QRadioData::isAlternativeFrequenciesEnabled() const -{ - Q_D(const QRadioData); - - if (d->control != nullptr) - return d->control->isAlternativeFrequenciesEnabled(); - return false; -} - -void QRadioData::setAlternativeFrequenciesEnabled( bool enabled ) -{ - Q_D(const QRadioData); - - if (d->control != nullptr) - return d->control->setAlternativeFrequenciesEnabled(enabled); -} - -/*! - Returns the error state of a radio data. - - \sa errorString() -*/ - -QRadioData::Error QRadioData::error() const -{ - Q_D(const QRadioData); - - if (d->control != nullptr) - return d->control->error(); - return QRadioData::ResourceError; -} - -/*! - Returns a description of a radio data's error state. - - \sa error() -*/ -QString QRadioData::errorString() const -{ - Q_D(const QRadioData); - - if (d->control != nullptr) - return d->control->errorString(); - return QString(); -} - -/*! - \fn void QRadioData::stationIdChanged(QString stationId) - - Signals that the Program Identification code has changed to \a stationId -*/ - -/*! - \fn void QRadioData::programTypeChanged(QRadioData::ProgramType programType) - - Signals that the Program Type code has changed to \a programType -*/ - -/*! - \fn void QRadioData::programTypeNameChanged(QString programTypeName) - - Signals that the Program Type Name has changed to \a programTypeName -*/ - -/*! - \fn void QRadioData::stationNameChanged(QString stationName) - - Signals that the Program Service has changed to \a stationName -*/ - -/*! - \fn void QRadioData::alternativeFrequenciesEnabledChanged(bool enabled) - - Signals that automatically tuning to alternative frequencies has been - enabled or disabled according to \a enabled. -*/ - -/*! - \fn void QRadioData::radioTextChanged(QString radioText) - - Signals that the Radio Text property has changed to \a radioText -*/ - -/*! - \fn void QRadioData::error(QRadioData::Error error) - - Signals that an \a error occurred. -*/ - -/*! - \enum QRadioData::Error - - Enumerates radio data error conditions. - - \value NoError No errors have occurred. - \value ResourceError There is no radio service available. - \value OpenError Unable to open radio device. - \value OutOfRangeError An attempt to set a frequency or band that is not supported by radio device. -*/ - -/*! - \enum QRadioData::ProgramType - - This property holds the type of the currently playing program as transmitted - by the radio station. The value can be any one of the values defined in the - table below. - - \value Undefined - \value News - \value CurrentAffairs - \value Information - \value Sport - \value Education - \value Drama - \value Culture - \value Science - \value Varied - \value PopMusic - \value RockMusic - \value EasyListening - \value LightClassical - \value SeriousClassical - \value OtherMusic - \value Weather - \value Finance - \value ChildrensProgrammes - \value SocialAffairs - \value Religion - \value PhoneIn - \value Travel - \value Leisure - \value JazzMusic - \value CountryMusic - \value NationalMusic - \value OldiesMusic - \value FolkMusic - \value Documentary - \value AlarmTest - \value Alarm - \value Talk - \value ClassicRock - \value AdultHits - \value SoftRock - \value Top40 - \value Soft - \value Nostalgia - \value Classical - \value RhythmAndBlues - \value SoftRhythmAndBlues - \value Language - \value ReligiousMusic - \value ReligiousTalk - \value Personality - \value Public - \value College -*/ - -QT_END_NAMESPACE - -#include "moc_qradiodata.cpp" |