fix windows build
- add equality operator to QAMQP::Message - add qHash for QAMQP::Message... because MSVC
This commit is contained in:
parent
84746ff77c
commit
7e151dfc7b
|
|
@ -11,7 +11,7 @@ contains(QAMQP_LIBRARY_TYPE, staticlib) {
|
||||||
DEFINES += QAMQP_STATIC
|
DEFINES += QAMQP_STATIC
|
||||||
} else {
|
} else {
|
||||||
DEFINES += QAMQP_SHARED
|
DEFINES += QAMQP_SHARED
|
||||||
win32:QAMQP_LIBS = -lqamqp1
|
win32:QAMQP_LIBS = -lqamqp0
|
||||||
}
|
}
|
||||||
|
|
||||||
isEmpty(PREFIX) {
|
isEmpty(PREFIX) {
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@
|
||||||
# include <QSslError>
|
# include <QSslError>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "qamqpglobal.h"
|
||||||
|
#include "qamqpauthenticator.h"
|
||||||
#include "qamqptable.h"
|
#include "qamqptable.h"
|
||||||
#include "qamqpframe_p.h"
|
#include "qamqpframe_p.h"
|
||||||
|
|
||||||
|
|
@ -27,7 +29,7 @@ class Exchange;
|
||||||
class Network;
|
class Network;
|
||||||
class Connection;
|
class Connection;
|
||||||
class Authenticator;
|
class Authenticator;
|
||||||
class ClientPrivate : public Frame::MethodHandler
|
class QAMQP_EXPORT ClientPrivate : public Frame::MethodHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum MethodId {
|
enum MethodId {
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
#include <QHash>
|
||||||
|
|
||||||
#include "qamqpmessage.h"
|
#include "qamqpmessage.h"
|
||||||
#include "qamqpmessage_p.h"
|
#include "qamqpmessage_p.h"
|
||||||
using namespace QAMQP;
|
using namespace QAMQP;
|
||||||
|
|
@ -30,6 +32,21 @@ Message &Message::operator=(const Message &other)
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Message::operator==(const Message &message) const
|
||||||
|
{
|
||||||
|
if (message.d == d)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return (message.d->deliveryTag == d->deliveryTag &&
|
||||||
|
message.d->redelivered == d->redelivered &&
|
||||||
|
message.d->exchangeName == d->exchangeName &&
|
||||||
|
message.d->routingKey == d->routingKey &&
|
||||||
|
message.d->payload == d->payload &&
|
||||||
|
message.d->properties == d->properties &&
|
||||||
|
message.d->headers == d->headers &&
|
||||||
|
message.d->leftSize == d->leftSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Message::isValid() const
|
bool Message::isValid() const
|
||||||
{
|
{
|
||||||
return d->deliveryTag != 0 &&
|
return d->deliveryTag != 0 &&
|
||||||
|
|
@ -91,3 +108,13 @@ QVariant Message::header(const QString &header, const QVariant &defaultValue) co
|
||||||
{
|
{
|
||||||
return d->headers.value(header, defaultValue);
|
return d->headers.value(header, defaultValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint qHash(const QAMQP::Message &message, uint seed)
|
||||||
|
{
|
||||||
|
Q_UNUSED(seed);
|
||||||
|
return qHash(message.deliveryTag()) ^
|
||||||
|
qHash(message.isRedelivered()) ^
|
||||||
|
qHash(message.exchangeName()) ^
|
||||||
|
qHash(message.routingKey()) ^
|
||||||
|
qHash(message.payload());
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,9 @@ public:
|
||||||
Message &operator=(const Message &other);
|
Message &operator=(const Message &other);
|
||||||
~Message();
|
~Message();
|
||||||
|
|
||||||
|
bool operator==(const Message &message) const;
|
||||||
|
inline bool operator!=(const Message &message) const { return !(operator==(message)); }
|
||||||
|
|
||||||
enum Property {
|
enum Property {
|
||||||
ContentType = AMQP_BASIC_CONTENT_TYPE_FLAG,
|
ContentType = AMQP_BASIC_CONTENT_TYPE_FLAG,
|
||||||
ContentEncoding = AMQP_BASIC_CONTENT_ENCODING_FLAG,
|
ContentEncoding = AMQP_BASIC_CONTENT_ENCODING_FLAG,
|
||||||
|
|
@ -65,4 +68,7 @@ private:
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(QAMQP::Message::PropertyHash)
|
Q_DECLARE_METATYPE(QAMQP::Message::PropertyHash)
|
||||||
|
|
||||||
|
// NOTE: needed only for MSVC support, don't depend on this hash
|
||||||
|
QAMQP_EXPORT uint qHash(const QAMQP::Message &key, uint seed = 0);
|
||||||
|
|
||||||
#endif // QAMQPMESSAGE_H
|
#endif // QAMQPMESSAGE_H
|
||||||
|
|
|
||||||
|
|
@ -548,3 +548,5 @@ bool Queue::cancel(bool noWait)
|
||||||
d->sendFrame(frame);
|
d->sendFrame(frame);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include "moc_qamqpqueue.cpp"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue