Sun, 11 Nov 2007 21:37:39 +0000
I don't think that incorrect passwords can be helpfully distinguished from
other authentication errors (other than invalid usernames, for instance). For
example, if you typo the username but enter the correct password, it's not the
password that's wrong.
| 5563 | 1 | /** |
| 2 | * @file connection.h Connection API | |
| 3 | * @ingroup core | |
|
20889
3d0ef192f98c
All the links to libpurple signal pages were in the comment containing the
Will Thompson <resiak@pidgin.im>
parents:
20147
diff
changeset
|
4 | * @see @ref connection-signals |
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19897
diff
changeset
|
5 | */ |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19897
diff
changeset
|
6 | |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19897
diff
changeset
|
7 | /* purple |
| 5563 | 8 | * |
| 15884 | 9 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 10 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 11 | * source distribution. | |
|
6460
fc288e7221ca
[gaim-migrate @ 6969]
Christian Hammond <chipx86@chipx86.com>
parents:
6393
diff
changeset
|
12 | * |
| 5563 | 13 | * This program is free software; you can redistribute it and/or modify |
| 14 | * it under the terms of the GNU General Public License as published by | |
| 15 | * the Free Software Foundation; either version 2 of the License, or | |
| 16 | * (at your option) any later version. | |
| 17 | * | |
| 18 | * This program is distributed in the hope that it will be useful, | |
| 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 21 | * GNU General Public License for more details. | |
| 22 | * | |
| 23 | * You should have received a copy of the GNU General Public License | |
| 24 | * 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
|
25 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 5563 | 26 | */ |
| 15884 | 27 | #ifndef _PURPLE_CONNECTION_H_ |
| 28 | #define _PURPLE_CONNECTION_H_ | |
| 5563 | 29 | |
| 15884 | 30 | typedef struct _PurpleConnection PurpleConnection; |
| 5563 | 31 | |
|
6622
277eb0b14653
[gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents:
6605
diff
changeset
|
32 | /** |
|
277eb0b14653
[gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents:
6605
diff
changeset
|
33 | * Flags to change behavior of the client for a given connection. |
|
277eb0b14653
[gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents:
6605
diff
changeset
|
34 | */ |
|
277eb0b14653
[gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents:
6605
diff
changeset
|
35 | typedef enum |
|
277eb0b14653
[gaim-migrate @ 7146]
Robert McQueen <robot101@debian.org>
parents:
6605
diff
changeset
|
36 | { |
| 15884 | 37 | PURPLE_CONNECTION_HTML = 0x0001, /**< Connection sends/receives in 'HTML'. */ |
| 38 | PURPLE_CONNECTION_NO_BGCOLOR = 0x0002, /**< Connection does not send/receive | |
|
6982
12f08de92674
[gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents:
6724
diff
changeset
|
39 | background colors. */ |
| 15884 | 40 | PURPLE_CONNECTION_AUTO_RESP = 0x0004, /**< Send auto responses when away. */ |
| 41 | PURPLE_CONNECTION_FORMATTING_WBFO = 0x0008, /**< The text buffer must be formatted as a whole */ | |
| 42 | PURPLE_CONNECTION_NO_NEWLINES = 0x0010, /**< No new lines are allowed in outgoing messages */ | |
| 43 | PURPLE_CONNECTION_NO_FONTSIZE = 0x0020, /**< Connection does not send/receive font sizes */ | |
| 44 | PURPLE_CONNECTION_NO_URLDESC = 0x0040, /**< Connection does not support descriptions with links */ | |
| 45 | PURPLE_CONNECTION_NO_IMAGES = 0x0080, /**< Connection does not support sending of images */ | |
|
10008
1de3454a0dca
[gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents:
9981
diff
changeset
|
46 | |
| 15884 | 47 | } PurpleConnectionFlags; |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5733
diff
changeset
|
48 | |
| 5563 | 49 | typedef enum |
| 50 | { | |
| 15884 | 51 | PURPLE_DISCONNECTED = 0, /**< Disconnected. */ |
| 52 | PURPLE_CONNECTED, /**< Connected. */ | |
| 53 | PURPLE_CONNECTING /**< Connecting. */ | |
| 5563 | 54 | |
| 15884 | 55 | } PurpleConnectionState; |
| 5563 | 56 | |
|
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
|
57 | /** Possible errors that can cause a connection to be closed. |
|
2ac0dff512ae
Add "@since 2.3.0" annotations to the new API, as advocated by rlaager.
Will Thompson <resiak@pidgin.im>
parents:
21157
diff
changeset
|
58 | * @since 2.3.0 |
|
2ac0dff512ae
Add "@since 2.3.0" annotations to the new API, as advocated by rlaager.
Will Thompson <resiak@pidgin.im>
parents:
21157
diff
changeset
|
59 | */ |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
60 | typedef enum |
|
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
61 | { |
|
20442
97e2d532c2ac
Clarified the meaning of PURPLE_REASON_NETWORK_ERROR and
Will Thompson <resiak@pidgin.im>
parents:
20438
diff
changeset
|
62 | /** There was an error sending or receiving on the network socket, or |
|
97e2d532c2ac
Clarified the meaning of PURPLE_REASON_NETWORK_ERROR and
Will Thompson <resiak@pidgin.im>
parents:
20438
diff
changeset
|
63 | * there was some protocol error (such as the server sending malformed |
|
97e2d532c2ac
Clarified the meaning of PURPLE_REASON_NETWORK_ERROR and
Will Thompson <resiak@pidgin.im>
parents:
20438
diff
changeset
|
64 | * data). |
|
97e2d532c2ac
Clarified the meaning of PURPLE_REASON_NETWORK_ERROR and
Will Thompson <resiak@pidgin.im>
parents:
20438
diff
changeset
|
65 | */ |
| 21279 | 66 | 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
|
67 | /** The username supplied was not valid. */ |
|
ef776d77f325
Add PURPLE_CONNECTION_ERROR_{INVALID_USERNAME,INCORRECT_PASSWORD}, to be used
Will Thompson <resiak@pidgin.im>
parents:
21313
diff
changeset
|
68 | PURPLE_CONNECTION_ERROR_INVALID_USERNAME = 1, |
|
ef776d77f325
Add PURPLE_CONNECTION_ERROR_{INVALID_USERNAME,INCORRECT_PASSWORD}, to be used
Will Thompson <resiak@pidgin.im>
parents:
21313
diff
changeset
|
69 | /** The username, password or some other credential was incorrect. Use |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
70 | * the above errors if the username is known to be invalid. |
|
20442
97e2d532c2ac
Clarified the meaning of PURPLE_REASON_NETWORK_ERROR and
Will Thompson <resiak@pidgin.im>
parents:
20438
diff
changeset
|
71 | */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
72 | PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED = 2, |
|
20442
97e2d532c2ac
Clarified the meaning of PURPLE_REASON_NETWORK_ERROR and
Will Thompson <resiak@pidgin.im>
parents:
20438
diff
changeset
|
73 | /** libpurple doesn't speak any of the authentication methods the |
|
97e2d532c2ac
Clarified the meaning of PURPLE_REASON_NETWORK_ERROR and
Will Thompson <resiak@pidgin.im>
parents:
20438
diff
changeset
|
74 | * server offered. |
|
97e2d532c2ac
Clarified the meaning of PURPLE_REASON_NETWORK_ERROR and
Will Thompson <resiak@pidgin.im>
parents:
20438
diff
changeset
|
75 | */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
76 | PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE = 3, |
|
20882
04bbf1786e15
Split the "you don't have SSL support" meaning of
Will Thompson <resiak@pidgin.im>
parents:
20456
diff
changeset
|
77 | /** libpurple was built without SSL support, and the connection needs |
|
04bbf1786e15
Split the "you don't have SSL support" meaning of
Will Thompson <resiak@pidgin.im>
parents:
20456
diff
changeset
|
78 | * SSL. |
|
04bbf1786e15
Split the "you don't have SSL support" meaning of
Will Thompson <resiak@pidgin.im>
parents:
20456
diff
changeset
|
79 | */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
80 | PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT = 4, |
|
20882
04bbf1786e15
Split the "you don't have SSL support" meaning of
Will Thompson <resiak@pidgin.im>
parents:
20456
diff
changeset
|
81 | /** There was an error negotiating SSL on this connection, or the |
|
04bbf1786e15
Split the "you don't have SSL support" meaning of
Will Thompson <resiak@pidgin.im>
parents:
20456
diff
changeset
|
82 | * server does not support encryption but an account option was set to |
|
04bbf1786e15
Split the "you don't have SSL support" meaning of
Will Thompson <resiak@pidgin.im>
parents:
20456
diff
changeset
|
83 | * require it. |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
84 | */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
85 | PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR = 5, |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
86 | /** Someone is already connected to the server using the name you are |
|
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
87 | * trying to connect with. |
|
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
88 | */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
89 | PURPLE_CONNECTION_ERROR_NAME_IN_USE = 6, |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
90 | |
|
20456
77550b97ebf2
Rename PURPLE_REASON_INVALID_USERNAME to PURPLE_REASON_INVALID_SETTINGS, so it
Will Thompson <resiak@pidgin.im>
parents:
20443
diff
changeset
|
91 | /** The username/server/other preference for the account isn't valid. |
|
77550b97ebf2
Rename PURPLE_REASON_INVALID_USERNAME to PURPLE_REASON_INVALID_SETTINGS, so it
Will Thompson <resiak@pidgin.im>
parents:
20443
diff
changeset
|
92 | * For instance, on IRC the screen name cannot contain white space. |
|
77550b97ebf2
Rename PURPLE_REASON_INVALID_USERNAME to PURPLE_REASON_INVALID_SETTINGS, so it
Will Thompson <resiak@pidgin.im>
parents:
20443
diff
changeset
|
93 | * This reason should not be used for incorrect passwords etc: use |
| 21279 | 94 | * #PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED for that. |
|
20456
77550b97ebf2
Rename PURPLE_REASON_INVALID_USERNAME to PURPLE_REASON_INVALID_SETTINGS, so it
Will Thompson <resiak@pidgin.im>
parents:
20443
diff
changeset
|
95 | * |
|
20438
cbb156152b0e
Add PURPLE_REASON_INVALID_USERNAME, which should go away as soon as there's
Will Thompson <resiak@pidgin.im>
parents:
20434
diff
changeset
|
96 | * @todo This reason really shouldn't be necessary. Usernames and |
|
cbb156152b0e
Add PURPLE_REASON_INVALID_USERNAME, which should go away as soon as there's
Will Thompson <resiak@pidgin.im>
parents:
20434
diff
changeset
|
97 | * other account preferences should be validated when the |
|
cbb156152b0e
Add PURPLE_REASON_INVALID_USERNAME, which should go away as soon as there's
Will Thompson <resiak@pidgin.im>
parents:
20434
diff
changeset
|
98 | * account is created. |
|
cbb156152b0e
Add PURPLE_REASON_INVALID_USERNAME, which should go away as soon as there's
Will Thompson <resiak@pidgin.im>
parents:
20434
diff
changeset
|
99 | */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
100 | PURPLE_CONNECTION_ERROR_INVALID_SETTINGS = 7, |
|
20438
cbb156152b0e
Add PURPLE_REASON_INVALID_USERNAME, which should go away as soon as there's
Will Thompson <resiak@pidgin.im>
parents:
20434
diff
changeset
|
101 | |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
102 | /** The server did not provide a SSL certificate. */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
103 | PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED = 8, |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
104 | /** The server's SSL certificate could not be trusted. */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
105 | PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED = 9, |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
106 | /** The server's SSL certificate has expired. */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
107 | PURPLE_CONNECTION_ERROR_CERT_EXPIRED = 10, |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
108 | /** The server's SSL certificate is not yet valid. */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
109 | PURPLE_CONNECTION_ERROR_CERT_NOT_ACTIVATED = 11, |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
110 | /** The server's SSL certificate did not match its hostname. */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
111 | PURPLE_CONNECTION_ERROR_CERT_HOSTNAME_MISMATCH = 12, |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
112 | /** The server's SSL certificate does not have the expected |
|
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
113 | * fingerprint. |
|
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
114 | */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
115 | PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH = 13, |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
116 | /** The server's SSL certificate is self-signed. */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
117 | PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED = 14, |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
118 | /** There was some other error validating the server's SSL certificate. |
|
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
119 | */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
120 | 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
|
121 | |
|
0e840b026c82
Remove non-error PurpleDisconnectReasons, and add PURPLE_REASON_OTHER_ERROR
Will Thompson <resiak@pidgin.im>
parents:
20428
diff
changeset
|
122 | /** Some other error occured which fits into none of the other |
|
0e840b026c82
Remove non-error PurpleDisconnectReasons, and add PURPLE_REASON_OTHER_ERROR
Will Thompson <resiak@pidgin.im>
parents:
20428
diff
changeset
|
123 | * categories. |
|
0e840b026c82
Remove non-error PurpleDisconnectReasons, and add PURPLE_REASON_OTHER_ERROR
Will Thompson <resiak@pidgin.im>
parents:
20428
diff
changeset
|
124 | */ |
|
21278
19f6ce8ee4ad
rlaager suggested using the last element of the PurpleDisconnectReason enum
Will Thompson <resiak@pidgin.im>
parents:
21161
diff
changeset
|
125 | /* purple_connection_error_reason() in connection.c uses the fact that |
|
19f6ce8ee4ad
rlaager suggested using the last element of the PurpleDisconnectReason enum
Will Thompson <resiak@pidgin.im>
parents:
21161
diff
changeset
|
126 | * 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
|
127 | * 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
|
128 | */ |
|
21509
e167cb01e146
I don't think that incorrect passwords can be helpfully distinguished from
Will Thompson <resiak@pidgin.im>
parents:
21507
diff
changeset
|
129 | PURPLE_CONNECTION_ERROR_OTHER_ERROR = 16 |
| 21279 | 130 | } PurpleConnectionError; |
|
20428
5526fe433c91
Create a PurpleDisconnectReason enum (which happens to be identical to
Will Thompson <resiak@pidgin.im>
parents:
19897
diff
changeset
|
131 | |
|
21295
46659b1bf31f
PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents:
21281
diff
changeset
|
132 | /** Holds the type of an error along with its description. */ |
|
46659b1bf31f
PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents:
21281
diff
changeset
|
133 | typedef struct |
|
46659b1bf31f
PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents:
21281
diff
changeset
|
134 | { |
|
46659b1bf31f
PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents:
21281
diff
changeset
|
135 | /** The type of error. */ |
|
46659b1bf31f
PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents:
21281
diff
changeset
|
136 | PurpleConnectionError type; |
|
46659b1bf31f
PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents:
21281
diff
changeset
|
137 | /** A localised, human-readable description of the error. */ |
|
21313
151d5a5258a8
PurpleConnectionErrorInfo.description should not be const.
Will Thompson <resiak@pidgin.im>
parents:
21298
diff
changeset
|
138 | char *description; |
|
21298
d0d9cfaf3fe7
Mark pointed out that PurpleConnectionErrorPair is not a very good name for the
Will Thompson <resiak@pidgin.im>
parents:
21297
diff
changeset
|
139 | } PurpleConnectionErrorInfo; |
|
21295
46659b1bf31f
PurpleConnectionErrorPair is a better name for struct { PurpleConnectionError;
Will Thompson <resiak@pidgin.im>
parents:
21281
diff
changeset
|
140 | |
|
10021
5aa380278a15
[gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents:
10008
diff
changeset
|
141 | #include <time.h> |
|
5aa380278a15
[gaim-migrate @ 10946]
Mark Doliner <markdoliner@pidgin.im>
parents:
10008
diff
changeset
|
142 | |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
143 | #include "account.h" |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
144 | #include "plugin.h" |
| 10400 | 145 | #include "status.h" |
|
20443
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20442
diff
changeset
|
146 | #include "sslconn.h" |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
147 | |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
148 | /** Connection UI operations. Used to notify the user of changes to |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
149 | * connections, such as being disconnected, and to respond to the |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
150 | * underlying network connection appearing and disappearing. UIs should |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
151 | * call #purple_connections_set_ui_ops() with an instance of this struct. |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
152 | * |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
153 | * @see @ref ui-ops |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
154 | */ |
| 5563 | 155 | typedef struct |
| 156 | { | |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
157 | /** When an account is connecting, this operation is called to notify |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
158 | * the UI of what is happening, as well as which @a step out of @a |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
159 | * step_count has been reached (which might be displayed as a progress |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
160 | * bar). |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
161 | * @see #purple_connection_update_progress |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
162 | */ |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
163 | void (*connect_progress)(PurpleConnection *gc, |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
164 | const char *text, |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
165 | size_t step, |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
166 | size_t step_count); |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
167 | |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
168 | /** Called when a connection is established (just before the |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
169 | * @ref signed-on signal). |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
170 | */ |
| 15884 | 171 | void (*connected)(PurpleConnection *gc); |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
172 | /** Called when a connection is ended (between the @ref signing-off |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
173 | * and @ref signed-off signals). |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
174 | */ |
| 15884 | 175 | void (*disconnected)(PurpleConnection *gc); |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
176 | |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
177 | /** Used to display connection-specific notices. (Pidgin's Gtk user |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
178 | * interface implements this as a no-op; #purple_connection_notice(), |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
179 | * which uses this operation, is not used by any of the protocols |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
180 | * shipped with libpurple.) |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
181 | */ |
| 15884 | 182 | void (*notice)(PurpleConnection *gc, const char *text); |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
183 | |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
184 | /** Called when an error causes a connection to be disconnected. |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
185 | * Called before #disconnected. |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
186 | * @param text a localized error message. |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
187 | * @see #purple_connection_error |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
188 | * @deprecated in favour of |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
189 | * #PurpleConnectionUiOps.report_disconnect_reason. |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
190 | */ |
| 15884 | 191 | void (*report_disconnect)(PurpleConnection *gc, const char *text); |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
192 | |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
193 | /** Called when libpurple discovers that the computer's network |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
194 | * connection is active. On Linux, this uses Network Manager if |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
195 | * available; on Windows, it uses Win32's network change notification |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
196 | * infrastructure. |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
197 | */ |
| 14758 | 198 | void (*network_connected)(); |
|
19128
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
199 | /** Called when libpurple discovers that the computer's network |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
200 | * connection has gone away. |
|
871e26c75048
Document PurpleConnectionUiOps. (Does purple_connection_notice predate the
Will Thompson <resiak@pidgin.im>
parents:
18190
diff
changeset
|
201 | */ |
| 14758 | 202 | void (*network_disconnected)(); |
| 5563 | 203 | |
|
21156
c47055d4ce2a
Update report_disconnect_reason documentation to match reality. Also include
Will Thompson <resiak@pidgin.im>
parents:
21154
diff
changeset
|
204 | /** Called when an error causes a connection to be disconnected. |
|
c47055d4ce2a
Update report_disconnect_reason documentation to match reality. Also include
Will Thompson <resiak@pidgin.im>
parents:
21154
diff
changeset
|
205 | * Called before #disconnected. This op is intended to replace |
|
c47055d4ce2a
Update report_disconnect_reason documentation to match reality. Also include
Will Thompson <resiak@pidgin.im>
parents:
21154
diff
changeset
|
206 | * #report_disconnect. If both are implemented, this will be called |
|
c47055d4ce2a
Update report_disconnect_reason documentation to match reality. Also include
Will Thompson <resiak@pidgin.im>
parents:
21154
diff
changeset
|
207 | * first; however, there's no real reason to implement both. |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
208 | * @param reason why the connection ended, if known, or |
| 21279 | 209 | * #PURPLE_CONNECTION_ERROR_OTHER_ERROR, if not. |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
210 | * @param text a localized message describing the disconnection |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
211 | * in more detail to the user. |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
212 | * @see #purple_connection_error_reason |
|
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
|
213 | * @since 2.3.0 |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
214 | */ |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
215 | void (*report_disconnect_reason)(PurpleConnection *gc, |
| 21279 | 216 | PurpleConnectionError reason, |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
217 | const char *text); |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
218 | |
|
16743
1ce5ffe12e2a
Initial addition of padding for ui_ops and other class-like structs
Gary Kramlich <grim@reaperworld.com>
parents:
15884
diff
changeset
|
219 | 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
|
220 | 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
|
221 | void (*_purple_reserved3)(void); |
| 15884 | 222 | } PurpleConnectionUiOps; |
| 5563 | 223 | |
| 15884 | 224 | struct _PurpleConnection |
| 5563 | 225 | { |
| 15884 | 226 | PurplePlugin *prpl; /**< The protocol plugin. */ |
| 227 | PurpleConnectionFlags flags; /**< Connection flags. */ | |
| 5563 | 228 | |
| 15884 | 229 | PurpleConnectionState state; /**< The connection state. */ |
| 5563 | 230 | |
| 15884 | 231 | PurpleAccount *account; /**< The account being connected to. */ |
|
10740
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
232 | char *password; /**< The password used. */ |
| 5563 | 233 | int inpa; /**< The input watcher. */ |
| 234 | ||
|
21149
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
235 | GSList *buddy_chats; /**< A list of active chats |
|
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
236 | (#PurpleConversation structs of type |
|
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
237 | #PURPLE_CONV_TYPE_CHAT). */ |
| 5563 | 238 | void *proto_data; /**< Protocol-specific data. */ |
| 239 | ||
|
14341
e67646af66ab
[gaim-migrate @ 16964]
Mark Doliner <markdoliner@pidgin.im>
parents:
14254
diff
changeset
|
240 | char *display_name; /**< How you appear to other people. */ |
|
10745
04039e970a30
[gaim-migrate @ 12347]
Mark Doliner <markdoliner@pidgin.im>
parents:
10742
diff
changeset
|
241 | guint keepalive; /**< Keep-alive. */ |
| 5563 | 242 | |
|
21149
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
243 | /** Wants to Die state. This is set when the user chooses to log out, or |
|
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
244 | * when the protocol is disconnected and should not be automatically |
|
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
245 | * reconnected (incorrect password, etc.). prpls should rely on |
|
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
246 | * purple_connection_error_reason() to set this for them rather than |
|
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
247 | * setting it themselves. |
| 21279 | 248 | * @see purple_connection_error_is_fatal |
|
21149
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
249 | */ |
|
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
250 | gboolean wants_to_die; |
| 5563 | 251 | |
| 6393 | 252 | guint disconnect_timeout; /**< Timer used for nasty stack tricks */ |
| 5563 | 253 | }; |
| 254 | ||
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
255 | #ifdef __cplusplus |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
256 | extern "C" { |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
257 | #endif |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
258 | |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
259 | /**************************************************************************/ |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
260 | /** @name Connection API */ |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
261 | /**************************************************************************/ |
|
6488
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
262 | /*@{*/ |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
263 | |
|
21230
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
264 | #ifndef PURPLE_DISABLE_DEPRECATED |
| 5563 | 265 | /** |
| 15884 | 266 | * This function should only be called by purple_account_connect() |
|
10740
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
267 | * in account.c. If you're trying to sign on an account, use that |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
268 | * function instead. |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
269 | * |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
270 | * Creates a connection to the specified account and either connects |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
271 | * or attempts to register a new account. If you are logging in, |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
272 | * the connection uses the current active status for this account. |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
273 | * So if you want to sign on as "away," for example, you need to |
| 15884 | 274 | * have called purple_account_set_status(account, "away"). |
| 275 | * (And this will call purple_account_connect() automatically). | |
| 5563 | 276 | * |
|
10758
b4554ec8d126
[gaim-migrate @ 12361]
Mark Doliner <markdoliner@pidgin.im>
parents:
10745
diff
changeset
|
277 | * @param account The account the connection should be connecting to. |
|
b4554ec8d126
[gaim-migrate @ 12361]
Mark Doliner <markdoliner@pidgin.im>
parents:
10745
diff
changeset
|
278 | * @param regist Whether we are registering a new account or just |
|
b4554ec8d126
[gaim-migrate @ 12361]
Mark Doliner <markdoliner@pidgin.im>
parents:
10745
diff
changeset
|
279 | * trying to do a normal signon. |
|
10740
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
280 | * @param password The password to use. |
|
21230
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
281 | * |
|
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
282 | * @deprecated As this is internal, we should make it private in 3.0.0. |
| 5563 | 283 | */ |
| 15884 | 284 | void purple_connection_new(PurpleAccount *account, gboolean regist, |
|
10740
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
285 | const char *password); |
|
21230
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
286 | #endif |
| 5563 | 287 | |
|
21230
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
288 | #ifndef PURPLE_DISABLE_DEPRECATED |
| 5563 | 289 | /** |
|
18912
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
290 | * This function should only be called by purple_account_unregister() |
|
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
291 | * in account.c. |
|
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
292 | * |
|
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
293 | * Tries to unregister the account on the server. If the account is not |
|
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
294 | * connected, also creates a new connection. |
|
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
295 | * |
|
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
296 | * @param account The account to unregister |
|
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
297 | * @param password The password to use. |
|
21230
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
298 | * @param cb Optional callback to be called when unregistration is complete |
|
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
299 | * @param user_data user data to pass to the callback |
|
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
300 | * |
|
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
301 | * @deprecated As this is internal, we should make it private in 3.0.0. |
|
18912
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
302 | */ |
|
18994
310e9d853e2b
Implemented a callback for unregistering, mirroring the registration callback. Since this is a new API, I can do it properly by passing it right in the unregister function call, instead of having a separate function for setting it.
Andreas Monitzer <am@adiumx.com>
parents:
18912
diff
changeset
|
303 | void purple_connection_new_unregister(PurpleAccount *account, const char *password, PurpleAccountUnregistrationCb cb, void *user_data); |
|
21230
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
304 | #endif |
|
18912
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
305 | |
|
21230
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
306 | #ifndef PURPLE_DISABLE_DEPRECATED |
|
18912
606597744812
Added unregistering XMPP accounts. This requires a new prpl-struct entry, but I got an ok for that on the mailing list.
Andreas Monitzer <am@adiumx.com>
parents:
18190
diff
changeset
|
307 | /** |
| 15884 | 308 | * Disconnects and destroys a PurpleConnection. |
|
13976
2543396bd00e
[gaim-migrate @ 16414]
Mark Doliner <markdoliner@pidgin.im>
parents:
12272
diff
changeset
|
309 | * |
| 15884 | 310 | * This function should only be called by purple_account_disconnect() |
|
13976
2543396bd00e
[gaim-migrate @ 16414]
Mark Doliner <markdoliner@pidgin.im>
parents:
12272
diff
changeset
|
311 | * in account.c. If you're trying to sign off an account, use that |
|
10738
63ca8277c234
[gaim-migrate @ 12340]
Mark Doliner <markdoliner@pidgin.im>
parents:
10665
diff
changeset
|
312 | * function instead. |
|
63ca8277c234
[gaim-migrate @ 12340]
Mark Doliner <markdoliner@pidgin.im>
parents:
10665
diff
changeset
|
313 | * |
| 15884 | 314 | * @param gc The purple connection to destroy. |
|
21230
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
315 | * |
|
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
316 | * @deprecated As this is internal, we should make it private in 3.0.0. |
| 5563 | 317 | */ |
| 15884 | 318 | void purple_connection_destroy(PurpleConnection *gc); |
|
21230
1084c074d116
Mark some libpurple-internal functions as deprecated to further help keep
Richard Laager <rlaager@pidgin.im>
parents:
20889
diff
changeset
|
319 | #endif |
| 6581 | 320 | |
| 321 | /** | |
|
11718
90804d019837
[gaim-migrate @ 14009]
Mark Doliner <markdoliner@pidgin.im>
parents:
10758
diff
changeset
|
322 | * Sets the connection state. PRPLs should call this and pass in |
|
21149
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
323 | * the state #PURPLE_CONNECTED when the account is completely |
|
11718
90804d019837
[gaim-migrate @ 14009]
Mark Doliner <markdoliner@pidgin.im>
parents:
10758
diff
changeset
|
324 | * signed on. What does it mean to be completely signed on? If |
|
90804d019837
[gaim-migrate @ 14009]
Mark Doliner <markdoliner@pidgin.im>
parents:
10758
diff
changeset
|
325 | * the core can call prpl->set_status, and it successfully changes |
|
90804d019837
[gaim-migrate @ 14009]
Mark Doliner <markdoliner@pidgin.im>
parents:
10758
diff
changeset
|
326 | * your status, then the account is online. |
| 5563 | 327 | * |
| 328 | * @param gc The connection. | |
| 329 | * @param state The connection state. | |
| 330 | */ | |
| 15884 | 331 | void purple_connection_set_state(PurpleConnection *gc, PurpleConnectionState state); |
| 5563 | 332 | |
| 333 | /** | |
| 334 | * Sets the connection's account. | |
| 335 | * | |
| 336 | * @param gc The connection. | |
| 337 | * @param account The account. | |
| 338 | */ | |
| 15884 | 339 | void purple_connection_set_account(PurpleConnection *gc, PurpleAccount *account); |
| 5563 | 340 | |
| 341 | /** | |
| 342 | * Sets the connection's displayed name. | |
| 343 | * | |
| 344 | * @param gc The connection. | |
| 345 | * @param name The displayed name. | |
| 346 | */ | |
| 15884 | 347 | void purple_connection_set_display_name(PurpleConnection *gc, const char *name); |
| 5563 | 348 | |
| 349 | /** | |
| 350 | * Returns the connection state. | |
| 351 | * | |
| 352 | * @param gc The connection. | |
| 353 | * | |
| 354 | * @return The connection state. | |
| 355 | */ | |
| 15884 | 356 | PurpleConnectionState purple_connection_get_state(const PurpleConnection *gc); |
| 5563 | 357 | |
| 358 | /** | |
|
9019
b9a333b36763
[gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents:
8735
diff
changeset
|
359 | * Returns TRUE if the account is connected, otherwise returns FALSE. |
|
b9a333b36763
[gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents:
8735
diff
changeset
|
360 | * |
|
b9a333b36763
[gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents:
8735
diff
changeset
|
361 | * @return TRUE if the account is connected, otherwise returns FALSE. |
|
b9a333b36763
[gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents:
8735
diff
changeset
|
362 | */ |
| 15884 | 363 | #define PURPLE_CONNECTION_IS_CONNECTED(gc) \ |
| 364 | (gc->state == PURPLE_CONNECTED) | |
|
9019
b9a333b36763
[gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents:
8735
diff
changeset
|
365 | |
|
b9a333b36763
[gaim-migrate @ 9795]
Mark Doliner <markdoliner@pidgin.im>
parents:
8735
diff
changeset
|
366 | /** |
| 5563 | 367 | * Returns the connection's account. |
| 368 | * | |
| 369 | * @param gc The connection. | |
| 370 | * | |
| 371 | * @return The connection's account. | |
| 372 | */ | |
| 15884 | 373 | PurpleAccount *purple_connection_get_account(const PurpleConnection *gc); |
| 5563 | 374 | |
| 375 | /** | |
|
10740
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
376 | * Returns the connection's password. |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
377 | * |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
378 | * @param gc The connection. |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
379 | * |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
380 | * @return The connection's password. |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
381 | */ |
| 15884 | 382 | const char *purple_connection_get_password(const PurpleConnection *gc); |
|
10740
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
383 | |
|
a1cb6b819a21
[gaim-migrate @ 12342]
Mark Doliner <markdoliner@pidgin.im>
parents:
10738
diff
changeset
|
384 | /** |
| 5563 | 385 | * Returns the connection's displayed name. |
| 386 | * | |
| 387 | * @param gc The connection. | |
| 388 | * | |
| 389 | * @return The connection's displayed name. | |
| 390 | */ | |
| 15884 | 391 | const char *purple_connection_get_display_name(const PurpleConnection *gc); |
| 5563 | 392 | |
| 393 | /** | |
| 394 | * Updates the connection progress. | |
| 395 | * | |
| 396 | * @param gc The connection. | |
| 397 | * @param text Information on the current step. | |
| 398 | * @param step The current step. | |
| 399 | * @param count The total number of steps. | |
| 400 | */ | |
| 15884 | 401 | void purple_connection_update_progress(PurpleConnection *gc, const char *text, |
| 5563 | 402 | size_t step, size_t count); |
| 403 | ||
| 404 | /** | |
|
5571
b709464f507e
[gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents:
5564
diff
changeset
|
405 | * Displays a connection-specific notice. |
|
b709464f507e
[gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents:
5564
diff
changeset
|
406 | * |
|
b709464f507e
[gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents:
5564
diff
changeset
|
407 | * @param gc The connection. |
|
b709464f507e
[gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents:
5564
diff
changeset
|
408 | * @param text The notice text. |
|
b709464f507e
[gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents:
5564
diff
changeset
|
409 | */ |
| 15884 | 410 | void purple_connection_notice(PurpleConnection *gc, const char *text); |
|
5571
b709464f507e
[gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents:
5564
diff
changeset
|
411 | |
|
b709464f507e
[gaim-migrate @ 5973]
Christian Hammond <chipx86@chipx86.com>
parents:
5564
diff
changeset
|
412 | /** |
|
5564
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
413 | * Closes a connection with an error. |
|
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
414 | * |
|
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
415 | * @param gc The connection. |
|
21280
2db787ddddf8
Document that the char * parameter of purple_connection_error{,_reason} may
Will Thompson <resiak@pidgin.im>
parents:
21279
diff
changeset
|
416 | * @param reason The error text, which may not be @c NULL. |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
417 | * @deprecated in favour of #purple_connection_error_reason. Calling |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
418 | * @c purple_connection_error(gc, text) is equivalent to calling |
|
21149
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
419 | * @c purple_connection_error_reason(gc, reason, text) where @c reason is |
| 21279 | 420 | * #PURPLE_CONNECTION_ERROR_OTHER_ERROR if @c gc->wants_to_die is @c TRUE, and |
| 421 | * #PURPLE_CONNECTION_ERROR_NETWORK_ERROR if not. (This is to keep | |
| 422 | * auto-reconnection behaviour the same when using old prpls which don't use | |
| 423 | * reasons yet.) | |
|
5564
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
424 | */ |
| 15884 | 425 | void purple_connection_error(PurpleConnection *gc, const char *reason); |
|
5564
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
426 | |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
427 | /** |
|
21280
2db787ddddf8
Document that the char * parameter of purple_connection_error{,_reason} may
Will Thompson <resiak@pidgin.im>
parents:
21279
diff
changeset
|
428 | * Closes a connection with an error and a human-readable description of the |
|
21149
160a0845b527
rlaager pointed out that purple_connection_error_reason should be setting
Will Thompson <resiak@pidgin.im>
parents:
21148
diff
changeset
|
429 | * error. It also sets @c gc->wants_to_die to the value of |
|
21297
9c34edc92ad2
Document the gc parameter of purple_connection_error_reason to shut doxygen up.
Will Thompson <resiak@pidgin.im>
parents:
21295
diff
changeset
|
430 | * #purple_connection_error_is_fatal(@a reason), mainly for |
|
9c34edc92ad2
Document the gc parameter of purple_connection_error_reason to shut doxygen up.
Will Thompson <resiak@pidgin.im>
parents:
21295
diff
changeset
|
431 | * backwards-compatibility. |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
432 | * |
|
21297
9c34edc92ad2
Document the gc parameter of purple_connection_error_reason to shut doxygen up.
Will Thompson <resiak@pidgin.im>
parents:
21295
diff
changeset
|
433 | * @param gc the connection which is closing. |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
434 | * @param reason why the connection is closing. |
|
21280
2db787ddddf8
Document that the char * parameter of purple_connection_error{,_reason} may
Will Thompson <resiak@pidgin.im>
parents:
21279
diff
changeset
|
435 | * @param description a non-@c NULL localized description of the error. |
|
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
|
436 | * @since 2.3.0 |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
437 | */ |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
438 | void |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
439 | purple_connection_error_reason (PurpleConnection *gc, |
| 21279 | 440 | PurpleConnectionError reason, |
|
20430
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
441 | const char *description); |
|
bb30dff3da21
Create PurpleConnectionUiOps.report_disconnect_reason and
Will Thompson <resiak@pidgin.im>
parents:
20429
diff
changeset
|
442 | |
|
20431
49979e453876
Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents:
20430
diff
changeset
|
443 | /** |
|
20443
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20442
diff
changeset
|
444 | * Closes a connection due to an SSL error; this is basically a shortcut to |
| 21279 | 445 | * turning the #PurpleSslErrorType into a #PurpleConnectionError and a |
|
20443
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20442
diff
changeset
|
446 | * human-readable string and then calling purple_connection_error_reason(). |
|
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
|
447 | * @since 2.3.0 |
|
20443
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20442
diff
changeset
|
448 | */ |
|
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20442
diff
changeset
|
449 | void |
|
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20442
diff
changeset
|
450 | 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
|
451 | PurpleSslErrorType ssl_error); |
|
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20442
diff
changeset
|
452 | |
|
7487bb69ae76
Create purple_connection_ssl_error(), which converts a PurpleSslErrorType
Will Thompson <resiak@pidgin.im>
parents:
20442
diff
changeset
|
453 | /** |
|
20431
49979e453876
Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents:
20430
diff
changeset
|
454 | * 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
|
455 | * 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
|
456 | * 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
|
457 | * For instance, #PURPLE_CONNECTION_ERROR_NETWORK_ERROR is a temporary error, |
|
2db787ddddf8
Document that the char * parameter of purple_connection_error{,_reason} may
Will Thompson <resiak@pidgin.im>
parents:
21279
diff
changeset
|
458 | * which might be caused by losing the network connection, so <tt> |
|
2db787ddddf8
Document that the char * parameter of purple_connection_error{,_reason} may
Will Thompson <resiak@pidgin.im>
parents:
21279
diff
changeset
|
459 | * purple_connection_error_is_fatal (PURPLE_CONNECTION_ERROR_NETWORK_ERROR)</tt> |
|
2db787ddddf8
Document that the char * parameter of purple_connection_error{,_reason} may
Will Thompson <resiak@pidgin.im>
parents:
21279
diff
changeset
|
460 | * is @c FALSE. On the other hand, |
| 21279 | 461 | * #PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED probably indicates a |
| 462 | * misconfiguration of the account which needs the user to go fix it up, so | |
|
21280
2db787ddddf8
Document that the char * parameter of purple_connection_error{,_reason} may
Will Thompson <resiak@pidgin.im>
parents:
21279
diff
changeset
|
463 | * <tt> purple_connection_error_is_fatal |
|
2db787ddddf8
Document that the char * parameter of purple_connection_error{,_reason} may
Will Thompson <resiak@pidgin.im>
parents:
21279
diff
changeset
|
464 | * (PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED)</tt> is @c TRUE. |
|
20431
49979e453876
Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents:
20430
diff
changeset
|
465 | * |
|
49979e453876
Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents:
20430
diff
changeset
|
466 | * (This function is meant to replace checking PurpleConnection.wants_to_die.) |
|
49979e453876
Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents:
20430
diff
changeset
|
467 | * |
|
21154
be1799decdb7
Clarify the documentation of the return value of
Will Thompson <resiak@pidgin.im>
parents:
21149
diff
changeset
|
468 | * @return @c TRUE if the account should not be automatically reconnected, and |
|
be1799decdb7
Clarify the documentation of the return value of
Will Thompson <resiak@pidgin.im>
parents:
21149
diff
changeset
|
469 | * @c FALSE otherwise. |
|
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
|
470 | * @since 2.3.0 |
|
20431
49979e453876
Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents:
20430
diff
changeset
|
471 | */ |
|
49979e453876
Create purple_connection_reason_is_fatal, which is basically a replacement for
Will Thompson <resiak@pidgin.im>
parents:
20430
diff
changeset
|
472 | gboolean |
| 21279 | 473 | 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
|
474 | |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
475 | /*@}*/ |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
476 | |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
477 | /**************************************************************************/ |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
478 | /** @name Connections API */ |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
479 | /**************************************************************************/ |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
480 | /*@{*/ |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
481 | |
|
5564
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
482 | /** |
| 5563 | 483 | * Disconnects from all connections. |
| 484 | */ | |
| 15884 | 485 | void purple_connections_disconnect_all(void); |
| 5563 | 486 | |
| 487 | /** | |
|
10352
802e7ab5b838
[gaim-migrate @ 11569]
Mark Doliner <markdoliner@pidgin.im>
parents:
10272
diff
changeset
|
488 | * Returns a list of all active connections. This does not |
|
802e7ab5b838
[gaim-migrate @ 11569]
Mark Doliner <markdoliner@pidgin.im>
parents:
10272
diff
changeset
|
489 | * include connections that are in the process of connecting. |
| 5563 | 490 | * |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18122
diff
changeset
|
491 | * @constreturn A list of all active connections. |
| 5563 | 492 | */ |
|
18122
9bf9970c1b6a
disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents:
18121
diff
changeset
|
493 | GList *purple_connections_get_all(void); |
| 5563 | 494 | |
|
5564
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
495 | /** |
|
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
496 | * Returns a list of all connections in the process of connecting. |
|
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
497 | * |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
18122
diff
changeset
|
498 | * @constreturn A list of connecting connections. |
|
5564
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
499 | */ |
|
18122
9bf9970c1b6a
disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents:
18121
diff
changeset
|
500 | GList *purple_connections_get_connecting(void); |
|
5564
1779a1bfbdb8
[gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
501 | |
| 9221 | 502 | /** |
| 503 | * Checks if gc is still a valid pointer to a gc. | |
| 504 | * | |
| 505 | * @return @c TRUE if gc is valid. | |
| 506 | */ | |
|
14183
bdde840e984c
[gaim-migrate @ 16755]
Mark Doliner <markdoliner@pidgin.im>
parents:
14030
diff
changeset
|
507 | /* |
|
bdde840e984c
[gaim-migrate @ 16755]
Mark Doliner <markdoliner@pidgin.im>
parents:
14030
diff
changeset
|
508 | * TODO: Eventually this bad boy will be removed, because it is |
|
bdde840e984c
[gaim-migrate @ 16755]
Mark Doliner <markdoliner@pidgin.im>
parents:
14030
diff
changeset
|
509 | * a gross fix for a crashy problem. |
|
bdde840e984c
[gaim-migrate @ 16755]
Mark Doliner <markdoliner@pidgin.im>
parents:
14030
diff
changeset
|
510 | */ |
|
18122
9bf9970c1b6a
disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents:
18121
diff
changeset
|
511 | #define PURPLE_CONNECTION_IS_VALID(gc) (g_list_find(purple_connections_get_all(), (gc)) != NULL) |
| 9221 | 512 | |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
513 | /*@}*/ |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
514 | |
| 5563 | 515 | /**************************************************************************/ |
|
7122
5f40c16a4ae4
[gaim-migrate @ 7689]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
516 | /** @name UI Registration Functions */ |
| 5563 | 517 | /**************************************************************************/ |
| 518 | /*@{*/ | |
| 519 | ||
| 520 | /** | |
| 521 | * Sets the UI operations structure to be used for connections. | |
| 522 | * | |
| 523 | * @param ops The UI operations structure. | |
| 524 | */ | |
| 15884 | 525 | void purple_connections_set_ui_ops(PurpleConnectionUiOps *ops); |
| 5563 | 526 | |
| 527 | /** | |
| 528 | * Returns the UI operations structure used for connections. | |
| 529 | * | |
| 530 | * @return The UI operations structure in use. | |
| 531 | */ | |
| 15884 | 532 | PurpleConnectionUiOps *purple_connections_get_ui_ops(void); |
| 5563 | 533 | |
| 534 | /*@}*/ | |
| 535 | ||
|
6488
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
536 | /**************************************************************************/ |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
537 | /** @name Connections Subsystem */ |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
538 | /**************************************************************************/ |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
539 | /*@{*/ |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
540 | |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
541 | /** |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
542 | * Initializes the connections subsystem. |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
543 | */ |
| 15884 | 544 | void purple_connections_init(void); |
|
6488
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
545 | |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
546 | /** |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
547 | * Uninitializes the connections subsystem. |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
548 | */ |
| 15884 | 549 | void purple_connections_uninit(void); |
|
6488
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
550 | |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
551 | /** |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
552 | * Returns the handle to the connections subsystem. |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
553 | * |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
554 | * @return The connections subsystem handle. |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
555 | */ |
| 15884 | 556 | void *purple_connections_get_handle(void); |
|
6488
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
557 | |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
558 | /*@}*/ |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
559 | |
|
6a47a95e4dbb
[gaim-migrate @ 7002]
Christian Hammond <chipx86@chipx86.com>
parents:
6485
diff
changeset
|
560 | |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
561 | #ifdef __cplusplus |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
562 | } |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
563 | #endif |
|
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
564 | |
| 15884 | 565 | #endif /* _PURPLE_CONNECTION_H_ */ |