libpurple/protocols.h

Mon, 11 Nov 2019 20:43:31 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Mon, 11 Nov 2019 20:43:31 -0600
branch
iterate-on-receiving-data-in-jabber-callback
changeset 40178
5b3f596d1947
parent 39757
4a5ba806d8c9
child 40474
1341be8e3402
permissions
-rw-r--r--

closing merged branch

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
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39480
diff changeset
22 #ifndef PURPLE_PROTOCOLS_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39480
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
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
34 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35471
diff changeset
35 /* Basic Protocol Information */
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
36 /**************************************************************************/
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
37
36563
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
38 typedef struct _PurpleProtocolChatEntry PurpleProtocolChatEntry;
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9584
diff changeset
39
6622
277eb0b14653 [gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents: 6451
diff changeset
40 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
41 * PurpleProtocolOptions:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
42 * @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
43 * 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
44 * 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
45 * 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
46 * gets annoying.
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
47 * @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
48 * IRC and XMPP support this.
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
49 * @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
50 * 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
51 * password prompt.
35468
65e7b4566de4 Fix HTML generation warnings by using DocBook tags
Ankit Vani <a@nevitus.org>
parents: 35464
diff changeset
52 * @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
53 * 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
54 * @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
55 * 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
56 * functionality.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
57 * @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
58 * size.<sbr/>
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
59 * 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
60 * @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
61 * 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
62 * 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
63 * 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
64 * @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
65 * 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
66 * 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
67 * messages.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
68 * @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
69 * 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
70 * @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
71 * 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
72 * authorization acceptance.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
73 * @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
74 * 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
75 * authorization denial.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
76 *
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
77 * Protocol options
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
78 *
36551
8988e6e21acb Started GObjectification of protocols - added PurpleProtocol, PurpleProtocolClass, PurpleProtocolInterface.
Ankit Vani <a@nevitus.org>
parents: 36545
diff changeset
79 * 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
80 */
36686
9807e4acf281 Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents: 36659
diff changeset
81 typedef enum /*< flags >*/
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
82 {
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
83 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
84 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
85 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
86 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
87 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
88 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
89 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
90 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
91 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
92 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
93 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
94
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15588
diff changeset
95 } PurpleProtocolOptions;
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
96
36628
3d43ca8d69ee Refactored the protocols to use the error argument of purple_protocols_{add/remove}
Ankit Vani <a@nevitus.org>
parents: 36627
diff changeset
97 #include "media.h"
36581
09d5842255a2 Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents: 36571
diff changeset
98 #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
99 #include "status.h"
36581
09d5842255a2 Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents: 36571
diff changeset
100
36563
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
101 #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
102
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
103 /**
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
104 * PurpleProtocolChatEntry:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
105 * @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
106 * @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
107 * @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
108 * @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
109 * @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
110 * @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
111 * @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
112 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
113 * 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
114 * 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
115 */
36563
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
116 struct _PurpleProtocolChatEntry {
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
117 const char *label;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
118 const char *identifier;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
119 gboolean required;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
120 gboolean is_int;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
121 int min;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
122 int max;
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
123 gboolean secret;
36563
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
124 };
5ecb9a6c4611 Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents: 36562
diff changeset
125
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
126 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5943
diff changeset
127
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
128 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35471
diff changeset
129 /* Attention Type API */
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
130 /**************************************************************************/
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
131
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21865
diff changeset
132 /**************************************************************************/
37090
c45c70779582 Remove @name from new plugin and protocol stuff
Ankit Vani <a@nevitus.org>
parents: 37089
diff changeset
133 /* Protocol Chat Entry API */
36556
98b761371c33 Organize new functions
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
134 /**************************************************************************/
98b761371c33 Organize new functions
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
135
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
136 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
137 * 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
138 *
37073
baf45dc13ffd Fix some gtk-doc warnings in protocol(s).h (not all)
Ankit Vani <a@nevitus.org>
parents: 37072
diff changeset
139 * 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
140 */
74191a8680af Added boilerplate macros, renamed proto_chat_entry to PurpleProtocolChatEntry, and updated documentation
Ankit Vani <a@nevitus.org>
parents: 36553
diff changeset
141 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
142
36388
207c2716f0a8 Added struct PurpleProtocolAction, and purple_protocol_actions_add().
Ankit Vani <a@nevitus.org>
parents: 36378
diff changeset
143 /**************************************************************************/
37090
c45c70779582 Remove @name from new plugin and protocol stuff
Ankit Vani <a@nevitus.org>
parents: 37089
diff changeset
144 /* Protocol API */
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
145 /**************************************************************************/
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
146
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
147 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
148 * 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
149 * @account: The account.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
150 * @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
151 * @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
152 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
153 * 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
154 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
155 * 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
156 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
157 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
158 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
159
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
160 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
161 * 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
162 * @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
163 * @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
164 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
165 * 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
166 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
167 * 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
168 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
169 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
170 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
171
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
172 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
173 * 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
174 * @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
175 * @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
176 * @...: A NULL-terminated list of attribute IDs and values,
37087
197d965cec97 Fix gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37084
diff changeset
177 * 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
178 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
179 * 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
180 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
181 * 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
182 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
183 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
184 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
185 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
186
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
187 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
188 * 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
189 * @account: The account.
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
190 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
191 * 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
192 * 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
193 * signal.
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 * 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
196 *
35471
a23769351b31 Remove @see
Ankit Vani <a@nevitus.org>
parents: 35468
diff changeset
197 * 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
198 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
199 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
200
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
201 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
202 * purple_protocol_got_user_idle:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
203 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
204 * @name: The name of the buddy.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
205 * @idle: The user's idle state.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
206 * @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
207 * 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
208 * 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
209 * 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
210 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
211 * 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
212 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
213 * 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
214 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
215 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
216 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
217
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
218 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
219 * 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
220 * @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
221 * @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
222 * @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
223 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
224 * 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
225 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
226 * 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
227 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
228 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
229 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
230
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
231 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
232 * purple_protocol_got_user_status:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
233 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
234 * @name: The name of the buddy.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
235 * @status_id: The status ID.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
236 * @...: A NULL-terminated list of attribute IDs and values,
37087
197d965cec97 Fix gtk-doc warnings
Ankit Vani <a@nevitus.org>
parents: 37084
diff changeset
237 * 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
238 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
239 * 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
240 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
241 * 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
242 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
243 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
244 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
245 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
246
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
247 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
248 * 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
249 * @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
250 * @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
251 * @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
252 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
253 * 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
254 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
255 * 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
256 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
257 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
258 const char *name,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
259 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
260
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
261 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
262 * purple_protocol_change_account_status:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
263 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
264 * @old_status: The previous status.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
265 * @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
266 * (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
267 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
268 * 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
269 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
270 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
271 PurpleStatus *old_status,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
272 PurpleStatus *new_status);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
273
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
274 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
275 * purple_protocol_get_statuses:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
276 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
277 * @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
278 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
279 * 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
280 *
38745
f4376b1f4682 A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents: 38716
diff changeset
281 * 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
282 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
283 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
284 PurplePresence *presence);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
285
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
286 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
287 * purple_protocol_send_attention:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
288 * @gc: The connection to send the message on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
289 * @who: Whose attention to request.
37115
7004e53e3495 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 35581 37103
diff changeset
290 * @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
291 * 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
292 * (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
293 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
294 * 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
295 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
296 * 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
297 * 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
298 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
299 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
300 guint type_code);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
301
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
302 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
303 * purple_protocol_got_attention:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
304 * @gc: The connection that received the attention message.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
305 * @who: Who requested your attention.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
306 * @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
307 * 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
308 * send.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
309 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
310 * 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
311 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
312 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
313 guint type_code);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
314
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
315 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
316 * purple_protocol_got_attention_in_chat:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
317 * @gc: The connection that received the attention message.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
318 * @id: The chat id.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
319 * @who: Who requested your attention.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
320 * @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
321 * 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
322 * send.
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
323 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
324 * 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
325 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
326 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
327 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
328
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
329 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
330 * purple_protocol_get_media_caps:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
331 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
332 * @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
333 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
334 * 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
335 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
336 * 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
337 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
338 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
339 const char *who);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
340
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
341 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
342 * purple_protocol_initiate_media:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
343 * @account: The account the user is on.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
344 * @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
345 * @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
346 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
347 * 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
348 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
349 * 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
350 * 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
351 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
352 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
353 const char *who,
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
354 PurpleMediaSessionType type);
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
355
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
356 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
357 * 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
358 * @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
359 * @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
360 *
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
361 * 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
362 *
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
363 * 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
364 */
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
365 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
366
34327
a899fa8f95d5 Implement purple_prpl_get_max_message_size
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34321
diff changeset
367 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
368 * 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
369 * @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
370 *
36701
5acd461707ae Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 34940 36688
diff changeset
371 * 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
372 *
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39738
diff changeset
373 * See #PurpleProtocolClientInterface'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
374 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
375 * 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
376 */
a899fa8f95d5 Implement purple_prpl_get_max_message_size
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34321
diff changeset
377 gssize
36701
5acd461707ae Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 34940 36688
diff changeset
378 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
379
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36608
diff changeset
380 /**************************************************************************/
37075
cf3f735b09b7 Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 35472 37074
diff changeset
381 /* Protocols API */
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
382 /**************************************************************************/
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9943
diff changeset
383
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
384 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
385 * purple_protocols_find:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
386 * @id: The protocol's ID.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
387 *
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
388 * Finds a protocol by ID.
39738
14d425a528ad Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
389 *
14d425a528ad Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
390 * Returns: (transfer none): The protocol, if found, or %NULL otherwise.
4557
40c90b1671cf [gaim-migrate @ 4837]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
391 */
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
392 PurpleProtocol *purple_protocols_find(const char *id);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
393
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
394 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
395 * purple_protocols_add:
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
396 * @protocol_type: The type of the protocol to add.
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
397 * @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
398 * 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
399 *
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
400 * 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
401 *
39738
14d425a528ad Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
402 * Returns: (transfer none): The protocol instance if the protocol was added,
14d425a528ad Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
403 * 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
404 */
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
405 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
406
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
407 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
408 * purple_protocols_remove:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
409 * @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
410 * @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
411 * 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
412 *
36471
5272e3736c71 Mention that accounts will be disconnected on protocol's removal
Ankit Vani <a@nevitus.org>
parents: 36469
diff changeset
413 * 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
414 * connected accounts using this protocol, and free the protocol's user splits
755de1ce7f07 Update documentation
Ankit Vani <a@nevitus.org>
parents: 36490
diff changeset
415 * 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
416 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
417 * 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
418 */
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
419 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
420
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
421 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
422 * 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
423 *
36378
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
424 * Returns a list of all loaded protocols.
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
425 *
38716
b9bed228745a Add many libpurple element-type annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38240
diff changeset
426 * 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
427 * loaded protocols.
36378
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
428 */
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
429 GList *purple_protocols_get_all(void);
d51a8507f4e0 Added purple_protocols_get_all()
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
430
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
431 /**************************************************************************/
37090
c45c70779582 Remove @name from new plugin and protocol stuff
Ankit Vani <a@nevitus.org>
parents: 37089
diff changeset
432 /* 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
433 /**************************************************************************/
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
434
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
435 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
436 * purple_protocols_init:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
437 *
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
438 * 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
439 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
440 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
441
36624
38043ecaf4a6 Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
442 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
443 * 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
444 *
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
445 * 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
446 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
447 * 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
448 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
449 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
450
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
451 /**
37036
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
452 * purple_protocols_uninit:
a8e12bcb0a74 Convert the new .h files for this branch for gtk-doc
Ankit Vani <a@nevitus.org>
parents: 37035
diff changeset
453 *
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
454 * 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
455 */
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
456 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
457
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32604
diff changeset
458 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5943
diff changeset
459
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39480
diff changeset
460 #endif /* PURPLE_PROTOCOLS_H */

mercurial