Clementine-audio-player-Mac.../3rdparty/libmygpo-qt/Config.cpp

154 lines
3.7 KiB
C++

/***************************************************************************
* This file is part of libmygpo-qt *
* Copyright (c) 2012 - 2013 Stefan Derkits <stefan@derkits.at> *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 *
* USA *
***************************************************************************/
#include "Config_p.h"
#include "Version.h"
#include <QString>
#include <QStringBuilder>
#include <QLatin1String>
using namespace mygpo;
Config* Config::s_instance = 0;
ConfigPrivate::ConfigPrivate( Config* qq ) : q( qq ), m_mygpoBaseUrl( QUrl( QLatin1String( "http://gpodder.net" ) ) ), m_userAgentPrefix( QString() )
{
}
ConfigPrivate::~ConfigPrivate()
{
}
int ConfigPrivate::majorVersion() const
{
return MYGPO_QT_VERSION_MAJOR;
}
int ConfigPrivate::minorVersion() const
{
return MYGPO_QT_VERSION_MINOR;
}
int ConfigPrivate::patchVersion() const
{
return MYGPO_QT_VERSION_PATCH;
}
QString ConfigPrivate::version() const
{
return QString( QLatin1String( "%1.%2.%3" ) ).arg( majorVersion() ).arg( minorVersion() ).arg( patchVersion() );
}
QUrl ConfigPrivate::mygpoBaseUrl() const
{
return m_mygpoBaseUrl;
}
void ConfigPrivate::setMygpoBaseUrl( const QUrl& mygpoBaseUrl )
{
this->m_mygpoBaseUrl = mygpoBaseUrl;
}
QString ConfigPrivate::userAgent() const
{
QString userAgent;
if ( !m_userAgentPrefix.isEmpty() )
userAgent = m_userAgentPrefix % QLatin1String( " " );
userAgent = userAgent % QLatin1String( "libmygpo-qt " ) % version();
return userAgent;
}
QString ConfigPrivate::userAgentPrefix() const
{
return m_userAgentPrefix;
}
void ConfigPrivate::setUserAgentPrefix( const QString& prefix )
{
m_userAgentPrefix = prefix;
}
Config::Config() : d( new ConfigPrivate( this ) )
{
}
Config::~Config()
{
delete d;
}
int Config::majorVersion() const
{
return d->majorVersion();
}
int Config::minorVersion() const
{
return d->minorVersion();
}
int Config::patchVersion() const
{
return d->patchVersion();
}
QString Config::version() const
{
return d->version();
}
QUrl Config::mygpoBaseUrl() const
{
return d->mygpoBaseUrl();
}
void Config::setMygpoBaseUrl(const QUrl& mygpoBaseUrl)
{
d->setMygpoBaseUrl( mygpoBaseUrl );
}
QString Config::userAgent() const
{
return d->userAgent();
}
QString Config::userAgentPrefix() const
{
return d->userAgentPrefix();
}
void Config::setUserAgentPrefix(const QString& prefix)
{
d->setUserAgentPrefix( prefix );
}
Config* Config::instance()
{
if ( !s_instance ) {
s_instance = new Config;
}
return s_instance;
}