Mercurial > pidgin.yaz
diff libpurple/dnssrv.h @ 26738:a8dbbcd069ab
propagate from branch 'im.pidgin.pidgin' (head 53303438f1a2d586d17f7efc61cba0bee2329a25)
to branch 'im.pidgin.cpw.darkrain42.xmpp.bosh' (head e6ffb2168588f0ef3faeb34d3beceb030eb89183)
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sat, 18 Apr 2009 17:43:55 +0000 |
parents | acee7d2b1983 |
children | 3e516701dd33 |
line wrap: on
line diff
--- a/libpurple/dnssrv.h Sat Apr 18 14:03:16 2009 +0000 +++ b/libpurple/dnssrv.h Sat Apr 18 17:43:55 2009 +0000 @@ -28,8 +28,11 @@ extern "C" { #endif +typedef struct _PurpleSrvQueryData PurpleSrvQueryData; typedef struct _PurpleSrvResponse PurpleSrvResponse; -typedef struct _PurpleSrvQueryData PurpleSrvQueryData; +typedef struct _PurpleTxtResponse PurpleTxtResponse; + +#include <glib.h> struct _PurpleSrvResponse { char hostname[256]; @@ -41,6 +44,14 @@ typedef void (*PurpleSrvCallback)(PurpleSrvResponse *resp, int results, gpointer data); /** + * Callback that returns the data retrieved from a DNS TXT lookup. + * + * @param responses A GSList of PurpleTxtResponse objects. + * @param data The extra data passed to purple_txt_resolve. + */ +typedef void (*PurpleTxtCallback)(GSList *responses, gpointer data); + +/** * Queries an SRV record. * * @param protocol Name of the protocol (e.g. "sip") @@ -58,6 +69,43 @@ */ void purple_srv_cancel(PurpleSrvQueryData *query_data); +/** + * Queries an TXT record. + * + * @param owner Name of the protocol (e.g. "_xmppconnect") + * @param domain Domain name to query (e.g. "blubb.com") + * @param cb A callback which will be called with the results + * @param extradata Extra data to be passed to the callback + * + * @since 2.6.0 + */ +PurpleSrvQueryData *purple_txt_resolve(const char *owner, const char *domain, PurpleTxtCallback cb, gpointer extradata); + +/** + * Cancel an TXT DNS query. + * + * @param query_data The request to cancel. + * @since 2.6.0 + */ +void purple_txt_cancel(PurpleSrvQueryData *query_data); + +/** + * Get the value of the current TXT record. + * + * @param resp The TXT response record + * @returns The value of the current TXT record. + * @since 2.6.0 + */ +const gchar *purple_txt_response_get_content(PurpleTxtResponse *resp); + +/** + * Destroy a TXT DNS response object. + * + * @param response The PurpleTxtResponse to destroy. + * @since 2.6.0 + */ +void purple_txt_response_destroy(PurpleTxtResponse *resp); + #ifdef __cplusplus } #endif