From 54d74cae03eb014d40884df07296033970fb45ad Mon Sep 17 00:00:00 2001 From: fuCtor Date: Sun, 26 Feb 2012 01:42:10 -0800 Subject: [PATCH] --- README.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/README.md b/README.md index abb4013..25723fb 100644 --- a/README.md +++ b/README.md @@ -59,3 +59,48 @@ work with basic content * getok - provide client with a message * getempty - indicate no messages available * ack - acknowledge one or more messages + +Usage +------------ + +`Test::Test() +{ + QUrl con(QString("amqp://guest:guest@localhost:5672/")); + client_ = new QAMQP::Client(this); + client_->open(con); + exchange_ = client_->createExchange("test.test2"); + exchange_->declare("fanout"); + + queue_ = client_->createQueue("test.my_queue", exchange_->channelNumber()); + queue_->declare(); + exchange_->bind(queue_); + + connect(queue_, SIGNAL(declared()), this, SLOT(declared())); + connect(queue_, SIGNAL(messageRecieved()), this, SLOT(newMessage())); + +} + +void Test::declared() +{ + exchange_->publish("Hello world", exchange_->name()); + queue_->setQOS(0,10); + queue_->setConsumerTag("qamqp-consumer"); + queue_->consume(QAMQP::Queue::coNoAck); +} + +void Test::newMessage() +{ + QAMQP::Queue * q = qobject_cast(sender()); + while (q->hasMessage()) + { + QAMQP::MessagePtr message = q->getMessage(); + qDebug("+ RECEIVE MESSAGE"); + qDebug("| Exchange-name: %s", qPrintable(message->exchangeName)); + qDebug("| Routing-key: %s", qPrintable(message->routeKey)); + qDebug("| Content-type: %s", qPrintable(message->property[QAMQP::Frame::Content::cpContentType].toString())); + if(!q->noAck()) + { + q->ack(message); + } + } +}`