Hi Rajesh,
treat with it like a normal std Map object, i.e. access values with ["key"].
See e.g. code snippet that runs QMF query to a broker for a given queue's
parameters and prints out the result (as Variant::Map):
std::string queue_string = "org.apache.qpid.broker:queue:MyQueueName";
Connection connection("localhost:5672");
connection.open();
Session session = connection.createSession();
Address responseAddress("#reply;{create:always, delete:always,
node:{type:queue}}");
Receiver responseReceiver = session.createReceiver(responseAddress);
responseReceiver.setCapacity(100);
Sender requestSender = session.createSender("qmf.default.direct/broker");
Variant::Map objectId;
objectId["_object_name"] = queue_string;
Variant::Map request;
request["_what"] = "OBJECT";
request["_object_id"] = objectId;
Message requestMessage;
encode(request, requestMessage);
requestMessage.setReplyTo(responseAddress);
requestMessage.setProperty("x-amqp-0-10.app-id", "qmf2");
requestMessage.setProperty("qmf.opcode", "_query_request");
requestSender.send(requestMessage);
Message response;
while (responseReceiver.fetch(response, Duration::SECOND))
{
Variant::List responseContent;
decode(response, responseContent);
for (Variant::List::iterator i = responseContent.begin(); i !=
responseContent.end(); ++i)
{
Variant::Map values = (i->asMap()["_values"]).asMap();
std::cout << values << std::endl;
}
}
Kind regards,
Pavel Moravec
----- Original Message -----
> From: "Rajesh Khan" <[email protected]>
> To: [email protected]
> Sent: Tuesday, February 19, 2013 8:26:14 AM
> Subject: cant read property of message in C++
>
> I know in C# i could read properties like
> properties["propname"].ToString();
> However in C++ I could set a property but getproperties in c++
> returns a
> reference to qpid::types::Variant::Map any suggestions on how I could
> set
> it ?
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]