Mercurial > pidgin.yaz
diff src/protocols/bonjour/dns_sd.h @ 11477:36f575351c49
[gaim-migrate @ 13719]
Commit the Bonjour code from oldstatus to HEAD. It hasn't been
updated for the new status code yet.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 09 Sep 2005 12:34:27 +0000 |
parents | |
children | 3f038da50a18 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/protocols/bonjour/dns_sd.h Fri Sep 09 12:34:27 2005 +0000 @@ -0,0 +1,82 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef _BONJOUR_DNS_SD +#define _BONJOUR_DNS_SD + +#include <howl.h> +#include <glib.h> +#include "account.h" + +#define BONJOUR_DEFAULT_PORT "5298" +#define BONJOUR_DEFAULT_PORT_INT 5298 +#define ICHAT_SERVICE "_presence._tcp." + +/** + * Data to be used by the dns-sd connection. + */ +typedef struct _bonjour_dns_sd{ + sw_discovery* session; + sw_discovery_oid session_id; + GaimAccount* account; + gchar* name; + gchar* txtvers; + gchar* version; + gchar* first; + gchar* last; + gint port_p2pj; + gchar* phsh; + gchar* status; + gchar* email; + gchar* vc; + gchar* jid; + gchar* AIM; + gchar* msg; + GHashTable* buddies; +}BonjourDnsSd; + +typedef enum _PublishType{ + PUBLISH_START, + PUBLISH_UPDATE +}PublishType; + +/** + * Allocate space for the dns-sd data. + */ +BonjourDnsSd* bonjour_dns_sd_new(); + +/** + * Deallocate the space of the dns-sd data. + */ +void bonjour_dns_sd_free(BonjourDnsSd* data); + +/** + * Send a new dns-sd packet updating our status. + */ +void bonjour_dns_sd_send_status(BonjourDnsSd* data, char* status, const char* status_message); + +/** + * Advertise our presence within the dns-sd daemon and start browsing for other + * bonjour peers. + */ +void bonjour_dns_sd_start(BonjourDnsSd* data); + +/** + * Unregister the "_presence._tcp" service at the mDNS daemon. + */ +int bonjour_dns_sd_stop(BonjourDnsSd* data); + +#endif