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