--- a/libpurple/protocols/jabber/disco.h Sat May 16 18:37:14 2009 +0000 +++ b/libpurple/protocols/jabber/disco.h Sat May 16 19:07:31 2009 +0000 @@ -1,5 +1,5 @@ /** - * @file disco.h service discovery handlers + * @file disco.h Jabber Service Discovery * * purple * @@ -24,9 +24,18 @@ #include "jabber.h" +typedef struct _JabberDiscoItem { + const char *jid; /* MUST */ + const char *node; /* SHOULD */ + const char *name; /* MAY */ +} JabberDiscoItem; + typedef void (JabberDiscoInfoCallback)(JabberStream *js, const char *who, JabberCapabilities capabilities, gpointer data); +typedef void (JabberDiscoItemsCallback)(JabberStream *js, const char *jid, + const char *node, GSList *items, gpointer data); + void jabber_disco_info_parse(JabberStream *js, const char *from, JabberIqType type, const char *id, xmlnode *in_query); void jabber_disco_items_parse(JabberStream *js, const char *from, @@ -37,4 +46,10 @@ void jabber_disco_info_do(JabberStream *js, const char *who, JabberDiscoInfoCallback *callback, gpointer data); +PurpleDiscoList *jabber_disco_get_list(PurpleConnection *gc); + +void jabber_disco_items_do(JabberStream *js, const char *jid, const char *node, + JabberDiscoItemsCallback *callback, gpointer data); +void jabber_disco_item_free(JabberDiscoItem *); + #endif /* PURPLE_JABBER_DISCO_H_ */