diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-05-14 12:06:50 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-05-14 12:06:50 +0200 |
| commit | df751de5222e8dd564f406470b48a695ec6eb945 (patch) | |
| tree | 22527651dc47f346541e5357b0da50cd2dd97ed0 /src/client | |
| parent | cb14c634b20cae77ac1f24800bcac92b30af4628 (diff) | |
| download | qxmpp-df751de5222e8dd564f406470b48a695ec6eb945.tar.gz | |
hide QXmppVersionManager internals
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/QXmppVersionManager.cpp | 48 | ||||
| -rw-r--r-- | src/client/QXmppVersionManager.h | 7 |
2 files changed, 35 insertions, 20 deletions
diff --git a/src/client/QXmppVersionManager.cpp b/src/client/QXmppVersionManager.cpp index b6f81794..15075cb0 100644 --- a/src/client/QXmppVersionManager.cpp +++ b/src/client/QXmppVersionManager.cpp @@ -30,25 +30,39 @@ #include "QXmppVersionManager.h" #include "QXmppVersionIq.h" -QXmppVersionManager::QXmppVersionManager() : QXmppClientExtension(), - m_clientName(qApp->applicationName()), - m_clientVersion(qApp->applicationVersion()) +class QXmppVersionManagerPrivate { - if(m_clientName.isEmpty()) - m_clientName = "Based on QXmpp"; +public: + QString clientName; + QString clientVersion; + QString clientOs; +}; + +QXmppVersionManager::QXmppVersionManager() + : d(new QXmppVersionManagerPrivate) +{ + d->clientName = qApp->applicationName(); + if (d->clientName.isEmpty()) + d->clientName = "Based on QXmpp"; #if defined(Q_OS_LINUX) - m_clientOs = QString::fromLatin1("Linux"); + d->clientOs = QString::fromLatin1("Linux"); #elif defined(Q_OS_MAC) - m_clientOs = QString::fromLatin1("Mac OS"); + d->clientOs = QString::fromLatin1("Mac OS"); #elif defined(Q_OS_SYMBIAN) - m_clientOs = QString::fromLatin1("Symbian"); + d->clientOs = QString::fromLatin1("Symbian"); #elif defined(Q_OS_WIN) - m_clientOs = QString::fromLatin1("Windows"); + d->clientOs = QString::fromLatin1("Windows"); #endif - if(m_clientVersion.isEmpty()) - m_clientVersion = QXmppVersion(); + d->clientVersion = qApp->applicationVersion(); + if (d->clientVersion.isEmpty()) + d->clientVersion = QXmppVersion(); +} + +QXmppVersionManager::~QXmppVersionManager() +{ + delete d; } QStringList QXmppVersionManager::discoveryFeatures() const @@ -107,7 +121,7 @@ QString QXmppVersionManager::requestVersion(const QString& jid) void QXmppVersionManager::setClientName(const QString& name) { - m_clientName = name; + d->clientName = name; } /// Sets the local XMPP client's version. @@ -116,7 +130,7 @@ void QXmppVersionManager::setClientName(const QString& name) void QXmppVersionManager::setClientVersion(const QString& version) { - m_clientVersion = version; + d->clientVersion = version; } /// Sets the local XMPP client's operating system. @@ -125,7 +139,7 @@ void QXmppVersionManager::setClientVersion(const QString& version) void QXmppVersionManager::setClientOs(const QString& os) { - m_clientOs = os; + d->clientOs = os; } /// Returns the local XMPP client's name. @@ -135,7 +149,7 @@ void QXmppVersionManager::setClientOs(const QString& os) QString QXmppVersionManager::clientName() const { - return m_clientName; + return d->clientName; } /// Returns the local XMPP client's version. @@ -145,7 +159,7 @@ QString QXmppVersionManager::clientName() const QString QXmppVersionManager::clientVersion() const { - return m_clientVersion; + return d->clientVersion; } /// Returns the local XMPP client's operating system. @@ -155,5 +169,5 @@ QString QXmppVersionManager::clientVersion() const QString QXmppVersionManager::clientOs() const { - return m_clientOs; + return d->clientOs; } diff --git a/src/client/QXmppVersionManager.h b/src/client/QXmppVersionManager.h index 875043f6..e92f2a7e 100644 --- a/src/client/QXmppVersionManager.h +++ b/src/client/QXmppVersionManager.h @@ -27,6 +27,7 @@ #include "QXmppClientExtension.h" class QXmppVersionIq; +class QXmppVersionManagerPrivate; /// \brief The QXmppVersionManager class makes it possible to request for /// the software version of an entity as defined by XEP-0092: Software Version. @@ -39,6 +40,8 @@ class QXMPP_EXPORT QXmppVersionManager : public QXmppClientExtension public: QXmppVersionManager(); + ~QXmppVersionManager(); + QString requestVersion(const QString& jid); void setClientName(const QString&); @@ -59,9 +62,7 @@ signals: void versionReceived(const QXmppVersionIq&); private: - QString m_clientName; - QString m_clientVersion; - QString m_clientOs; + QXmppVersionManagerPrivate *d; }; #endif // QXMPPVERSIONMANAGER_H |
