add accessors for custom headers

Moved from direct access to a Frame::TableField to accesors to that
data. More readable/useable api for this data.
This commit is contained in:
Matt Broadstone 2014-07-21 16:25:21 -04:00
parent 5c6cd23e10
commit 5d00b2a068
3 changed files with 22 additions and 9 deletions

View File

@ -42,7 +42,7 @@ qlonglong Message::deliveryTag() const
return d->deliveryTag;
}
bool Message::redelivered() const
bool Message::isRedelivered() const
{
return d->redelivered;
}
@ -62,11 +62,6 @@ QByteArray Message::payload() const
return d->payload;
}
Frame::TableField Message::headers() const
{
return d->headers;
}
bool Message::hasProperty(Property property) const
{
return d->properties.contains(property);
@ -81,3 +76,18 @@ QVariant Message::property(Property property, const QVariant &defaultValue) cons
{
return d->properties.value(property, defaultValue);
}
bool Message::hasHeader(const QString &header) const
{
return d->headers.contains(header);
}
void Message::setHeader(const QString &header, const QVariant &value)
{
d->headers.insert(header, value);
}
QVariant Message::header(const QString &header, const QVariant &defaultValue) const
{
return d->headers.value(header, defaultValue);
}

View File

@ -42,14 +42,17 @@ public:
void setProperty(Property property, const QVariant &value);
QVariant property(Property property, const QVariant &defaultValue = QString()) const;
bool hasHeader(const QString &header) const;
void setHeader(const QString &header, const QVariant &value);
QVariant header(const QString &header, const QVariant &defaultValue = QString()) const;
bool isValid() const;
bool isRedelivered() const;
qlonglong deliveryTag() const;
bool redelivered() const;
QString exchangeName() const;
QString routingKey() const;
QByteArray payload() const;
Frame::TableField headers() const;
private:
QSharedDataPointer<MessagePrivate> d;

View File

@ -20,7 +20,7 @@ public:
QString routingKey;
QByteArray payload;
QHash<Message::Property, QVariant> properties;
Frame::TableField headers;
QHash<QString, QVariant> headers;
int leftSize;
};