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
|
||||
} else {
|
||||
DEFINES += QAMQP_SHARED
|
||||
win32:QAMQP_LIBS = -lqamqp1
|
||||
win32:QAMQP_LIBS = -lqamqp0
|
||||
}
|
||||
|
||||
isEmpty(PREFIX) {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@
|
|||
# include <QSslError>
|
||||
#endif
|
||||
|
||||
#include "qamqpglobal.h"
|
||||
#include "qamqpauthenticator.h"
|
||||
#include "qamqptable.h"
|
||||
#include "qamqpframe_p.h"
|
||||
|
||||
|
|
@ -27,7 +29,7 @@ class Exchange;
|
|||
class Network;
|
||||
class Connection;
|
||||
class Authenticator;
|
||||
class ClientPrivate : public Frame::MethodHandler
|
||||
class QAMQP_EXPORT ClientPrivate : public Frame::MethodHandler
|
||||
{
|
||||
public:
|
||||
enum MethodId {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
#include <QHash>
|
||||
|
||||
#include "qamqpmessage.h"
|
||||
#include "qamqpmessage_p.h"
|
||||
using namespace QAMQP;
|
||||
|
|
@ -30,6 +32,21 @@ Message &Message::operator=(const Message &other)
|
|||
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
|
||||
{
|
||||
return d->deliveryTag != 0 &&
|
||||
|
|
@ -91,3 +108,13 @@ QVariant Message::header(const QString &header, const QVariant &defaultValue) co
|
|||
{
|
||||
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();
|
||||
|
||||
bool operator==(const Message &message) const;
|
||||
inline bool operator!=(const Message &message) const { return !(operator==(message)); }
|
||||
|
||||
enum Property {
|
||||
ContentType = AMQP_BASIC_CONTENT_TYPE_FLAG,
|
||||
ContentEncoding = AMQP_BASIC_CONTENT_ENCODING_FLAG,
|
||||
|
|
@ -65,4 +68,7 @@ private:
|
|||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -548,3 +548,5 @@ bool Queue::cancel(bool noWait)
|
|||
d->sendFrame(frame);
|
||||
return true;
|
||||
}
|
||||
|
||||
#include "moc_qamqpqueue.cpp"
|
||||
|
|
|
|||
Loading…
Reference in New Issue