20 #include "iqhandler.h"
21 #include "disconodehandler.h"
61 void addFeature(
const std::string& feature );
68 void removeFeature(
const std::string& feature );
87 void getDiscoInfo(
const JID& to,
const std::string& node,
DiscoHandler *dh,
int context,
88 const std::string& tid =
"" );
101 void getDiscoItems(
const JID& to,
const std::string& node,
DiscoHandler *dh,
int context,
102 const std::string& tid =
"" );
112 void setVersion(
const std::string& name,
const std::string& version,
const std::string& os =
"" );
123 void setIdentity(
const std::string& category,
const std::string& type );
158 virtual bool handleIq(
Stanza *stanza );
161 virtual bool handleIqID(
Stanza *stanza,
int context );
173 struct DiscoHandlerContext
179 ClientBase *m_parent;
181 typedef std::list<DiscoHandler*> DiscoHandlerList;
182 typedef std::list<DiscoNodeHandler*> DiscoNodeHandlerList;
183 typedef std::map<std::string, DiscoNodeHandlerList> DiscoNodeHandlerMap;
184 typedef std::map<std::string, DiscoHandlerContext> DiscoHandlerMap;
185 typedef std::list<DiscoItem*> ItemList;
187 DiscoHandlerList m_discoHandlers;
188 DiscoNodeHandlerMap m_nodeHandlers;
189 DiscoHandlerMap m_track;
194 std::string m_versionName;
195 std::string m_versionVersion;
196 std::string m_versionOs;
197 std::string m_identityCategory;
198 std::string m_identityType;