AdHocCommand 是XMPP协议中 XEP-0050规定的,具体参考http://xmpp.org/extensions/xep-0050.html
Qxmpp 是一个基于Qt的非常优秀的 xmpp协议客户端实现。 参考https://code.google.com/p/qxmpp/
但是QXmpp中没有实现 XEP-0050 ,但是在gloox 和 leechcraft 中是实现了的。https://github.com/0xd34df00d/leechcraft
并且leechcraft 的底层也是基于qxmpp,因此我们把leechcraft中的相关代码拿过来,就可以部分实现 XEP-0050
相关资源见:
http://download.csdn.net/detail/v6543210/7097099
使用方法:
#include "adhoccommandmanager.h"
QXmppClient *client =(QXmppClient*)msg->getGlooxClient();
AdHocCommandManager* commandManager = client->findExtension<AdHocCommandManager>();
if(!commandManager)//检查AdHocCommandManager插件有没有加载
{
commandManager = new AdHocCommandManager;
client->addExtension(commandManager);
}