libpurple/protocols.h

Wed, 20 Jun 2018 02:13:44 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Wed, 20 Jun 2018 02:13:44 -0400
changeset 39181
f0cd633d86d4
parent 38859
ed15916ec9ed
child 39480
5e089a52b01b
permissions
-rw-r--r--

prefs: Add binding versions of pref widget functions.

These just bind settings to existing widgets and copy the saved value to
the widget, except for combos which are produced from runtime lists.
Those are populated in a similar way as before.

There are some extra _bind_ words that will probably be dropped once the
other functions are unused.

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19907
diff changeset
1 /* purple
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7999
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7999
diff changeset
5 * source distribution.
6451
2ff17ce330d8 [gaim-migrate @ 6960]
Christian Hammond <chipx86@chipx86.com>
parents: 6418
diff changeset
6 *
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 * (at your option) any later version.
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 * GNU General Public License for more details.
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 * 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: 19641
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 */
35487
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
21
37094
84873ce721dc Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 35487 37090
diff changeset
22 #ifndef _PURPLE_PROTOCOLS_H_
84873ce721dc Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 35487 37090
diff changeset
23 #define _PURPLE_PROTOCOLS_H_
37060
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
24 /**
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
25 * SECTION:protocols
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
26 * @section_id: libpurple-protocols
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
27 * @short_description: <filename>protocols.h</filename>
37062
f9b1a70fb9d6 Fix case in protocol(s).h
Ankit Vani <a@nevitus.org>
parents: 37060
diff changeset
28 * @title: Protocols Subsystem API
37060
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
29 * @see_also: <link linkend="chapter-signals-protocol">Protocol signals</link>
e5206d7698e5 Add section blocks for plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37059
diff changeset
30 */
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31
36627
a3b0d16f69ef Added error argument to protocol add/remove funcs, along with checks to ensure protocol being added/removed is valid
Ankit Vani <a@nevitus.org>
parents: 36624
diff changeset
32 #define PURPLE_PROTOCOLS_DOMAIN (g_quark_from_static_string("protocols"))
a3b0d16f69ef Added error argument to protocol add/remove funcs, along with checks to ensure protocol being added/removed is valid
Ankit Vani <a@nevitus.org>
parents: 36624
diff changeset
33
36554
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
34 #define PURPLE_TYPE_PROTOCOL_ACTION (purple_protocol_action_get_type())
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
35
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
36 typedef struct _PurpleProtocolAction PurpleProtocolAction;
38745
f4376b1f4682 A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents: 38716
diff changeset
37 typedef void (*PurpleProtocolActionCallback)(PurpleProtocolAction *action);
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
38
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
39 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35471
diff changeset
40 /* Basic Protocol Information */
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
41 /**************************************************************************/
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
42
36563
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
43 typedef struct _PurpleProtocolChatEntry PurpleProtocolChatEntry;
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9584
diff changeset
44
6622
277eb0b14653 [gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents: 6451
diff changeset
45 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
46 * PurpleProtocolOptions:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
47 * @OPT_PROTO_UNIQUE_CHATNAME: User names are unique to a chat and are not
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
48 * shared between rooms.<sbr/>
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
49 * XMPP lets you choose what name you want in chats, so it shouldn't
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
50 * be pulling the aliases from the buddy list for the chat list; it
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
51 * gets annoying.
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
52 * @OPT_PROTO_CHAT_TOPIC: Chat rooms have topics.<sbr/>
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
53 * IRC and XMPP support this.
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
54 * @OPT_PROTO_NO_PASSWORD: Don't require passwords for sign-in.<sbr/>
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
55 * Zephyr doesn't require passwords, so there's no need for a
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
56 * password prompt.
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
57 * @OPT_PROTO_MAIL_CHECK: Notify on new mail.<sbr/>
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
58 * MSN and Yahoo notify you when you have new mail.
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
59 * @OPT_PROTO_PASSWORD_OPTIONAL: Allow passwords to be optional.<sbr/>
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
60 * Passwords in IRC are optional, and are needed for certain
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
61 * functionality.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
62 * @OPT_PROTO_USE_POINTSIZE: Allows font size to be specified in sane point
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
63 * size.<sbr/>
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
64 * Probably just XMPP and Y!M
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
65 * @OPT_PROTO_REGISTER_NOSCREENNAME: Set the Register button active even when
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
66 * the username has not been specified.<sbr/>
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
67 * Gadu-Gadu doesn't need a username to register new account (because
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
68 * usernames are assigned by the server).
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
69 * @OPT_PROTO_SLASH_COMMANDS_NATIVE: Indicates that slash commands are native
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
70 * to this protocol.<sbr/>
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
71 * Used as a hint that unknown commands should not be sent as
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
72 * messages.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
73 * @OPT_PROTO_INVITE_MESSAGE: Indicates that this protocol supports sending a
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
74 * user-supplied message along with an invitation.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
75 * @OPT_PROTO_AUTHORIZATION_GRANTED_MESSAGE: Indicates that this protocol
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
76 * supports sending a user-supplied message along with an
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
77 * authorization acceptance.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
78 * @OPT_PROTO_AUTHORIZATION_DENIED_MESSAGE: Indicates that this protocol
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
79 * supports sending a user-supplied message along with an
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
80 * authorization denial.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
81 *
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
82 * Protocol options
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
83 *
36551
8988e6e21acb Started GObjectification of protocols - added PurpleProtocol, PurpleProtocolClass, PurpleProtocolInterface.
Ankit Vani <a@nevitus.org>
parents: 36545
diff changeset
84 * These should all be stuff that some protocols can do and others can't.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
85 */
36686
9807e4acf281 Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents: 36659
diff changeset
86 typedef enum /*< flags >*/
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
87 {
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
88 OPT_PROTO_UNIQUE_CHATNAME = 0x00000004,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
89 OPT_PROTO_CHAT_TOPIC = 0x00000008,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
90 OPT_PROTO_NO_PASSWORD = 0x00000010,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
91 OPT_PROTO_MAIL_CHECK = 0x00000020,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
92 OPT_PROTO_PASSWORD_OPTIONAL = 0x00000080,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
93 OPT_PROTO_USE_POINTSIZE = 0x00000100,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
94 OPT_PROTO_REGISTER_NOSCREENNAME = 0x00000200,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
95 OPT_PROTO_SLASH_COMMANDS_NATIVE = 0x00000400,
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
96 OPT_PROTO_INVITE_MESSAGE = 0x00000800,
33696
b210b3afb63d Add some prpl flags to indicate support for auth response messages.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33568
diff changeset
97 OPT_PROTO_AUTHORIZATION_GRANTED_MESSAGE = 0x00001000,
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
98 OPT_PROTO_AUTHORIZATION_DENIED_MESSAGE = 0x00002000
18092
1a2362194473 Mostly taken from the patch on ticket #410, don't send unknown slash
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17392
diff changeset
99
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
100 } PurpleProtocolOptions;
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
101
36628
3d43ca8d69ee Refactored the protocols to use the error argument of purple_protocols_{add/remove}
Ankit Vani <a@nevitus.org>
parents: 36627
diff changeset
102 #include "media.h"
36581
09d5842255a2 Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents: 36571
diff changeset
103 #include "protocol.h"
36628
3d43ca8d69ee Refactored the protocols to use the error argument of purple_protocols_{add/remove}
Ankit Vani <a@nevitus.org>
parents: 36627
diff changeset
104 #include "status.h"
36581
09d5842255a2 Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents: 36571
diff changeset
105
36563
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
106 #define PURPLE_TYPE_PROTOCOL_CHAT_ENTRY (purple_protocol_chat_entry_get_type())
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
107
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
108 /**
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
109 * PurpleProtocolChatEntry:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
110 * @label: User-friendly name of the entry
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
111 * @identifier: Used by the protocol to identify the option
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
112 * @required: True if it's required
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
113 * @is_int: True if the entry expects an integer
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
114 * @min: Minimum value in case of integer
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
115 * @max: Maximum value in case of integer
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
116 * @secret: True if the entry is secret (password)
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
117 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
118 * Represents an entry containing information that must be supplied by the
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
119 * user when joining a chat.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
120 */
36563
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
121 struct _PurpleProtocolChatEntry {
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
122 const char *label;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
123 const char *identifier;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
124 gboolean required;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
125 gboolean is_int;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
126 int min;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
127 int max;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
128 gboolean secret;
36563
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
129 };
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
130
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
131 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
132 * PurpleProtocolAction:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
133 *
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
134 * Represents an action that the protocol can perform. This shows up in the
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
135 * Accounts menu, under a submenu with the name of the account.
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
136 */
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
137 struct _PurpleProtocolAction {
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
138 char *label;
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
139 PurpleProtocolActionCallback callback;
36451
15fb9e64d477 Replaced PurplePluginProtocolInfo* with PurpleConnection* in PurpleProtocolAction
Ankit Vani <a@nevitus.org>
parents: 36423
diff changeset
140 PurpleConnection *connection;
36496
e7fe371c60a6 Refactored jabber to use the new API
Ankit Vani <a@nevitus.org>
parents: 36493
diff changeset
141 gpointer user_data;
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
142 };
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
143
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
144 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5943
diff changeset
145
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
146 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35471
diff changeset
147 /* Attention Type API */
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
148 /**************************************************************************/
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
149
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
150 /**************************************************************************/
37075
cf3f735b09b7 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 35472 37074
diff changeset
151 /* Protocol Action API */
36554
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
152 /**************************************************************************/
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
153
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
154 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
155 * purple_protocol_action_get_type:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
156 *
37073
baf45dc13ffd Fix some gtk-doc warnings in protocol(s).h (not all)
Ankit Vani <a@nevitus.org>
parents: 37072
diff changeset
157 * Returns: The #GType for the #PurpleProtocolAction boxed structure.
36554
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
158 */
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
159 GType purple_protocol_action_get_type(void);
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
160
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
161 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
162 * purple_protocol_action_new:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
163 * @label: The description of the action to show to the user.
37132
f4740b6e7525 Add (scope) annotation to callback parameters in plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37115
diff changeset
164 * @callback: (scope call): The callback to call when the user selects this
f4740b6e7525 Add (scope) annotation to callback parameters in plugins.h, protocol.h, protocols.h
Ankit Vani <a@nevitus.org>
parents: 37115
diff changeset
165 * action.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
166 *
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
167 * Allocates and returns a new PurpleProtocolAction. Use this to add actions in
36493
755de1ce7f07 Update documentation
Ankit Vani <a@nevitus.org>
parents: 36490
diff changeset
168 * a list in the get_actions function of the protocol.
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
169 */
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
170 PurpleProtocolAction *purple_protocol_action_new(const char* label,
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
171 PurpleProtocolActionCallback callback);
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
172
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
173 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
174 * purple_protocol_action_free:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
175 * @action: The PurpleProtocolAction to free.
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
176 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
177 * Frees a PurpleProtocolAction
36487
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
178 */
725e37471387 Make actions a callback again, so that a plugin/protocol can change them
Ankit Vani <a@nevitus.org>
parents: 36471
diff changeset
179 void purple_protocol_action_free(PurpleProtocolAction *action);
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
180
36556
98b761371c33 Organize new functions
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
181 /**************************************************************************/
37090
c45c70779582 Remove @name from new plugin and protocol stuff
Ankit Vani <a@nevitus.org>
parents: 37089
diff changeset
182 /* Protocol Chat Entry API */
36556
98b761371c33 Organize new functions
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
183 /**************************************************************************/
98b761371c33 Organize new functions
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
184
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
185 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
186 * purple_protocol_chat_entry_get_type:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
187 *
37073
baf45dc13ffd Fix some gtk-doc warnings in protocol(s).h (not all)
Ankit Vani <a@nevitus.org>
parents: 37072
diff changeset
188 * Returns: The #GType for the #PurpleProtocolChatEntry boxed structure.
36554
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
189 */
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
190 GType purple_protocol_chat_entry_get_type(void);
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
191
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
192 /**************************************************************************/
37090
c45c70779582 Remove @name from new plugin and protocol stuff
Ankit Vani <a@nevitus.org>
parents: 37089
diff changeset
193 /* Protocol API */
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
194 /**************************************************************************/
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
195
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
196 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
197 * purple_protocol_got_account_idle:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
198 * @account: The account.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
199 * @idle: The user's idle state.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
200 * @idle_time: The user's idle time.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
201 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
202 * Notifies Purple that our account's idle state and time have changed.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
203 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
204 * This is meant to be called from protocols.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
205 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
206 void purple_protocol_got_account_idle(PurpleAccount *account, gboolean idle,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
207 time_t idle_time);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
208
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
209 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
210 * purple_protocol_got_account_login_time:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
211 * @account: The account the user is on.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
212 * @login_time: The user's log-in time.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
213 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
214 * Notifies Purple of our account's log-in time.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
215 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
216 * This is meant to be called from protocols.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
217 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
218 void purple_protocol_got_account_login_time(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
219 time_t login_time);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
220
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
221 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
222 * purple_protocol_got_account_status:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
223 * @account: The account the user is on.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
224 * @status_id: The status ID.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
225 * @...: A NULL-terminated list of attribute IDs and values,
37087
197d965cec97 Fix gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37084
diff changeset
226 * beginning with the value for <literal>attr_id</literal>.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
227 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
228 * Notifies Purple that our account's status has changed.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
229 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
230 * This is meant to be called from protocols.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
231 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
232 void purple_protocol_got_account_status(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
233 const char *status_id, ...)
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
234 G_GNUC_NULL_TERMINATED;
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
235
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
236 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
237 * purple_protocol_got_account_actions:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
238 * @account: The account.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
239 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
240 * Notifies Purple that our account's actions have changed. This is only
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
241 * called after the initial connection. Emits the account-actions-changed
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
242 * signal.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
243 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
244 * This is meant to be called from protocols.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
245 *
35471
a23769351b31 Remove @see
Ankit Vani <a@nevitus.org>
parents: 35468
diff changeset
246 * See <link linkend="accounts-account-actions-changed"><literal>"account-actions-changed"</literal></link>
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
247 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
248 void purple_protocol_got_account_actions(PurpleAccount *account);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
249
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
250 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
251 * purple_protocol_got_user_idle:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
252 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
253 * @name: The name of the buddy.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
254 * @idle: The user's idle state.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
255 * @idle_time: The user's idle time. This is the time at
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
256 * which the user became idle, in seconds since
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
257 * the epoch. If the protocol does not know this value
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
258 * then it should pass 0.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
259 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
260 * Notifies Purple that a buddy's idle state and time have changed.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
261 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
262 * This is meant to be called from protocols.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
263 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
264 void purple_protocol_got_user_idle(PurpleAccount *account, const char *name,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
265 gboolean idle, time_t idle_time);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
266
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
267 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
268 * purple_protocol_got_user_login_time:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
269 * @account: The account the user is on.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
270 * @name: The name of the buddy.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
271 * @login_time: The user's log-in time.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
272 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
273 * Notifies Purple of a buddy's log-in time.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
274 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
275 * This is meant to be called from protocols.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
276 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
277 void purple_protocol_got_user_login_time(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
278 const char *name, time_t login_time);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
279
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
280 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
281 * purple_protocol_got_user_status:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
282 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
283 * @name: The name of the buddy.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
284 * @status_id: The status ID.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
285 * @...: A NULL-terminated list of attribute IDs and values,
37087
197d965cec97 Fix gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37084
diff changeset
286 * beginning with the value for <literal>attr_id</literal>.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
287 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
288 * Notifies Purple that a buddy's status has been activated.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
289 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
290 * This is meant to be called from protocols.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
291 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
292 void purple_protocol_got_user_status(PurpleAccount *account, const char *name,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
293 const char *status_id, ...)
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
294 G_GNUC_NULL_TERMINATED;
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
295
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
296 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
297 * purple_protocol_got_user_status_deactive:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
298 * @account: The account the user is on.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
299 * @name: The name of the buddy.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
300 * @status_id: The status ID.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
301 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
302 * Notifies libpurple that a buddy's status has been deactivated
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
303 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
304 * This is meant to be called from protocols.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
305 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
306 void purple_protocol_got_user_status_deactive(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
307 const char *name,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
308 const char *status_id);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
309
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
310 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
311 * purple_protocol_change_account_status:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
312 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
313 * @old_status: The previous status.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
314 * @new_status: The status that was activated, or deactivated
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
315 * (in the case of independent statuses).
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
316 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
317 * Informs the server that our account's status changed.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
318 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
319 void purple_protocol_change_account_status(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
320 PurpleStatus *old_status,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
321 PurpleStatus *new_status);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
322
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
323 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
324 * purple_protocol_get_statuses:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
325 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
326 * @presence: The presence for which we're going to get statuses
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
327 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
328 * Retrieves the list of stock status types from a protocol.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
329 *
38745
f4376b1f4682 A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents: 38716
diff changeset
330 * Returns: (transfer full) (element-type PurpleStatus): List of statuses
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
331 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
332 GList *purple_protocol_get_statuses(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
333 PurplePresence *presence);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
334
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
335 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
336 * purple_protocol_send_attention:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
337 * @gc: The connection to send the message on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
338 * @who: Whose attention to request.
37115
7004e53e3495 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 35581 37103
diff changeset
339 * @type_code: An index into the protocol's attention_types list determining the type
7004e53e3495 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 35581 37103
diff changeset
340 * of the attention request command to send. 0 if protocol only defines one
35581
2638707f038e Remove MySpace PRPL.
Mark Doliner <mark@kingant.net>
parents: 35501
diff changeset
341 * (for example, Yahoo and MSN), but protocols are allowed to define more.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
342 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
343 * Send an attention request message.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
344 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
345 * Note that you can't send arbitrary PurpleAttentionType's, because there is
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
346 * only a fixed set of attention commands.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
347 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
348 void purple_protocol_send_attention(PurpleConnection *gc, const char *who,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
349 guint type_code);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
350
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
351 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
352 * purple_protocol_got_attention:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
353 * @gc: The connection that received the attention message.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
354 * @who: Who requested your attention.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
355 * @type_code: An index into the protocol's attention_types list
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
356 * determining the type of the attention request command to
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
357 * send.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
358 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
359 * Process an incoming attention message.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
360 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
361 void purple_protocol_got_attention(PurpleConnection *gc, const char *who,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
362 guint type_code);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
363
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
364 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
365 * purple_protocol_got_attention_in_chat:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
366 * @gc: The connection that received the attention message.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
367 * @id: The chat id.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
368 * @who: Who requested your attention.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
369 * @type_code: An index into the protocol's attention_types list
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
370 * determining the type of the attention request command to
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
371 * send.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
372 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
373 * Process an incoming attention message in a chat.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
374 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
375 void purple_protocol_got_attention_in_chat(PurpleConnection *gc, int id,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
376 const char *who, guint type_code);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
377
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
378 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
379 * purple_protocol_get_media_caps:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
380 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
381 * @who: The name of the contact to check capabilities for.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
382 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
383 * Determines if the contact supports the given media session type.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
384 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
385 * Returns: The media caps the contact supports.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
386 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
387 PurpleMediaCaps purple_protocol_get_media_caps(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
388 const char *who);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
389
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
390 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
391 * purple_protocol_initiate_media:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
392 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
393 * @who: The name of the contact to start a session with.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
394 * @type: The type of media session to start.
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
395 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
396 * Initiates a media session with the given contact.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
397 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
398 * Returns: TRUE if the call succeeded else FALSE. (Doesn't imply the media
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
399 * session or stream will be successfully created)
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
400 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
401 gboolean purple_protocol_initiate_media(PurpleAccount *account,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
402 const char *who,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
403 PurpleMediaSessionType type);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
404
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
405 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
406 * purple_protocol_got_media_caps:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
407 * @account: The account the user is on.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
408 * @who: The name of the contact for which capabilities have been received.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
409 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
410 * Signals that the protocol received capabilities for the given contact.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
411 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
412 * This function is intended to be used only by protocols.
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
413 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
414 void purple_protocol_got_media_caps(PurpleAccount *account, const char *who);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
415
34327
a899fa8f95d5 Implement purple_prpl_get_max_message_size
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34321
diff changeset
416 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
417 * purple_protocol_get_max_message_size:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
418 * @protocol: The protocol to query.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
419 *
36701
5acd461707ae Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 34940 36688
diff changeset
420 * Gets the safe maximum message size in bytes for the protocol.
34327
a899fa8f95d5 Implement purple_prpl_get_max_message_size
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34321
diff changeset
421 *
37087
197d965cec97 Fix gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37084
diff changeset
422 * See #PurpleProtocolClientIface's <literal>get_max_message_size</literal>.
34327
a899fa8f95d5 Implement purple_prpl_get_max_message_size
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34321
diff changeset
423 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
424 * Returns: Maximum message size, 0 if unspecified, -1 for infinite.
34327
a899fa8f95d5 Implement purple_prpl_get_max_message_size
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34321
diff changeset
425 */
a899fa8f95d5 Implement purple_prpl_get_max_message_size
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34321
diff changeset
426 gssize
36701
5acd461707ae Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 34940 36688
diff changeset
427 purple_protocol_get_max_message_size(PurpleProtocol *protocol);
34327
a899fa8f95d5 Implement purple_prpl_get_max_message_size
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34321
diff changeset
428
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
429 /**************************************************************************/
37075
cf3f735b09b7 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 35472 37074
diff changeset
430 /* Protocols API */
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
431 /**************************************************************************/
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
432
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
433 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
434 * purple_protocols_find:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
435 * @id: The protocol's ID.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
436 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
437 * Finds a protocol by ID.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
438 */
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
439 PurpleProtocol *purple_protocols_find(const char *id);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
440
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
441 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
442 * purple_protocols_add:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
443 * @protocol_type: The type of the protocol to add.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
444 * @error: Return location for a #GError or %NULL. If provided, this
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
445 * will be set to the reason if adding fails.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
446 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
447 * Adds a protocol to the list of protocols.
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
448 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
449 * Returns: The protocol instance if the protocol was added, else %NULL.
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
450 */
36627
a3b0d16f69ef Added error argument to protocol add/remove funcs, along with checks to ensure protocol being added/removed is valid
Ankit Vani <a@nevitus.org>
parents: 36624
diff changeset
451 PurpleProtocol *purple_protocols_add(GType protocol_type, GError **error);
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
452
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
453 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
454 * purple_protocols_remove:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
455 * @protocol: The protocol to remove.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
456 * @error: Return location for a #GError or %NULL. If provided, this
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
457 * will be set to the reason if removing fails.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
458 *
36471
5272e3736c71 Mention that accounts will be disconnected on protocol's removal
Ankit Vani <a@nevitus.org>
parents: 36469
diff changeset
459 * Removes a protocol from the list of protocols. This will disconnect all
36493
755de1ce7f07 Update documentation
Ankit Vani <a@nevitus.org>
parents: 36490
diff changeset
460 * connected accounts using this protocol, and free the protocol's user splits
755de1ce7f07 Update documentation
Ankit Vani <a@nevitus.org>
parents: 36490
diff changeset
461 * and protocol options.
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
462 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
463 * Returns: TRUE if the protocol was removed, else FALSE.
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
464 */
36627
a3b0d16f69ef Added error argument to protocol add/remove funcs, along with checks to ensure protocol being added/removed is valid
Ankit Vani <a@nevitus.org>
parents: 36624
diff changeset
465 gboolean purple_protocols_remove(PurpleProtocol *protocol, GError **error);
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
466
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
467 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
468 * purple_protocols_get_all:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
469 *
36378
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
470 * Returns a list of all loaded protocols.
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
471 *
38716
b9bed228745a Add many libpurple element-type annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38240
diff changeset
472 * Returns: (element-type PurpleProtocol) (transfer container): A list of all
b9bed228745a Add many libpurple element-type annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38240
diff changeset
473 * loaded protocols.
36378
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
474 */
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
475 GList *purple_protocols_get_all(void);
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
476
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
477 /**************************************************************************/
37090
c45c70779582 Remove @name from new plugin and protocol stuff
Ankit Vani <a@nevitus.org>
parents: 37089
diff changeset
478 /* Protocols Subsytem API */
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
479 /**************************************************************************/
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
480
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
481 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
482 * purple_protocols_init:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
483 *
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
484 * Initializes the protocols subsystem.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
485 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
486 void purple_protocols_init(void);
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
487
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
488 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
489 * purple_protocols_get_handle:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
490 *
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
491 * Returns the protocols subsystem handle.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
492 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
493 * Returns: The protocols subsystem handle.
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
494 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
495 void *purple_protocols_get_handle(void);
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
496
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
497 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
498 * purple_protocols_uninit:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
499 *
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
500 * Uninitializes the protocols subsystem.
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
501 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
502 void purple_protocols_uninit(void);
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
503
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
504 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5943
diff changeset
505
36563
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
506 #endif /* _PROTOCOLS_H_ */

mercurial