libpurple/request.c

Fri, 04 Oct 2024 00:48:33 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 04 Oct 2024 00:48:33 -0500
changeset 42997
368deff13c21
parent 42834
8c7bd2b5757e
permissions
-rw-r--r--

Split purpleprivate.h up into individual files

purpleprivate.h got over used and was poorly maintained previously. By breaking
it up to separate files they will be easier to maintain and should be less
likely to be included when they're not necessary.

Testing Done:
Called in the turtles and ran in a devenv.

Reviewed at https://reviews.imfreedom.org/r/3562/

42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
1 /*
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
2 * Purple - Internet Messaging Library
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7964
diff changeset
7 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6325
diff changeset
8 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
9 * This library is free software; you can redistribute it and/or modify it
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
10 * under the terms of the GNU General Public License as published by the Free
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
11 * Software Foundation; either version 2 of the License, or (at your option)
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
12 * any later version.
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
14 * This library is distributed in the hope that it will be useful, but WITHOUT
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
17 * more details.
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
19 * You should have received a copy of the GNU General Public License along with
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42158
diff changeset
20 * this library; if not, see <https://www.gnu.org/licenses/>.
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 */
24900
a19d983918c2 Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents: 24899
diff changeset
22
40441
f23c7e772667 Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents: 40350
diff changeset
23 #include <glib/gi18n-lib.h>
f23c7e772667 Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents: 40350
diff changeset
24
40756
3a58ef28ee44 Implement mitigation for GHSL-2021-045
Gary Kramlich <grim@reaperworld.com>
parents: 40564
diff changeset
25 #include "glibcompat.h"
40564
2c5b4dc2e86a Pull the purple_markup_* api out of util.[ch] to purplemarkup.[ch]. No code was changed just moved it from one file to the other.
Gary Kramlich <grim@reaperworld.com>
parents: 40441
diff changeset
26 #include "purplemarkup.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27 #include "request.h"
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
28 #include "debug.h"
40350
72271baf92bc Split PurpleKeyValuePair out to it's own file and try to do some cleanup in the files that need to include it.
Gary Kramlich <grim@reaperworld.com>
parents: 40329
diff changeset
29 #include "purplekeyvaluepair.h"
42725
ceb13f1de2d2 Remove PurpleBuddy
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
30 #include "util.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
32 static PurpleRequestUiOps *request_ui_ops = NULL;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 static GList *handles = NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 typedef struct
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 {
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
37 GDestroyNotify cb;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
38 gpointer data;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
39 } PurpleRequestCloseNotified;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
40
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
41 typedef struct
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
42 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
43 PurpleRequestType type;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 void *handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 void *ui_handle;
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
46 GSList *notify_on_close;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
47 } PurpleRequestInfo;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
49 struct _PurpleRequestCommonParameters {
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
50 PurpleAccount *account;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
51 PurpleConversation *conv;
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
52
34336
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
53 PurpleRequestIconType icon_type;
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
54 gconstpointer icon_data;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
55 gsize icon_size;
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
56
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
57 gboolean html;
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
58
34339
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
59 gboolean compact;
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
60
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
61 PurpleRequestHelpCb help_cb;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
62 gpointer help_data;
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
63
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
64 GSList *extra_actions;
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
65
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
66 gpointer parent_from;
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
67 };
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
68
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
69 PurpleRequestCommonParameters *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
70 purple_request_cpar_new(void)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
71 {
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
72 return g_rc_box_new0(PurpleRequestCommonParameters);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
73 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
74
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
75 PurpleRequestCommonParameters *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
76 purple_request_cpar_from_connection(PurpleConnection *gc)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
77 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
78 if (gc == NULL)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
79 return purple_request_cpar_new();
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
80 return purple_request_cpar_from_account(
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
81 purple_connection_get_account(gc));
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
82 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
83
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
84 PurpleRequestCommonParameters *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
85 purple_request_cpar_from_account(PurpleAccount *account)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
86 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
87 PurpleRequestCommonParameters *cpar;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
88
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
89 cpar = purple_request_cpar_new();
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
90 purple_request_cpar_set_account(cpar, account);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
91
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
92 return cpar;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
93 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
94
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
95 PurpleRequestCommonParameters *
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
96 purple_request_cpar_from_conversation(PurpleConversation *conv)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
97 {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
98 PurpleRequestCommonParameters *cpar;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
99 PurpleAccount *account = NULL;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
100
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
101 if (conv != NULL) {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
102 account = purple_connection_get_account(
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
103 purple_conversation_get_connection(conv));
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
104 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
105
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
106 cpar = purple_request_cpar_new();
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
107 purple_request_cpar_set_account(cpar, account);
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
108 purple_request_cpar_set_conversation(cpar, conv);
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
109
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
110 return cpar;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
111 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
112
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
113 void
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
114 purple_request_cpar_ref(PurpleRequestCommonParameters *cpar)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
115 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
116 g_return_if_fail(cpar != NULL);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
117
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
118 g_rc_box_acquire(cpar);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
119 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
120
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
121 static void
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
122 purple_request_cpar_destroy(PurpleRequestCommonParameters *cpar) {
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
123 g_slist_free_full(cpar->extra_actions,
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
124 (GDestroyNotify)purple_key_value_pair_free);
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
125 }
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
126
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
127 void
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
128 purple_request_cpar_unref(PurpleRequestCommonParameters *cpar)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
129 {
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
130 if(cpar == NULL) {
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
131 return;
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
132 }
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
133
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
134 g_rc_box_release_full(cpar, (GDestroyNotify)purple_request_cpar_destroy);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
135 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
136
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
137 void
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
138 purple_request_cpar_set_account(PurpleRequestCommonParameters *cpar,
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
139 PurpleAccount *account)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
140 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
141 g_return_if_fail(cpar != NULL);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
142
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
143 cpar->account = account;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
144 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
145
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
146 PurpleAccount *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
147 purple_request_cpar_get_account(PurpleRequestCommonParameters *cpar)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
148 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
149 if (cpar == NULL)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
150 return NULL;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
151
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
152 return cpar->account;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
153 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
154
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
155 void
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
156 purple_request_cpar_set_conversation(PurpleRequestCommonParameters *cpar,
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
157 PurpleConversation *conv)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
158 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
159 g_return_if_fail(cpar != NULL);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
160
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
161 cpar->conv = conv;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
162 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
163
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
164 PurpleConversation *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
165 purple_request_cpar_get_conversation(PurpleRequestCommonParameters *cpar)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
166 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
167 if (cpar == NULL)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
168 return NULL;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
169
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
170 return cpar->conv;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
171 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
172
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
173 void
34336
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
174 purple_request_cpar_set_icon(PurpleRequestCommonParameters *cpar,
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
175 PurpleRequestIconType icon_type)
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
176 {
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
177 g_return_if_fail(cpar != NULL);
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
178
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
179 cpar->icon_type = icon_type;
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
180 }
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
181
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
182 PurpleRequestIconType
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
183 purple_request_cpar_get_icon(PurpleRequestCommonParameters *cpar)
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
184 {
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
185 if (cpar == NULL)
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
186 return PURPLE_REQUEST_ICON_DEFAULT;
34336
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
187
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
188 return cpar->icon_type;
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
189 }
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
190
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
191 void
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
192 purple_request_cpar_set_custom_icon(PurpleRequestCommonParameters *cpar,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
193 gconstpointer icon_data, gsize icon_size)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
194 {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
195 g_return_if_fail(cpar != NULL);
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
196 g_return_if_fail((icon_data == NULL) == (icon_size == 0));
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
197
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
198 cpar->icon_data = icon_data;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
199 cpar->icon_size = icon_size;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
200 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
201
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
202 gconstpointer
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
203 purple_request_cpar_get_custom_icon(PurpleRequestCommonParameters *cpar,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
204 gsize *icon_size)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
205 {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
206 if (cpar == NULL) {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
207 if (icon_size != NULL)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
208 *icon_size = 0;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
209 return NULL;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
210 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
211
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
212 if (icon_size != NULL)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
213 *icon_size = cpar->icon_size;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
214 return cpar->icon_data;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
215 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
216
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
217 void
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
218 purple_request_cpar_set_html(PurpleRequestCommonParameters *cpar,
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
219 gboolean enabled)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
220 {
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
221 g_return_if_fail(cpar != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
222
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
223 cpar->html = enabled;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
224 }
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
225
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
226 gboolean
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
227 purple_request_cpar_is_html(PurpleRequestCommonParameters *cpar)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
228 {
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
229 if (cpar == NULL)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
230 return FALSE;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
231
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
232 return cpar->html;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
233 }
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
234
34339
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
235 void
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
236 purple_request_cpar_set_compact(PurpleRequestCommonParameters *cpar,
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
237 gboolean compact)
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
238 {
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
239 g_return_if_fail(cpar != NULL);
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
240
34339
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
241 cpar->compact = compact;
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
242 }
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
243
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
244 gboolean
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
245 purple_request_cpar_is_compact(PurpleRequestCommonParameters *cpar)
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
246 {
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
247 if (cpar == NULL)
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
248 return FALSE;
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
249
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
250 return cpar->compact;
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
251 }
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
252
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
253 void
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
254 purple_request_cpar_set_help_cb(PurpleRequestCommonParameters *cpar,
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
255 PurpleRequestHelpCb cb, gpointer user_data)
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
256 {
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
257 g_return_if_fail(cpar != NULL);
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
258
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
259 cpar->help_cb = cb;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
260 cpar->help_data = cb ? user_data : NULL;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
261 }
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
262
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
263 PurpleRequestHelpCb
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
264 purple_request_cpar_get_help_cb(PurpleRequestCommonParameters *cpar,
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
265 gpointer *user_data)
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
266 {
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
267 if (cpar == NULL)
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
268 return NULL;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
269
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
270 if (user_data != NULL)
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
271 *user_data = cpar->help_data;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
272 return cpar->help_cb;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
273 }
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
274
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
275 void
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
276 purple_request_cpar_set_extra_actions(PurpleRequestCommonParameters *cpar, ...)
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
277 {
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
278 va_list args;
40326
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
279 GSList *extra = NULL;
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
280
40329
b5e0f65a5d9c Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents: 40326
diff changeset
281 g_slist_free_full(cpar->extra_actions, (GDestroyNotify)purple_key_value_pair_free);
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
282
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
283 va_start(args, cpar);
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
284
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
285 while (TRUE) {
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
286 const gchar *label;
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
287 PurpleRequestFieldsCb cb;
40329
b5e0f65a5d9c Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents: 40326
diff changeset
288 PurpleKeyValuePair *extra_action;
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
289
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
290 label = va_arg(args, const gchar*);
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
291 if (label == NULL)
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
292 break;
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
293 cb = va_arg(args, PurpleRequestFieldsCb);
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
294
40329
b5e0f65a5d9c Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents: 40326
diff changeset
295 extra_action = purple_key_value_pair_new(label, cb);
40326
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
296
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
297 extra = g_slist_append(extra, extra_action);
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
298 }
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
299
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
300 va_end(args);
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
301
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
302 cpar->extra_actions = extra;
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
303 }
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
304
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
305 GSList *
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
306 purple_request_cpar_get_extra_actions(PurpleRequestCommonParameters *cpar)
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
307 {
34452
7d05b0f03826 Request API: fix a crash
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34451
diff changeset
308 if (cpar == NULL)
7d05b0f03826 Request API: fix a crash
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34451
diff changeset
309 return NULL;
7d05b0f03826 Request API: fix a crash
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34451
diff changeset
310
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
311 return cpar->extra_actions;
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
312 }
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
313
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
314 void
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
315 purple_request_cpar_set_parent_from(PurpleRequestCommonParameters *cpar,
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
316 gpointer ui_handle)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
317 {
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
318 g_return_if_fail(cpar != NULL);
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
319
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
320 cpar->parent_from = ui_handle;
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
321 }
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
322
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
323 gpointer
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
324 purple_request_cpar_get_parent_from(PurpleRequestCommonParameters *cpar)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
325 {
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
326 if (cpar == NULL)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
327 return NULL;
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
328
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
329 return cpar->parent_from;
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
330 }
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
331
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
332 static PurpleRequestInfo *
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
333 purple_request_info_from_ui_handle(void *ui_handle)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
334 {
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
335 GList *it;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
336
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
337 g_return_val_if_fail(ui_handle != NULL, NULL);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
338
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
339 for (it = handles; it != NULL; it = g_list_next(it)) {
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
340 PurpleRequestInfo *info = it->data;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
341
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
342 if (info->ui_handle == ui_handle)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
343 return info;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
344 }
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
345
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
346 return NULL;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
347 }
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
348
33237
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
349 /* -- */
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
350
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
351 static gchar *
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
352 purple_request_strip_html_custom(const gchar *html)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
353 {
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
354 gchar *tmp, *ret;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
355
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
356 tmp = purple_strreplace(html, "\n", "<br>");
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
357 ret = purple_markup_strip_html(tmp);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
358 g_free(tmp);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
359
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
360 return ret;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
361 }
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
362
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
363 static gchar **
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
364 purple_request_strip_html(PurpleRequestCommonParameters *cpar,
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
365 const char **primary, const char **secondary)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
366 {
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
367 PurpleRequestUiOps *ops = purple_request_get_ui_ops();
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
368 gchar **ret;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
369
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
370 if (!purple_request_cpar_is_html(cpar))
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
371 return NULL;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
372 if (ops->features & PURPLE_REQUEST_FEATURE_HTML)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
373 return NULL;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
374
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
375 ret = g_new0(gchar*, 3);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
376 *primary = ret[0] = purple_request_strip_html_custom(*primary);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
377 *secondary = ret[1] = purple_request_strip_html_custom(*secondary);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
378
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
379 return ret;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
380 }
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
381
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
382 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
383 purple_request_input(void *handle, const char *title, const char *primary,
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
384 const char *secondary, const char *default_value,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8332
diff changeset
385 gboolean multiline, gboolean masked, gchar *hint,
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
386 const char *ok_text, GCallback ok_cb,
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
387 const char *cancel_text, GCallback cancel_cb,
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
388 PurpleRequestCommonParameters *cpar,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
389 void *user_data)
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
390 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
391 PurpleRequestUiOps *ops;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
392
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
393 if (G_UNLIKELY(ok_text == NULL || ok_cb == NULL)) {
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
394 purple_request_cpar_unref(cpar);
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
395 g_warn_if_fail(ok_text != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
396 g_warn_if_fail(ok_cb != NULL);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
397 g_return_val_if_reached(NULL);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
398 }
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
399
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
400 ops = purple_request_get_ui_ops();
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
401
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
402 if (ops != NULL && ops->request_input != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
403 PurpleRequestInfo *info;
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
404 gchar **tmp;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
405
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
406 tmp = purple_request_strip_html(cpar, &primary, &secondary);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
407
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
408 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
409 info->type = PURPLE_REQUEST_INPUT;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
410 info->handle = handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
411 info->ui_handle = ops->request_input(title, primary, secondary,
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
412 default_value, multiline, masked, hint, ok_text, ok_cb,
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
413 cancel_text, cancel_cb, cpar, user_data);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
414
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
415 handles = g_list_append(handles, info);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
416
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
417 g_strfreev(tmp);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
418 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
419 return info->ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
420 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
421
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
422 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
423 return NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
424 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
425
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
426 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
427 purple_request_choice(void *handle, const char *title, const char *primary,
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
428 const char *secondary, gpointer default_value, const char *ok_text,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
429 GCallback ok_cb, const char *cancel_text, GCallback cancel_cb,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
430 PurpleRequestCommonParameters *cpar, void *user_data, ...)
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
431 {
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
432 void *ui_handle;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
433 va_list args;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
434
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
435 if (G_UNLIKELY(ok_text == NULL || ok_cb == NULL)) {
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
436 purple_request_cpar_unref(cpar);
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
437 g_warn_if_fail(ok_text != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
438 g_warn_if_fail(ok_cb != NULL);
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
439 g_return_val_if_reached(NULL);
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
440 }
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
441
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
442 va_start(args, user_data);
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
443 ui_handle = purple_request_choice_varg(handle, title, primary, secondary,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
444 default_value, ok_text, ok_cb,
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
445 cancel_text, cancel_cb,
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
446 cpar, user_data, args);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
447 va_end(args);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
448
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
449 return ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
450 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
451
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
452 void *
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
453 purple_request_choice_varg(void *handle, const char *title, const char *primary,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
454 const char *secondary, gpointer default_value, const char *ok_text,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
455 GCallback ok_cb, const char *cancel_text, GCallback cancel_cb,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
456 PurpleRequestCommonParameters *cpar, void *user_data, va_list choices)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
457 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
458 PurpleRequestUiOps *ops;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
459
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
460 if (G_UNLIKELY(ok_text == NULL || ok_cb == NULL ||
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
461 cancel_text == NULL))
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
462 {
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
463 purple_request_cpar_unref(cpar);
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
464 g_warn_if_fail(ok_text != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
465 g_warn_if_fail(ok_cb != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
466 g_warn_if_fail(cancel_text != NULL);
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
467 g_return_val_if_reached(NULL);
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
468 }
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
469
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
470 ops = purple_request_get_ui_ops();
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
471
5496
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5482
diff changeset
472 if (ops != NULL && ops->request_choice != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
473 PurpleRequestInfo *info;
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
474 gchar **tmp;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
475
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
476 tmp = purple_request_strip_html(cpar, &primary, &secondary);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
477
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
478 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
479 info->type = PURPLE_REQUEST_CHOICE;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
480 info->handle = handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
481 info->ui_handle = ops->request_choice(title, primary, secondary,
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
482 default_value, ok_text, ok_cb, cancel_text, cancel_cb,
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
483 cpar, user_data, choices);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
484
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
485 handles = g_list_append(handles, info);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
486
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
487 g_strfreev(tmp);
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
488 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
489 return info->ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
490 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
491
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
492 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
493 return NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
494 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
495
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
496 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
497 purple_request_action(void *handle, const char *title, const char *primary,
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
498 const char *secondary, int default_action,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
499 PurpleRequestCommonParameters *cpar, void *user_data,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
500 size_t action_count, ...)
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
501 {
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
502 void *ui_handle;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
503 va_list args;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
504
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
505 va_start(args, action_count);
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
506 ui_handle = purple_request_action_varg(handle, title, primary,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
507 secondary, default_action, cpar, user_data, action_count, args);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
508 va_end(args);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
509
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
510 return ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
511 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
512
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
513 void *
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
514 purple_request_action_varg(void *handle, const char *title, const char *primary,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
515 const char *secondary, int default_action,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
516 PurpleRequestCommonParameters *cpar, void *user_data,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
517 size_t action_count, va_list actions)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
518 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
519 PurpleRequestUiOps *ops;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
520
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
521 ops = purple_request_get_ui_ops();
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
522
5496
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5482
diff changeset
523 if (ops != NULL && ops->request_action != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
524 PurpleRequestInfo *info;
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
525 gchar **tmp;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
526
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
527 tmp = purple_request_strip_html(cpar, &primary, &secondary);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
528
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
529 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
530 info->type = PURPLE_REQUEST_ACTION;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
531 info->handle = handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
532 info->ui_handle = ops->request_action(title, primary, secondary,
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
533 default_action, cpar, user_data, action_count, actions);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
534
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
535 handles = g_list_append(handles, info);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
536
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
537 g_strfreev(tmp);
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
538 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
539 return info->ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
540 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
541
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
542 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
543 return NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
544 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
545
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
546 void *
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
547 purple_request_wait(void *handle, const char *title, const char *primary,
34448
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
548 const char *secondary, gboolean with_progress,
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
549 PurpleRequestCancelCb cancel_cb, PurpleRequestCommonParameters *cpar,
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
550 void *user_data)
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
551 {
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
552 PurpleRequestUiOps *ops;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
553
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
554 if (primary == NULL)
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
555 primary = _("Please wait...");
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
556
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
557 ops = purple_request_get_ui_ops();
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
558
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
559 if (ops != NULL && ops->request_wait != NULL) {
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
560 PurpleRequestInfo *info;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
561 gchar **tmp;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
562
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
563 tmp = purple_request_strip_html(cpar, &primary, &secondary);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
564
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
565 info = g_new0(PurpleRequestInfo, 1);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
566 info->type = PURPLE_REQUEST_WAIT;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
567 info->handle = handle;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
568 info->ui_handle = ops->request_wait(title, primary, secondary,
34448
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
569 with_progress, cancel_cb, cpar, user_data);
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
570
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
571 handles = g_list_append(handles, info);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
572
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
573 g_strfreev(tmp);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
574 purple_request_cpar_unref(cpar);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
575 return info->ui_handle;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
576 }
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
577
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
578 if (cpar == NULL)
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
579 cpar = purple_request_cpar_new();
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
580 if (purple_request_cpar_get_icon(cpar) == PURPLE_REQUEST_ICON_DEFAULT)
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
581 purple_request_cpar_set_icon(cpar, PURPLE_REQUEST_ICON_WAIT);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
582
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
583 return purple_request_action(handle, title, primary, secondary,
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
584 PURPLE_DEFAULT_ACTION_NONE, cpar, user_data,
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
585 cancel_cb ? 1 : 0, _("Cancel"), cancel_cb);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
586 }
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
587
34448
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
588 void
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
589 purple_request_wait_pulse(void *ui_handle)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
590 {
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
591 PurpleRequestUiOps *ops;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
592
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
593 ops = purple_request_get_ui_ops();
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
594
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
595 if (ops == NULL || ops->request_wait_update == NULL)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
596 return;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
597
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
598 ops->request_wait_update(ui_handle, TRUE, 0.0);
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
599 }
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
600
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
601 void
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
602 purple_request_wait_progress(void *ui_handle, gfloat fraction)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
603 {
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
604 PurpleRequestUiOps *ops;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
605
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
606 ops = purple_request_get_ui_ops();
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
607
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
608 if (ops == NULL || ops->request_wait_update == NULL)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
609 return;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
610
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
611 if (fraction < 0.0 || fraction > 1.0) {
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
612 purple_debug_warning("request", "Fraction parameter out of "
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
613 "range: %f", fraction);
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
614 if (fraction < 0.0)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
615 fraction = 0.0;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
616 else /* if (fraction > 1.0) */
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
617 fraction = 1.0;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
618 }
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
619
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
620 ops->request_wait_update(ui_handle, FALSE, fraction);
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
621 }
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
622
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
623 static void
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
624 purple_request_fields_strip_html(PurpleRequestPage *page) {
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
625 guint n_groups;
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
626
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
627 n_groups = g_list_model_get_n_items(G_LIST_MODEL(page));
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
628 for(guint group_index = 0; group_index < n_groups; group_index++) {
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
629 GListModel *group = NULL;
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
630 guint n_fields;
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
631
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
632 group = g_list_model_get_item(G_LIST_MODEL(page), group_index);
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
633 n_fields = g_list_model_get_n_items(group);
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
634
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
635 for(guint field_index = 0; field_index < n_fields; field_index++) {
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
636 PurpleRequestField *field = NULL;
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
637 const char *old_label = NULL;
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
638 char *new_label = NULL;
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
639
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
640 field = g_list_model_get_item(group, field_index);
42117
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
641 old_label = purple_request_field_get_label(field);
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
642 new_label = purple_request_strip_html_custom(old_label);
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
643 if(g_strcmp0(new_label, old_label) != 0) {
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
644 purple_request_field_set_label(field, new_label);
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
645 }
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
646
42117
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
647 g_free(new_label);
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
648 g_object_unref(field);
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
649 }
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
650
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
651 g_object_unref(group);
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
652 }
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
653 }
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
654
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
655 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
656 purple_request_fields(void *handle, const char *title, const char *primary,
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
657 const char *secondary, PurpleRequestPage *page, const char *ok_text,
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
658 GCallback ok_cb, const char *cancel_text, GCallback cancel_cb,
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
659 PurpleRequestCommonParameters *cpar, void *user_data)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
660 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
661 PurpleRequestUiOps *ops;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
662
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
663 if(G_UNLIKELY(!PURPLE_IS_REQUEST_PAGE(page) ||
35142
d3f26f67a5ef Allow Request API dialog with only one closing button
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34502
diff changeset
664 ((ok_text == NULL) != (ok_cb == NULL)) ||
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
665 cancel_text == NULL))
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
666 {
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
667 purple_request_cpar_unref(cpar);
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
668 g_warn_if_fail(PURPLE_IS_REQUEST_PAGE(page));
35142
d3f26f67a5ef Allow Request API dialog with only one closing button
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34502
diff changeset
669 g_warn_if_fail((ok_text == NULL) != (ok_cb == NULL));
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
670 g_warn_if_fail(cancel_text != NULL);
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
671 g_return_val_if_reached(NULL);
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
672 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
673
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
674 ops = purple_request_get_ui_ops();
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
675
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
676 if (purple_request_cpar_is_html(cpar) &&
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
677 !((ops->features & PURPLE_REQUEST_FEATURE_HTML)))
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
678 {
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
679 purple_request_fields_strip_html(page);
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
680 }
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
681
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
682 if (ops != NULL && ops->request_fields != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
683 PurpleRequestInfo *info;
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
684 gchar **tmp;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
685
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
686 tmp = purple_request_strip_html(cpar, &primary, &secondary);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
687
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
688 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
689 info->type = PURPLE_REQUEST_FIELDS;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
690 info->handle = handle;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
691 info->ui_handle = ops->request_fields(title, primary, secondary,
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
692 page, ok_text, ok_cb,
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
693 cancel_text, cancel_cb, cpar,
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
694 user_data);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
695
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
696 handles = g_list_append(handles, info);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
697
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
698 g_strfreev(tmp);
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
699 purple_request_cpar_unref(cpar);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
700 return info->ui_handle;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
701 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
702
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
703 purple_request_cpar_unref(cpar);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
704 return NULL;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
705 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
706
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
707 void *
20686
ec1a687480d2 Minor fix
Gabriel Schulhof <nix@go-nix.ca>
parents: 20685
diff changeset
708 purple_request_file(void *handle, const char *title, const char *filename,
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
709 gboolean savedialog, GCallback ok_cb, GCallback cancel_cb,
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
710 PurpleRequestCommonParameters *cpar, void *user_data)
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
711 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
712 PurpleRequestUiOps *ops;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
713
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
714 ops = purple_request_get_ui_ops();
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
715
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
716 if (ops != NULL && ops->request_file != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
717 PurpleRequestInfo *info;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
718
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
719 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
720 info->type = PURPLE_REQUEST_FILE;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
721 info->handle = handle;
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
722 info->ui_handle = ops->request_file(title, filename, savedialog,
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
723 ok_cb, cancel_cb, cpar, user_data);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
724 handles = g_list_append(handles, info);
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
725
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
726 purple_request_cpar_unref(cpar);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
727 return info->ui_handle;
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
728 }
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
729
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
730 purple_request_cpar_unref(cpar);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
731 return NULL;
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
732 }
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
733
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
734 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
735 purple_request_folder(void *handle, const char *title, const char *dirname,
34334
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
736 GCallback ok_cb, GCallback cancel_cb,
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
737 PurpleRequestCommonParameters *cpar, void *user_data)
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
738 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
739 PurpleRequestUiOps *ops;
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
740
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
741 ops = purple_request_get_ui_ops();
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
742
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
743 if (ops != NULL && ops->request_file != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
744 PurpleRequestInfo *info;
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
745
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
746 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
747 info->type = PURPLE_REQUEST_FOLDER;
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
748 info->handle = handle;
34334
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
749 info->ui_handle = ops->request_folder(title, dirname, ok_cb,
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
750 cancel_cb, cpar, user_data);
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
751 handles = g_list_append(handles, info);
34334
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
752
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
753 purple_request_cpar_unref(cpar);
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
754 return info->ui_handle;
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
755 }
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
756
34334
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
757 purple_request_cpar_unref(cpar);
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
758 return NULL;
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
759 }
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
760
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
761 gboolean
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
762 purple_request_is_valid_ui_handle(void *ui_handle, PurpleRequestType *type)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
763 {
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
764 PurpleRequestInfo *info;
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
765
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
766 if (ui_handle == NULL)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
767 return FALSE;
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
768
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
769 info = purple_request_info_from_ui_handle(ui_handle);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
770
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
771 if (info == NULL)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
772 return FALSE;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
773
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
774 if (type != NULL)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
775 *type = info->type;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
776
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
777 return TRUE;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
778 }
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
779
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
780 void
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
781 purple_request_add_close_notify(void *ui_handle, GDestroyNotify notify,
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
782 gpointer notify_data)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
783 {
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
784 PurpleRequestInfo *info;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
785 PurpleRequestCloseNotified *notified;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
786
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
787 g_return_if_fail(ui_handle != NULL);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
788 g_return_if_fail(notify != NULL);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
789
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
790 info = purple_request_info_from_ui_handle(ui_handle);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
791 g_return_if_fail(info != NULL);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
792
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
793 notified = g_new0(PurpleRequestCloseNotified, 1);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
794 notified->cb = notify;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
795 notified->data = notify_data;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
796
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
797 info->notify_on_close = g_slist_append(info->notify_on_close, notified);
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
798 }
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
799
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
800 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
801 purple_request_close_info(PurpleRequestInfo *info)
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
802 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
803 PurpleRequestUiOps *ops;
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
804 GSList *it;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
805
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
806 ops = purple_request_get_ui_ops();
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
807
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
808 purple_request_close_with_handle(info->ui_handle);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
809
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
810 if (ops != NULL && ops->close_request != NULL)
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
811 ops->close_request(info->type, info->ui_handle);
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
812
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
813 for (it = info->notify_on_close; it; it = g_slist_next(it)) {
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
814 PurpleRequestCloseNotified *notify = it->data;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
815
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
816 notify->cb(notify->data);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
817 }
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
818
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
819 g_slist_free_full(info->notify_on_close, g_free);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
820 g_free(info);
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
821 }
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
822
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
823 void
41960
c8a4853205e3 Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41890
diff changeset
824 purple_request_close(G_GNUC_UNUSED PurpleRequestType type, void *ui_handle)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
825 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
826 GList *l;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
827
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
828 g_return_if_fail(ui_handle != NULL);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
829
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
830 for (l = handles; l != NULL; l = l->next) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
831 PurpleRequestInfo *info = l->data;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
832
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
833 if (info->ui_handle == ui_handle) {
40079
a37a1e349491 Replace g_[s]list_remove with g_[s]list_delete_link.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39913
diff changeset
834 handles = g_list_delete_link(handles, l);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
835 purple_request_close_info(info);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
836 break;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
837 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
838 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
839 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
840
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
841 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
842 purple_request_close_with_handle(void *handle)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
843 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
844 GList *l, *l_next;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
845
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
846 g_return_if_fail(handle != NULL);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
847
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
848 for (l = handles; l != NULL; l = l_next) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
849 PurpleRequestInfo *info = l->data;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
850
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
851 l_next = l->next;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
852
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
853 if (info->handle == handle) {
40079
a37a1e349491 Replace g_[s]list_remove with g_[s]list_delete_link.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39913
diff changeset
854 handles = g_list_delete_link(handles, l);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
855 purple_request_close_info(info);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
856 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
857 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
858 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
859
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
860 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
861 purple_request_set_ui_ops(PurpleRequestUiOps *ops)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
862 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
863 request_ui_ops = ops;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
864 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
865
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
866 PurpleRequestUiOps *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
867 purple_request_get_ui_ops(void)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
868 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
869 return request_ui_ops;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
870 }
35572
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
871
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
872 /**************************************************************************
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
873 * GBoxed code
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
874 **************************************************************************/
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
875 static PurpleRequestUiOps *
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
876 purple_request_ui_ops_copy(PurpleRequestUiOps *ops)
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
877 {
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
878 PurpleRequestUiOps *ops_new;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
879
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
880 g_return_val_if_fail(ops != NULL, NULL);
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
881
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
882 ops_new = g_new(PurpleRequestUiOps, 1);
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
883 *ops_new = *ops;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
884
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
885 return ops_new;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
886 }
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
887
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
888 GType
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
889 purple_request_ui_ops_get_type(void)
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
890 {
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
891 static GType type = 0;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
892
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
893 if (type == 0) {
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
894 type = g_boxed_type_register_static("PurpleRequestUiOps",
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
895 (GBoxedCopyFunc)purple_request_ui_ops_copy,
35597
7fcfcf147b99 Use g_free as UiOps structures GBoxed free function
Ankit Vani <a@nevitus.org>
parents: 35572
diff changeset
896 (GBoxedFreeFunc)g_free);
35572
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
897 }
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
898
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
899 return type;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
900 }

mercurial