libpurple/connection.h

Sat, 15 Feb 2014 22:10:38 +0530

author
Ankit Vani <a@nevitus.org>
date
Sat, 15 Feb 2014 22:10:38 +0530
branch
soc.2013.gobjectification.plugins
changeset 37113
cb24b99a09ea
parent 37094
84873ce721dc
parent 35572
5c4846317f2f
child 37148
50f361d39a1e
permissions
-rw-r--r--

Merged default branch

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19897
diff changeset
1 /* purple
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
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: 7122
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: 7122
diff changeset
5 * source distribution.
6460
fc288e7221ca [gaim-migrate @ 6969]
Christian Hammond <chipx86@chipx86.com>
parents: 6393
diff changeset
6 *
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * (at your option) any later version.
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 *
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * GNU General Public License for more details.
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.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: 19128
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.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
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
22 #ifndef _PURPLE_CONNECTION_H_
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
23 #define _PURPLE_CONNECTION_H_
35433
8dcae6cd6628 Add section blocks for account.h to connection.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
24 /**
8dcae6cd6628 Add section blocks for account.h to connection.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
25 * SECTION:connection
8dcae6cd6628 Add section blocks for account.h to connection.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
26 * @section_id: libpurple-connection
35436
a69d2e5604c5 Swap @title and @short_description roles
Ankit Vani <a@nevitus.org>
parents: 35433
diff changeset
27 * @short_description: <filename>connection.h</filename>
a69d2e5604c5 Swap @title and @short_description roles
Ankit Vani <a@nevitus.org>
parents: 35433
diff changeset
28 * @title: Connection API
35433
8dcae6cd6628 Add section blocks for account.h to connection.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
29 * @see_also: <link linkend="chapter-signals-connection">Connection signals</link>
8dcae6cd6628 Add section blocks for account.h to connection.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
30 */
8dcae6cd6628 Add section blocks for account.h to connection.h
Ankit Vani <a@nevitus.org>
parents: 35419
diff changeset
31
34748
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
32 #define PURPLE_TYPE_CONNECTION (purple_connection_get_type())
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
33 #define PURPLE_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_CONNECTION, PurpleConnection))
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
34 #define PURPLE_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_CONNECTION, PurpleConnectionClass))
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
35 #define PURPLE_IS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_CONNECTION))
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
36 #define PURPLE_IS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_CONNECTION))
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
37 #define PURPLE_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_CONNECTION, PurpleConnectionClass))
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
38
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
39 typedef struct _PurpleConnection PurpleConnection;
34748
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
40 typedef struct _PurpleConnectionClass PurpleConnectionClass;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41
35572
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
42 #define PURPLE_TYPE_CONNECTION_UI_OPS (purple_connection_ui_ops_get_type())
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
43
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
44 typedef struct _PurpleConnectionUiOps PurpleConnectionUiOps;
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
45
35572
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
46 #define PURPLE_TYPE_CONNECTION_ERROR_INFO (purple_connection_error_info_get_type())
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
47
35467
975ae62dd895 Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents: 35460
diff changeset
48 typedef struct _PurpleConnectionErrorInfo PurpleConnectionErrorInfo;
975ae62dd895 Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents: 35460
diff changeset
49
6622
277eb0b14653 [gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
50 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
51 * PurpleConnectionFlags:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
52 * @PURPLE_CONNECTION_FLAG_HTML: Connection sends/receives in 'HTML'
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
53 * @PURPLE_CONNECTION_FLAG_NO_BGCOLOR: Connection does not send/receive
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
54 * background colors
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
55 * @PURPLE_CONNECTION_FLAG_AUTO_RESP: Send auto responses when away
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
56 * @PURPLE_CONNECTION_FLAG_FORMATTING_WBFO: The text buffer must be formatted
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
57 * as a whole
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
58 * @PURPLE_CONNECTION_FLAG_NO_NEWLINES: No new lines are allowed in outgoing
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
59 * messages
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
60 * @PURPLE_CONNECTION_FLAG_NO_FONTSIZE: Connection does not send/receive font
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
61 * sizes
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
62 * @PURPLE_CONNECTION_FLAG_NO_URLDESC: Connection does not support descriptions
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
63 * with links
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
64 * @PURPLE_CONNECTION_FLAG_NO_IMAGES: Connection does not support sending of
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
65 * images
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
66 * @PURPLE_CONNECTION_FLAG_ALLOW_CUSTOM_SMILEY: Connection supports sending
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
67 * and receiving custom smileys
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
68 * @PURPLE_CONNECTION_FLAG_SUPPORT_MOODS: Connection supports setting moods
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
69 * @PURPLE_CONNECTION_FLAG_SUPPORT_MOOD_MESSAGES: Connection supports setting
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
70 * a message on moods
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
71 *
6622
277eb0b14653 [gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
72 * Flags to change behavior of the client for a given connection.
277eb0b14653 [gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
73 */
34646
e7f4631e93f7 Begun adding GObject code to conversation sources
Ankit Vani <a@nevitus.org>
parents: 34645
diff changeset
74 typedef enum /*< flags >*/
6622
277eb0b14653 [gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents: 6605
diff changeset
75 {
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
76 PURPLE_CONNECTION_FLAG_HTML = 0x0001,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
77 PURPLE_CONNECTION_FLAG_NO_BGCOLOR = 0x0002,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
78 PURPLE_CONNECTION_FLAG_AUTO_RESP = 0x0004,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
79 PURPLE_CONNECTION_FLAG_FORMATTING_WBFO = 0x0008,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
80 PURPLE_CONNECTION_FLAG_NO_NEWLINES = 0x0010,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
81 PURPLE_CONNECTION_FLAG_NO_FONTSIZE = 0x0020,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
82 PURPLE_CONNECTION_FLAG_NO_URLDESC = 0x0040,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
83 PURPLE_CONNECTION_FLAG_NO_IMAGES = 0x0080,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
84 PURPLE_CONNECTION_FLAG_ALLOW_CUSTOM_SMILEY = 0x0100,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
85 PURPLE_CONNECTION_FLAG_SUPPORT_MOODS = 0x0200,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
86 PURPLE_CONNECTION_FLAG_SUPPORT_MOOD_MESSAGES = 0x0400
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
87 } PurpleConnectionFlags;
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5733
diff changeset
88
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
89 /**
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
90 * PurpleConnectionState:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
91 * @PURPLE_CONNECTION_DISCONNECTED: Disconnected.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
92 * @PURPLE_CONNECTION_CONNECTED: Connected.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
93 * @PURPLE_CONNECTION_CONNECTING: Connecting.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
94 */
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 typedef enum
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 {
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
97 PURPLE_CONNECTION_DISCONNECTED = 0,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
98 PURPLE_CONNECTION_CONNECTED,
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
99 PURPLE_CONNECTION_CONNECTING
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
100 } PurpleConnectionState;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
101
25885
5b5e2ca316b2 Add @since 2.6.0 doxygen comments to some of our new functions, and
Mark Doliner <markdoliner@pidgin.im>
parents: 25119
diff changeset
102 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
103 * PurpleConnectionError:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
104 * @PURPLE_CONNECTION_ERROR_NETWORK_ERROR: There was an error sending or
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
105 * receiving on the network socket, or there was some protocol error
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
106 * (such as the server sending malformed data).
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
107 * @PURPLE_CONNECTION_ERROR_INVALID_USERNAME: The username supplied was not
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
108 * valid.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
109 * @PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED: The username, password or
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
110 * some other credential was incorrect. Use
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
111 * #PURPLE_CONNECTION_ERROR_INVALID_USERNAME instead if the username
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
112 * is known to be invalid.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
113 * @PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE: libpurple doesn't speak
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
114 * any of the authentication methods the server offered.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
115 * @PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT: libpurple was built without SSL
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
116 * support, and the connection needs SSL.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
117 * @PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR: There was an error negotiating
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
118 * SSL on this connection, or the server does not support encryption
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
119 * but an account option was set to require it.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
120 * @PURPLE_CONNECTION_ERROR_NAME_IN_USE: Someone is already connected to the
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
121 * server using the name you are trying to connect with.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
122 * @PURPLE_CONNECTION_ERROR_INVALID_SETTINGS: The username/server/other
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
123 * preference for the account isn't valid. For instance, on IRC the
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
124 * username cannot contain white space. This reason should not be used
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
125 * for incorrect passwords etc: use
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
126 * #PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED for that.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
127 * @PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED: The server did not provide a
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
128 * SSL certificate.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
129 * @PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED: The server's SSL certificate could
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
130 * not be trusted.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
131 * @PURPLE_CONNECTION_ERROR_CERT_EXPIRED: The server's SSL certificate has
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
132 * expired.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
133 * @PURPLE_CONNECTION_ERROR_CERT_NOT_ACTIVATED: The server's SSL certificate is
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
134 * not yet valid.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
135 * @PURPLE_CONNECTION_ERROR_CERT_HOSTNAME_MISMATCH: The server's SSL
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
136 * certificate did not match its hostname.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
137 * @PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH: The server's SSL
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
138 * certificate does not have the expected fingerprint.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
139 * @PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED: The server's SSL certificate is
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
140 * self-signed.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
141 * @PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR: There was some other error
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
142 * validating the server's SSL certificate.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
143 * @PURPLE_CONNECTION_ERROR_OTHER_ERROR: Some other error occurred which fits
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
144 * into none of the other categories.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
145 *
25885
5b5e2ca316b2 Add @since 2.6.0 doxygen comments to some of our new functions, and
Mark Doliner <markdoliner@pidgin.im>
parents: 25119
diff changeset
146 * Possible errors that can cause a connection to be closed.
21161
2ac0dff512ae Add "@since 2.3.0" annotations to the new API, as advocated by rlaager.
Will Thompson <resiak@pidgin.im>
parents: 21157
diff changeset
147 */
20428
5526fe433c91 Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents: 19897
diff changeset
148 typedef enum
5526fe433c91 Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents: 19897
diff changeset
149 {
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21278
diff changeset
150 PURPLE_CONNECTION_ERROR_NETWORK_ERROR = 0,
21507
ef776d77f325 Add PURPLE_CONNECTION_ERROR_{INVALID_USERNAME,INCORRECT_PASSWORD}, to be used
Will Thompson <resiak@pidgin.im>
parents: 21313
diff changeset
151 PURPLE_CONNECTION_ERROR_INVALID_USERNAME = 1,
21509
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
152 PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED = 2,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
153 PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE = 3,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
154 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT = 4,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
155 PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR = 5,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
156 PURPLE_CONNECTION_ERROR_NAME_IN_USE = 6,
35473
b5427137c6d0 Remove @todo
Ankit Vani <a@nevitus.org>
parents: 35472
diff changeset
157
b5427137c6d0 Remove @todo
Ankit Vani <a@nevitus.org>
parents: 35472
diff changeset
158 /* TODO This reason really shouldn't be necessary. Usernames and
b5427137c6d0 Remove @todo
Ankit Vani <a@nevitus.org>
parents: 35472
diff changeset
159 * other account preferences should be validated when the
b5427137c6d0 Remove @todo
Ankit Vani <a@nevitus.org>
parents: 35472
diff changeset
160 * account is created. */
21509
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
161 PURPLE_CONNECTION_ERROR_INVALID_SETTINGS = 7,
35473
b5427137c6d0 Remove @todo
Ankit Vani <a@nevitus.org>
parents: 35472
diff changeset
162
21509
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
163 PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED = 8,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
164 PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED = 9,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
165 PURPLE_CONNECTION_ERROR_CERT_EXPIRED = 10,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
166 PURPLE_CONNECTION_ERROR_CERT_NOT_ACTIVATED = 11,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
167 PURPLE_CONNECTION_ERROR_CERT_HOSTNAME_MISMATCH = 12,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
168 PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH = 13,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
169 PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED = 14,
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
170 PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR = 15,
20429
0e840b026c82 Remove non-error PurpleDisconnectReasons, and add PURPLE_REASON_OTHER_ERROR
Will Thompson <resiak@pidgin.im>
parents: 20428
diff changeset
171
32157
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 32156
diff changeset
172 /* purple_connection_error() in connection.c uses the fact that
21278
19f6ce8ee4ad rlaager suggested using the last element of the PurpleDisconnectReason enum
Will Thompson <resiak@pidgin.im>
parents: 21161
diff changeset
173 * this is the last member of the enum when sanity-checking; if other
19f6ce8ee4ad rlaager suggested using the last element of the PurpleDisconnectReason enum
Will Thompson <resiak@pidgin.im>
parents: 21161
diff changeset
174 * reasons are added after it, the check must be updated.
19f6ce8ee4ad rlaager suggested using the last element of the PurpleDisconnectReason enum
Will Thompson <resiak@pidgin.im>
parents: 21161
diff changeset
175 */
21509
e167cb01e146 I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents: 21507
diff changeset
176 PURPLE_CONNECTION_ERROR_OTHER_ERROR = 16
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21278
diff changeset
177 } PurpleConnectionError;
20428
5526fe433c91 Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents: 19897
diff changeset
178
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
179 /**
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
180 * PurpleConnectionErrorInfo:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
181 * @type: The type of error.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
182 * @description: A localised, human-readable description of the error.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
183 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
184 * Holds the type of an error along with its description.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
185 */
35467
975ae62dd895 Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents: 35460
diff changeset
186 struct _PurpleConnectionErrorInfo
21295
46659b1bf31f PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents: 21281
diff changeset
187 {
46659b1bf31f PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents: 21281
diff changeset
188 PurpleConnectionError type;
21313
151d5a5258a8 PurpleConnectionErrorInfo.description should not be const.
Will Thompson <resiak@pidgin.im>
parents: 21298
diff changeset
189 char *description;
35467
975ae62dd895 Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents: 35460
diff changeset
190 };
21295
46659b1bf31f PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents: 21281
diff changeset
191
10021
5aa380278a15 [gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents: 10008
diff changeset
192 #include <time.h>
5aa380278a15 [gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents: 10008
diff changeset
193
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
194 #include "account.h"
36543
a8c3fecee2d3 Renamed prpl.[ch] to protocol.[ch]
Ankit Vani <a@nevitus.org>
parents: 36365
diff changeset
195 #include "protocol.h"
10400
5f11925078e5 [gaim-migrate @ 11631]
Sean Egan <seanegan@pidgin.im>
parents: 10352
diff changeset
196 #include "status.h"
20443
7487bb69ae76 Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents: 20442
diff changeset
197 #include "sslconn.h"
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
198
25885
5b5e2ca316b2 Add @since 2.6.0 doxygen comments to some of our new functions, and
Mark Doliner <markdoliner@pidgin.im>
parents: 25119
diff changeset
199 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
200 * PurpleConnectionUiOps:
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
201 * @connect_progress: When an account is connecting, this operation is called to
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
202 * notify the UI of what is happening, as well as which @step
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
203 * out of @step_count has been reached (which might be
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
204 * displayed as a progress bar).
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
205 * <sbr/>See purple_connection_update_progress().
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
206 * @connected: Called when a connection is established (just before the
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
207 * <link linkend="connections-signed-on"><literal>"signed-on"</literal></link>
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
208 * signal).
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
209 * @disconnected: Called when a connection is ended (between the
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
210 * <link linkend="connections-signing-off"><literal>"signing-off"</literal></link>
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
211 * and <link linkend="connections-signed-off"><literal>"signed-off"</literal></link>
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
212 * signals).
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
213 * @notice: Used to display connection-specific notices. (Pidgin's Gtk user
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
214 * interface implements this as a no-op; purple_connection_notice(),
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
215 * which uses this operation, is not used by any of the protocols
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
216 * shipped with libpurple.)
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
217 * @network_connected: Called when libpurple discovers that the computer's
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
218 * network connection is active. On Linux, this uses
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
219 * Network Manager if available; on Windows, it uses
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
220 * Win32's network change notification infrastructure.
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
221 * @network_disconnected: Called when libpurple discovers that the computer's
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
222 * network connection has gone away.
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
223 * @report_disconnect: Called when an error causes a connection to be
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
224 * disconnected. Called before @disconnected.
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
225 * <sbr/>See purple_connection_error().
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
226 * <sbr/>@reason: why the connection ended, if known, or
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
227 * #PURPLE_CONNECTION_ERROR_OTHER_ERROR, if not.
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
228 * <sbr/>@text: a localized message describing the
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
229 * disconnection in more detail to the user.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
230 *
25885
5b5e2ca316b2 Add @since 2.6.0 doxygen comments to some of our new functions, and
Mark Doliner <markdoliner@pidgin.im>
parents: 25119
diff changeset
231 * Connection UI operations. Used to notify the user of changes to
5b5e2ca316b2 Add @since 2.6.0 doxygen comments to some of our new functions, and
Mark Doliner <markdoliner@pidgin.im>
parents: 25119
diff changeset
232 * connections, such as being disconnected, and to respond to the
5b5e2ca316b2 Add @since 2.6.0 doxygen comments to some of our new functions, and
Mark Doliner <markdoliner@pidgin.im>
parents: 25119
diff changeset
233 * underlying network connection appearing and disappearing. UIs should
5b5e2ca316b2 Add @since 2.6.0 doxygen comments to some of our new functions, and
Mark Doliner <markdoliner@pidgin.im>
parents: 25119
diff changeset
234 * call #purple_connections_set_ui_ops() with an instance of this struct.
19128
871e26c75048 Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents: 18190
diff changeset
235 *
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
236 * See <link linkend="chapter-ui-ops">List of <literal>UiOps</literal> Structures</link>
19128
871e26c75048 Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents: 18190
diff changeset
237 */
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
238 struct _PurpleConnectionUiOps
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
239 {
19128
871e26c75048 Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents: 18190
diff changeset
240 void (*connect_progress)(PurpleConnection *gc,
871e26c75048 Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents: 18190
diff changeset
241 const char *text,
871e26c75048 Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents: 18190
diff changeset
242 size_t step,
871e26c75048 Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents: 18190
diff changeset
243 size_t step_count);
20430
bb30dff3da21 Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents: 20429
diff changeset
244
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
245 void (*connected)(PurpleConnection *gc);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
246 void (*disconnected)(PurpleConnection *gc);
20430
bb30dff3da21 Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents: 20429
diff changeset
247
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
248 void (*notice)(PurpleConnection *gc, const char *text);
20430
bb30dff3da21 Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents: 20429
diff changeset
249
22093
a5e784e3b6a7 Felipe Contreras, one of our older Crazy Pacth Writers, noticed that these
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21511
diff changeset
250 void (*network_connected)(void);
a5e784e3b6a7 Felipe Contreras, one of our older Crazy Pacth Writers, noticed that these
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21511
diff changeset
251 void (*network_disconnected)(void);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
252
32153
121f15699f88 Rename the report_disconnect_reason cb function to report_disconnect
Mark Doliner <markdoliner@pidgin.im>
parents: 32152
diff changeset
253 void (*report_disconnect)(PurpleConnection *gc,
121f15699f88 Rename the report_disconnect_reason cb function to report_disconnect
Mark Doliner <markdoliner@pidgin.im>
parents: 32152
diff changeset
254 PurpleConnectionError reason,
121f15699f88 Rename the report_disconnect_reason cb function to report_disconnect
Mark Doliner <markdoliner@pidgin.im>
parents: 32152
diff changeset
255 const char *text);
20430
bb30dff3da21 Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents: 20429
diff changeset
256
35024
eb3afb7643ce Added /*< private >*/ for padding members, clean them up and add missing ones
Ankit Vani <a@nevitus.org>
parents: 34999
diff changeset
257 /*< private >*/
16743
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
258 void (*_purple_reserved1)(void);
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
259 void (*_purple_reserved2)(void);
1ce5ffe12e2a Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
260 void (*_purple_reserved3)(void);
34885
f4b25d67224d Added a padding member in PurpleConnectionUiOps
Ankit Vani <a@nevitus.org>
parents: 34884
diff changeset
261 void (*_purple_reserved4)(void);
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
262 };
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
263
34748
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
264 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
265 * PurpleConnection:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
266 *
34748
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
267 * Represents an active connection on an account.
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
268 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
269 struct _PurpleConnection
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
270 {
34748
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
271 GObject gparent;
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
272 };
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
273
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
274 /**
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
275 * PurpleConnectionClass:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
276 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
277 * Base class for all #PurpleConnection's
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
278 */
34748
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
279 struct _PurpleConnectionClass {
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
280 GObjectClass parent_class;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
281
35024
eb3afb7643ce Added /*< private >*/ for padding members, clean them up and add missing ones
Ankit Vani <a@nevitus.org>
parents: 34999
diff changeset
282 /*< private >*/
34748
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
283 void (*_purple_reserved1)(void);
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
284 void (*_purple_reserved2)(void);
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
285 void (*_purple_reserved3)(void);
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
286 void (*_purple_reserved4)(void);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
287 };
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
288
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32687
diff changeset
289 G_BEGIN_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
290
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
291 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35467
diff changeset
292 /* Connection API */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
293 /**************************************************************************/
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
294
6581
dd89eb44f0ee [gaim-migrate @ 7103]
Nathan Walp <nwalp@pidgin.im>
parents: 6488
diff changeset
295 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
296 * purple_connection_get_type:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
297 *
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
298 * Returns: The #GType for the Connection object.
34748
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
299 */
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
300 GType purple_connection_get_type(void);
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
301
02efb47ea4f4 Added GObject boilerplate code for PurpleConnection
Ankit Vani <a@nevitus.org>
parents: 34746
diff changeset
302 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
303 * purple_connection_error_info_get_type:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
304 *
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
305 * Returns: The #GType for the #PurpleConnectionErrorInfo boxed structure.
34753
b2c73469c1be GObjectified the PurpleConnection source
Ankit Vani <a@nevitus.org>
parents: 34751
diff changeset
306 */
b2c73469c1be GObjectified the PurpleConnection source
Ankit Vani <a@nevitus.org>
parents: 34751
diff changeset
307 GType purple_connection_error_info_get_type(void);
b2c73469c1be GObjectified the PurpleConnection source
Ankit Vani <a@nevitus.org>
parents: 34751
diff changeset
308
b2c73469c1be GObjectified the PurpleConnection source
Ankit Vani <a@nevitus.org>
parents: 34751
diff changeset
309 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
310 * purple_connection_set_state:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
311 * @gc: The connection.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
312 * @state: The connection state.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
313 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
314 * Sets the connection state. Protocols should call this and pass in
34746
dc9c911dbd35 Started GObjectification of PurpleConnection.
Ankit Vani <a@nevitus.org>
parents: 34646
diff changeset
315 * the state #PURPLE_CONNECTION_CONNECTED when the account is completely
11718
90804d019837 [gaim-migrate @ 14009]
Mark Doliner <markdoliner@pidgin.im>
parents: 10758
diff changeset
316 * signed on. What does it mean to be completely signed on? If
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
317 * the core can call protocol's set_status, and it successfully changes
11718
90804d019837 [gaim-migrate @ 14009]
Mark Doliner <markdoliner@pidgin.im>
parents: 10758
diff changeset
318 * your status, then the account is online.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
319 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
320 void purple_connection_set_state(PurpleConnection *gc, PurpleConnectionState state);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
321
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
322 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
323 * purple_connection_set_flags:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
324 * @gc: The connection.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
325 * @flags: The flags.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
326 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
327 * Sets the connection flags.
32678
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
328 */
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
329 void purple_connection_set_flags(PurpleConnection *gc, PurpleConnectionFlags flags);
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
330
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
331 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
332 * purple_connection_set_display_name:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
333 * @gc: The connection.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
334 * @name: The displayed name.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
335 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
336 * Sets the connection's displayed name.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
337 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
338 void purple_connection_set_display_name(PurpleConnection *gc, const char *name);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
339
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
340 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
341 * purple_connection_set_protocol_data:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
342 * @connection: The PurpleConnection.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
343 * @proto_data: The protocol data to set for the connection.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
344 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
345 * Sets the protocol data for a connection.
24937
3664132c36c8 Added purple_connection_set_protocol_data and purple_connection_get_protocol_data
Gary Kramlich <grim@reaperworld.com>
parents: 23517
diff changeset
346 */
3664132c36c8 Added purple_connection_set_protocol_data and purple_connection_get_protocol_data
Gary Kramlich <grim@reaperworld.com>
parents: 23517
diff changeset
347 void purple_connection_set_protocol_data(PurpleConnection *connection, void *proto_data);
3664132c36c8 Added purple_connection_set_protocol_data and purple_connection_get_protocol_data
Gary Kramlich <grim@reaperworld.com>
parents: 23517
diff changeset
348
3664132c36c8 Added purple_connection_set_protocol_data and purple_connection_get_protocol_data
Gary Kramlich <grim@reaperworld.com>
parents: 23517
diff changeset
349 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
350 * purple_connection_get_state:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
351 * @gc: The connection.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
352 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
353 * Returns the connection state.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
354 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
355 * Returns: The connection state.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
356 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
357 PurpleConnectionState purple_connection_get_state(const PurpleConnection *gc);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
358
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
359 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
360 * purple_connection_get_flags:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
361 * @gc: The connection.
32678
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
362 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
363 * Returns the connection flags.
32678
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
364 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
365 * Returns: The connection flags.
32678
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
366 */
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
367 PurpleConnectionFlags purple_connection_get_flags(const PurpleConnection *gc);
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
368
01f6312a4a7b On the way to hiding the PurpleConnection struct.
Andrew Victor <andrew.victor@mxit.com>
parents: 32604
diff changeset
369 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
370 * PURPLE_CONNECTION_IS_CONNECTED:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
371 *
9019
b9a333b36763 [gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents: 8735
diff changeset
372 * Returns TRUE if the account is connected, otherwise returns FALSE.
b9a333b36763 [gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents: 8735
diff changeset
373 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
374 * Returns: TRUE if the account is connected, otherwise returns FALSE.
9019
b9a333b36763 [gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents: 8735
diff changeset
375 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
376 #define PURPLE_CONNECTION_IS_CONNECTED(gc) \
34746
dc9c911dbd35 Started GObjectification of PurpleConnection.
Ankit Vani <a@nevitus.org>
parents: 34646
diff changeset
377 (purple_connection_get_state(gc) == PURPLE_CONNECTION_CONNECTED)
9019
b9a333b36763 [gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents: 8735
diff changeset
378
b9a333b36763 [gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents: 8735
diff changeset
379 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
380 * purple_connection_get_account:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
381 * @gc: The connection.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
382 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
383 * Returns the connection's account.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
384 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
385 * Returns: The connection's account.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
386 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
387 PurpleAccount *purple_connection_get_account(const PurpleConnection *gc);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
388
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
389 /**
37040
91119588bc3a Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37037 35397
diff changeset
390 * purple_connection_get_protocol:
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
391 * @gc: The connection.
22336
ac905bb0a8ec Add accessor and update finch to not touch the internals of PurpleConnection.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22277
diff changeset
392 *
37040
91119588bc3a Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37037 35397
diff changeset
393 * Returns the protocol managing a connection.
22336
ac905bb0a8ec Add accessor and update finch to not touch the internals of PurpleConnection.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22277
diff changeset
394 *
37034
9d6765962b22 Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents: 37023
diff changeset
395 * Returns: The protocol.
22336
ac905bb0a8ec Add accessor and update finch to not touch the internals of PurpleConnection.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22277
diff changeset
396 */
36623
caaadef03507 Renamed purple_connection_get_protocol_info() to purple_connection_get_protocol()
Ankit Vani <a@nevitus.org>
parents: 36621
diff changeset
397 PurpleProtocol *purple_connection_get_protocol(const PurpleConnection *gc);
22336
ac905bb0a8ec Add accessor and update finch to not touch the internals of PurpleConnection.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22277
diff changeset
398
ac905bb0a8ec Add accessor and update finch to not touch the internals of PurpleConnection.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22277
diff changeset
399 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
400 * purple_connection_get_password:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
401 * @gc: The connection.
10740
a1cb6b819a21 [gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents: 10738
diff changeset
402 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
403 * Returns the connection's password.
10740
a1cb6b819a21 [gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents: 10738
diff changeset
404 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
405 * Returns: The connection's password.
10740
a1cb6b819a21 [gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents: 10738
diff changeset
406 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
407 const char *purple_connection_get_password(const PurpleConnection *gc);
10740
a1cb6b819a21 [gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents: 10738
diff changeset
408
a1cb6b819a21 [gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents: 10738
diff changeset
409 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
410 * purple_connection_get_active_chats:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
411 * @gc: The connection.
34750
826c1611ef90 Refactored protocols to use the initial GObject connection API.
Ankit Vani <a@nevitus.org>
parents: 34748
diff changeset
412 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
413 * Returns a list of active chat conversations on a connection.
34750
826c1611ef90 Refactored protocols to use the initial GObject connection API.
Ankit Vani <a@nevitus.org>
parents: 34748
diff changeset
414 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
415 * Returns: The active chats on the connection.
34750
826c1611ef90 Refactored protocols to use the initial GObject connection API.
Ankit Vani <a@nevitus.org>
parents: 34748
diff changeset
416 */
826c1611ef90 Refactored protocols to use the initial GObject connection API.
Ankit Vani <a@nevitus.org>
parents: 34748
diff changeset
417 GSList *purple_connection_get_active_chats(const PurpleConnection *gc);
826c1611ef90 Refactored protocols to use the initial GObject connection API.
Ankit Vani <a@nevitus.org>
parents: 34748
diff changeset
418
826c1611ef90 Refactored protocols to use the initial GObject connection API.
Ankit Vani <a@nevitus.org>
parents: 34748
diff changeset
419 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
420 * purple_connection_get_display_name:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
421 * @gc: The connection.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
422 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
423 * Returns the connection's displayed name.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
425 * Returns: The connection's displayed name.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
426 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
427 const char *purple_connection_get_display_name(const PurpleConnection *gc);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
428
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
429 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
430 * purple_connection_get_protocol_data:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
431 * @gc: The PurpleConnection.
24937
3664132c36c8 Added purple_connection_set_protocol_data and purple_connection_get_protocol_data
Gary Kramlich <grim@reaperworld.com>
parents: 23517
diff changeset
432 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
433 * Gets the protocol data from a connection.
24937
3664132c36c8 Added purple_connection_set_protocol_data and purple_connection_get_protocol_data
Gary Kramlich <grim@reaperworld.com>
parents: 23517
diff changeset
434 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
435 * Returns: The protocol data for the connection.
24937
3664132c36c8 Added purple_connection_set_protocol_data and purple_connection_get_protocol_data
Gary Kramlich <grim@reaperworld.com>
parents: 23517
diff changeset
436 */
35042
c284eef5cd26 Added purple_connection_get_error_info()
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
437 void *purple_connection_get_protocol_data(const PurpleConnection *gc);
24937
3664132c36c8 Added purple_connection_set_protocol_data and purple_connection_get_protocol_data
Gary Kramlich <grim@reaperworld.com>
parents: 23517
diff changeset
438
3664132c36c8 Added purple_connection_set_protocol_data and purple_connection_get_protocol_data
Gary Kramlich <grim@reaperworld.com>
parents: 23517
diff changeset
439 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
440 * purple_connection_update_progress:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
441 * @gc: The connection.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
442 * @text: Information on the current step.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
443 * @step: The current step.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
444 * @count: The total number of steps.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
445 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
446 * Updates the connection progress.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
447 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
448 void purple_connection_update_progress(PurpleConnection *gc, const char *text,
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
449 size_t step, size_t count);
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
450
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
451 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
452 * purple_connection_notice:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
453 * @gc: The connection.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
454 * @text: The notice text.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
455 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
456 * Displays a connection-specific notice.
5571
b709464f507e [gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents: 5564
diff changeset
457 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
458 void purple_connection_notice(PurpleConnection *gc, const char *text);
5571
b709464f507e [gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents: 5564
diff changeset
459
b709464f507e [gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents: 5564
diff changeset
460 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
461 * purple_connection_error:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
462 * @gc: the connection which is closing.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
463 * @reason: why the connection is closing.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
464 * @description: a localized description of the error (not %NULL ).
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
465 *
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
466 * Closes a connection with an error and a human-readable description of the
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
467 * error.
20430
bb30dff3da21 Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents: 20429
diff changeset
468 */
bb30dff3da21 Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents: 20429
diff changeset
469 void
32157
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 32156
diff changeset
470 purple_connection_error(PurpleConnection *gc,
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 32156
diff changeset
471 PurpleConnectionError reason,
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 32156
diff changeset
472 const char *description);
20430
bb30dff3da21 Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents: 20429
diff changeset
473
20431
49979e453876 Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents: 20430
diff changeset
474 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
475 * purple_connection_get_error_info:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
476 * @gc: The connection.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
477 *
35042
c284eef5cd26 Added purple_connection_get_error_info()
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
478 * Returns the #PurpleConnectionErrorInfo instance of a connection if an
c284eef5cd26 Added purple_connection_get_error_info()
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
479 * error exists.
c284eef5cd26 Added purple_connection_get_error_info()
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
480 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
481 * Returns: The #PurpleConnectionErrorInfo instance of the connection if an
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
482 * error exists, %NULL otherwise.
35042
c284eef5cd26 Added purple_connection_get_error_info()
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
483 */
c284eef5cd26 Added purple_connection_get_error_info()
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
484 PurpleConnectionErrorInfo *
c284eef5cd26 Added purple_connection_get_error_info()
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
485 purple_connection_get_error_info(const PurpleConnection *gc);
c284eef5cd26 Added purple_connection_get_error_info()
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
486
c284eef5cd26 Added purple_connection_get_error_info()
Ankit Vani <a@nevitus.org>
parents: 35024
diff changeset
487 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
488 * purple_connection_ssl_error:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
489 *
20443
7487bb69ae76 Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents: 20442
diff changeset
490 * Closes a connection due to an SSL error; this is basically a shortcut to
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21278
diff changeset
491 * turning the #PurpleSslErrorType into a #PurpleConnectionError and a
32157
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 32156
diff changeset
492 * human-readable string and then calling purple_connection_error().
20443
7487bb69ae76 Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents: 20442
diff changeset
493 */
7487bb69ae76 Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents: 20442
diff changeset
494 void
7487bb69ae76 Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents: 20442
diff changeset
495 purple_connection_ssl_error (PurpleConnection *gc,
7487bb69ae76 Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents: 20442
diff changeset
496 PurpleSslErrorType ssl_error);
7487bb69ae76 Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents: 20442
diff changeset
497
7487bb69ae76 Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents: 20442
diff changeset
498 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
499 * purple_connection_error_is_fatal:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
500 *
20431
49979e453876 Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents: 20430
diff changeset
501 * Reports whether a disconnection reason is fatal (in which case the account
49979e453876 Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents: 20430
diff changeset
502 * should probably not be automatically reconnected) or transient (so
21149
160a0845b527 rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents: 21148
diff changeset
503 * auto-reconnection is a good idea).
21280
2db787ddddf8 Document that the char * parameter of purple_connection_error{,_reason} may
Will Thompson <resiak@pidgin.im>
parents: 21279
diff changeset
504 * For instance, #PURPLE_CONNECTION_ERROR_NETWORK_ERROR is a temporary error,
35419
d0aecd9a8104 Get rid of <tt>
Ankit Vani <a@nevitus.org>
parents: 35397
diff changeset
505 * which might be caused by losing the network connection, so <literal>
d0aecd9a8104 Get rid of <tt>
Ankit Vani <a@nevitus.org>
parents: 35397
diff changeset
506 * purple_connection_error_is_fatal (PURPLE_CONNECTION_ERROR_NETWORK_ERROR)</literal>
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
507 * is %FALSE. On the other hand,
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21278
diff changeset
508 * #PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED probably indicates a
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21278
diff changeset
509 * misconfiguration of the account which needs the user to go fix it up, so
35419
d0aecd9a8104 Get rid of <tt>
Ankit Vani <a@nevitus.org>
parents: 35397
diff changeset
510 * <literal> purple_connection_error_is_fatal
d0aecd9a8104 Get rid of <tt>
Ankit Vani <a@nevitus.org>
parents: 35397
diff changeset
511 * (PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED)</literal> is %TRUE.
20431
49979e453876 Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents: 20430
diff changeset
512 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
513 * Returns: %TRUE if the account should not be automatically reconnected, and
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
514 * %FALSE otherwise.
20431
49979e453876 Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents: 20430
diff changeset
515 */
49979e453876 Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents: 20430
diff changeset
516 gboolean
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21278
diff changeset
517 purple_connection_error_is_fatal (PurpleConnectionError reason);
20431
49979e453876 Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents: 20430
diff changeset
518
32679
fd936a0b84f7 Add a purple_connection_update_last_received() function to update the
Andrew Victor <andrew.victor@mxit.com>
parents: 32678
diff changeset
519 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
520 * purple_connection_update_last_received:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
521 * @gc: The connection.
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
522 *
32679
fd936a0b84f7 Add a purple_connection_update_last_received() function to update the
Andrew Victor <andrew.victor@mxit.com>
parents: 32678
diff changeset
523 * Indicate that a packet was received on the connection.
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
524 * Set by the protocol to avoid sending unneeded keepalives.
32679
fd936a0b84f7 Add a purple_connection_update_last_received() function to update the
Andrew Victor <andrew.victor@mxit.com>
parents: 32678
diff changeset
525 */
fd936a0b84f7 Add a purple_connection_update_last_received() function to update the
Andrew Victor <andrew.victor@mxit.com>
parents: 32678
diff changeset
526 void purple_connection_update_last_received(PurpleConnection *gc);
fd936a0b84f7 Add a purple_connection_update_last_received() function to update the
Andrew Victor <andrew.victor@mxit.com>
parents: 32678
diff changeset
527
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
528 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35467
diff changeset
529 /* Connections API */
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
530 /**************************************************************************/
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
531
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
532 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
533 * purple_connections_disconnect_all:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
534 *
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
535 * Disconnects from all connections.
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
536 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
537 void purple_connections_disconnect_all(void);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
538
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
539 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
540 * purple_connections_get_all:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
541 *
10352
802e7ab5b838 [gaim-migrate @ 11569]
Mark Doliner <markdoliner@pidgin.im>
parents: 10272
diff changeset
542 * Returns a list of all active connections. This does not
802e7ab5b838 [gaim-migrate @ 11569]
Mark Doliner <markdoliner@pidgin.im>
parents: 10272
diff changeset
543 * include connections that are in the process of connecting.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
544 *
35394
38facb8226d4 Use 'transfer none' for TODO const
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
545 * Returns: (transfer none): A list of all active connections.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
546 */
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
547 GList *purple_connections_get_all(void);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
548
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
549 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
550 * purple_connections_get_connecting:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
551 *
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
552 * Returns a list of all connections in the process of connecting.
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
553 *
35394
38facb8226d4 Use 'transfer none' for TODO const
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
554 * Returns: (transfer none): A list of connecting connections.
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
555 */
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
556 GList *purple_connections_get_connecting(void);
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
557
34999
90850ff4b5eb Backed out changeset 348356cbc657
Ankit Vani <a@nevitus.org>
parents: 34989
diff changeset
558 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
559 * PURPLE_CONNECTION_IS_VALID:
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
560 * @gc: The connection to check
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
561 *
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
562 * Checks if @gc is still a valid pointer to a connection.
34999
90850ff4b5eb Backed out changeset 348356cbc657
Ankit Vani <a@nevitus.org>
parents: 34989
diff changeset
563 *
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
564 * This is deprecated -- do not use this. Instead, cancel your asynchronous
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
565 * request when the #PurpleConnection is destroyed.
34999
90850ff4b5eb Backed out changeset 348356cbc657
Ankit Vani <a@nevitus.org>
parents: 34989
diff changeset
566 *
35460
96946e21fce5 Fix some more gtk-doc warnings till dnssrv
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
567 * Returns: %TRUE if @gc is valid.
34999
90850ff4b5eb Backed out changeset 348356cbc657
Ankit Vani <a@nevitus.org>
parents: 34989
diff changeset
568 */
90850ff4b5eb Backed out changeset 348356cbc657
Ankit Vani <a@nevitus.org>
parents: 34989
diff changeset
569 /*
90850ff4b5eb Backed out changeset 348356cbc657
Ankit Vani <a@nevitus.org>
parents: 34989
diff changeset
570 * TODO: Eventually this bad boy will be removed, because it is
90850ff4b5eb Backed out changeset 348356cbc657
Ankit Vani <a@nevitus.org>
parents: 34989
diff changeset
571 * a gross fix for a crashy problem.
90850ff4b5eb Backed out changeset 348356cbc657
Ankit Vani <a@nevitus.org>
parents: 34989
diff changeset
572 */
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
573 #define PURPLE_CONNECTION_IS_VALID(gc) \
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
574 (g_list_find(purple_connections_get_all(), (gc)) != NULL)
34999
90850ff4b5eb Backed out changeset 348356cbc657
Ankit Vani <a@nevitus.org>
parents: 34989
diff changeset
575
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
576 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35467
diff changeset
577 /* UI Registration Functions */
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
578 /**************************************************************************/
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
579
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
580 /**
35572
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
581 * purple_connection_ui_ops_get_type:
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
582 *
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
583 * Returns: The #GType for the #PurpleConnectionUiOps boxed structure.
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
584 */
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
585 GType purple_connection_ui_ops_get_type(void);
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
586
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
587 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
588 * purple_connections_set_ui_ops:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
589 * @ops: The UI operations structure.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
590 *
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
591 * Sets the UI operations structure to be used for connections.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
592 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
593 void purple_connections_set_ui_ops(PurpleConnectionUiOps *ops);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
594
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
595 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
596 * purple_connections_get_ui_ops:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
597 *
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
598 * Returns the UI operations structure used for connections.
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
599 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
600 * Returns: The UI operations structure in use.
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
601 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
602 PurpleConnectionUiOps *purple_connections_get_ui_ops(void);
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
603
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
604 /**************************************************************************/
35472
474e26199560 Removed @name
Ankit Vani <a@nevitus.org>
parents: 35467
diff changeset
605 /* Connections Subsystem */
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
606 /**************************************************************************/
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
607
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
608 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
609 * purple_connections_init:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
610 *
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
611 * Initializes the connections subsystem.
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
612 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
613 void purple_connections_init(void);
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
614
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
615 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
616 * purple_connections_uninit:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
617 *
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
618 * Uninitializes the connections subsystem.
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
619 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
620 void purple_connections_uninit(void);
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
621
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
622 /**
35397
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
623 * purple_connections_get_handle:
31fa3a1aeff5 Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents: 35394
diff changeset
624 *
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
625 * Returns the handle to the connections subsystem.
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
626 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35042
diff changeset
627 * Returns: The connections subsystem handle.
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
628 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
629 void *purple_connections_get_handle(void);
6488
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
630
6a47a95e4dbb [gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents: 6485
diff changeset
631
32787
7072f190d6ad Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32687
diff changeset
632 G_END_DECLS
5944
f19df037ac58 [gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
633
37040
91119588bc3a Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37037 35397
diff changeset
634 #endif /* _PURPLE_CONNECTION_H_ */

mercurial