Tue, 31 Mar 2009 05:18:09 +0000
Make the prpl be in charge of creating the PurpleDiscoList; UI data is
allocated via ops->create.
When the prpl sets protocol data, it also passed in a close_cb which is called
when destroying the struct to clean up the protocol data.
This still works, but I've introduced some bugs with cancelling the disco or
closing the GtkDisco dialog
| 8312 | 1 | /** |
|
26583
e115c7ef2fcf
Applied disco-2.patch from nops with some modifications:
Paul Aurich <darkrain42@pidgin.im>
parents:
19859
diff
changeset
|
2 | * @file disco.h Jabber Service Discovery |
| 8312 | 3 | * |
| 15884 | 4 | * purple |
| 8312 | 5 | * |
| 6 | * Copyright (C) 2003 Nathan Walp <faceprint@faceprint.com> | |
| 7 | * | |
| 8 | * This program is free software; you can redistribute it and/or modify | |
| 9 | * it under the terms of the GNU General Public License as published by | |
| 10 | * the Free Software Foundation; either version 2 of the License, or | |
| 11 | * (at your option) any later version. | |
| 12 | * | |
| 13 | * This program is distributed in the hope that it will be useful, | |
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 16 | * GNU General Public License for more details. | |
| 17 | * | |
| 18 | * You should have received a copy of the GNU General Public License | |
| 19 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
15884
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 8312 | 21 | */ |
| 15884 | 22 | #ifndef _PURPLE_JABBER_DISCO_H_ |
| 23 | #define _PURPLE_JABBER_DISCO_H_ | |
| 8312 | 24 | |
| 25 | #include "jabber.h" | |
| 26 | ||
| 27 | typedef void (JabberDiscoInfoCallback)(JabberStream *js, const char *who, | |
| 28 | JabberCapabilities capabilities, gpointer data); | |
| 29 | ||
| 30 | void jabber_disco_info_parse(JabberStream *js, xmlnode *packet); | |
| 31 | void jabber_disco_items_parse(JabberStream *js, xmlnode *packet); | |
| 32 | ||
| 33 | void jabber_disco_items_server(JabberStream *js); | |
| 34 | ||
| 35 | void jabber_disco_info_do(JabberStream *js, const char *who, | |
| 36 | JabberDiscoInfoCallback *callback, gpointer data); | |
| 37 | ||
|
26590
689f6f3b4d8a
Make the prpl be in charge of creating the PurpleDiscoList; UI data is
Paul Aurich <darkrain42@pidgin.im>
parents:
26583
diff
changeset
|
38 | PurpleDiscoList *jabber_disco_get_list(PurpleConnection *gc); |
|
26583
e115c7ef2fcf
Applied disco-2.patch from nops with some modifications:
Paul Aurich <darkrain42@pidgin.im>
parents:
19859
diff
changeset
|
39 | void jabber_disco_cancel(PurpleDiscoList *list); |
|
e115c7ef2fcf
Applied disco-2.patch from nops with some modifications:
Paul Aurich <darkrain42@pidgin.im>
parents:
19859
diff
changeset
|
40 | |
|
e115c7ef2fcf
Applied disco-2.patch from nops with some modifications:
Paul Aurich <darkrain42@pidgin.im>
parents:
19859
diff
changeset
|
41 | int jabber_disco_service_register(PurpleConnection *gc, PurpleDiscoService *service); |
|
e115c7ef2fcf
Applied disco-2.patch from nops with some modifications:
Paul Aurich <darkrain42@pidgin.im>
parents:
19859
diff
changeset
|
42 | |
| 15884 | 43 | #endif /* _PURPLE_JABBER_DISCO_H_ */ |