如何通过gloox lib获取活动房间列表?

时间:2012-04-23 02:31:09

标签: c++ xmpp multi-user gloox

我正在使用gloox 1.0编写一个基于xmpp的聊天客户端。我无法找到使用gloox获取服务器上的活动房间列表的方法(其他用户创建的房间)。我使用openfire作为我的本地服务器。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您需要创建一个Disco对象和一个继承DiscoHandler的自定义类。

要查询您拨打getDiscoItems(muc_server_jid, ...)的列表。您的DiscoHandler应该实现handleDiscoItems(),它会收到Disco::Items个对象items

您可以使用items.itemList()获取指向std::list个对象的Disco::Item个指针。对于每个Disco :: Item,您可以调用item.jid()和item.name()来获取房间的地址和(可选)名称。