aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-07-12 15:19:04 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-07-12 15:19:04 +0000
commita146cc34334ab73808a5c6cf8ae0193a5810e891 (patch)
tree33e09019e6ae5849678697996151822c8fd741a8 /source
parent60c294df8efa73c24f4c7b304479f646d5d17b2a (diff)
downloadqxmpp-a146cc34334ab73808a5c6cf8ae0193a5810e891.tar.gz
use QFlags for safe access to supported transfer methods
Diffstat (limited to 'source')
-rw-r--r--source/QXmppTransferManager.cpp8
-rw-r--r--source/QXmppTransferManager.h9
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