diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-07-12 15:19:04 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-07-12 15:19:04 +0000 |
| commit | a146cc34334ab73808a5c6cf8ae0193a5810e891 (patch) | |
| tree | 33e09019e6ae5849678697996151822c8fd741a8 /source | |
| parent | 60c294df8efa73c24f4c7b304479f646d5d17b2a (diff) | |
| download | qxmpp-a146cc34334ab73808a5c6cf8ae0193a5810e891.tar.gz | |
use QFlags for safe access to supported transfer methods
Diffstat (limited to 'source')
| -rw-r--r-- | source/QXmppTransferManager.cpp | 8 | ||||
| -rw-r--r-- | source/QXmppTransferManager.h | 9 |
2 files changed, 10 insertions, 7 deletions
diff --git a/source/QXmppTransferManager.cpp b/source/QXmppTransferManager.cpp index 29348167..cfc4a491 100644 --- a/source/QXmppTransferManager.cpp +++ b/source/QXmppTransferManager.cpp @@ -954,7 +954,7 @@ QXmppTransferJob *QXmppTransferManager::sendFile(const QString &jid, QIODevice * } // check we support some methods - if (m_supportedMethods == QXmppTransferJob::NoMethod) + if (!m_supportedMethods) { job->terminate(QXmppTransferJob::ProtocolError); return job; @@ -1325,7 +1325,7 @@ void QXmppTransferManager::setProxyOnly(bool proxyOnly) /// The methods are a combination of zero or more QXmppTransferJob::Method. /// -int QXmppTransferManager::supportedMethods() const +QXmppTransferJob::Methods QXmppTransferManager::supportedMethods() const { return m_supportedMethods; } @@ -1337,7 +1337,7 @@ int QXmppTransferManager::supportedMethods() const /// QXmppTransferJob::Method. /// -void QXmppTransferManager::setSupportedMethods(int methods) +void QXmppTransferManager::setSupportedMethods(QXmppTransferJob::Methods methods) { - m_supportedMethods = (methods & QXmppTransferJob::AnyMethod); + m_supportedMethods = methods; } diff --git a/source/QXmppTransferManager.h b/source/QXmppTransferManager.h index 2a4642c0..59fba3c9 100644 --- a/source/QXmppTransferManager.h +++ b/source/QXmppTransferManager.h @@ -102,6 +102,7 @@ public: SocksMethod = 2, ///< XEP-0065: SOCKS5 Bytestreams AnyMethod = 3, ///< Any supported transfer method. }; + Q_DECLARE_FLAGS(Methods, Method) enum State { @@ -216,8 +217,8 @@ public: bool proxyOnly() const; void setProxyOnly(bool proxyOnly); - int supportedMethods() const; - void setSupportedMethods(int methods); + QXmppTransferJob::Methods supportedMethods() const; + void setSupportedMethods(QXmppTransferJob::Methods methods); signals: /// This signal is emitted when a new file transfer offer is received. @@ -261,7 +262,9 @@ private: QString m_proxy; bool m_proxyOnly; QXmppSocksServer *m_socksServer; - int m_supportedMethods; + QXmppTransferJob::Methods m_supportedMethods; }; +Q_DECLARE_OPERATORS_FOR_FLAGS(QXmppTransferJob::Methods) + #endif |
