pidgin/gtkxfer.h

Thu, 23 Mar 2023 23:11:59 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Thu, 23 Mar 2023 23:11:59 -0500
changeset 42184
4e1bf25f5575
parent 41124
95555046173e
child 42464
5de142a471e0
permissions
-rw-r--r--

Fix several leaks in tests

All of these are specific to tests, not the library code.

For the moment, `protocol_xfer` still leaks connections (and anything they hold on to) because it is very difficult to disentangle them from the connection manager in the partially implemented state they are in.

This fixes leaks of options in the account option test (these two leaks occur for every test since they all leak the option):
```
61 (48 direct, 13 indirect) bytes in 1 blocks are definitely lost in loss record 133 of 276
at 0x4848464: calloc (vg_replace_malloc.c:1340)
by 0x49F75F0: g_malloc0 (gmem.c:163)
by 0x48C3B2E: purple_account_option_new (purpleaccountoption.c:78)
by 0x4014AF: test_purple_account_option_copy_int (test_account_option.c:67)
by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A156EC: g_test_run (gtestutils.c:2221)
by 0x401721: main (test_account_option.c:157)

61 (48 direct, 13 indirect) bytes in 1 blocks are definitely lost in loss record 134 of 276
at 0x4848464: calloc (vg_replace_malloc.c:1340)
by 0x49F75F0: g_malloc0 (gmem.c:163)
by 0x48C3BC7: purple_account_option_copy (purpleaccountoption.c:93)
by 0x4014BF: test_purple_account_option_copy_int (test_account_option.c:68)
by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A156EC: g_test_run (gtestutils.c:2221)
by 0x401721: main (test_account_option.c:157)
```
leaks in the credential manager test (times 3 for read/write/cancel tests):
```
69 (16 direct, 53 indirect) bytes in 1 blocks are definitely lost in loss record 2,427 of 3,503
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x4A58168: g_malloc (gmem.c:130)
by 0x4A6FAB5: g_slice_alloc (gslice.c:1074)
by 0x4A700EC: g_slice_alloc0 (gslice.c:1100)
by 0x4A3BECB: g_error_allocate (gerror.c:710)
by 0x4A3C93F: UnknownInlinedFun (gerror.c:724)
by 0x4A3C93F: g_error_new_valist (gerror.c:766)
by 0x4BEE558: g_task_return_new_error (gtask.c:1941)
by 0x48D82C0: purple_credential_manager_read_password_async (purplecredentialmanager.c:492)
by 0x403634: test_purple_credential_manager_no_provider_read_password_idle (test_credential_manager.c:329)
by 0x4A4ECB1: g_idle_dispatch (gmain.c:6124)
by 0x4A4FCBE: UnknownInlinedFun (gmain.c:3444)
by 0x4A4FCBE: g_main_context_dispatch (gmain.c:4162)
by 0x4AA5597: g_main_context_iterate.constprop.0 (gmain.c:4238)
by 0x4A4F28E: g_main_loop_run (gmain.c:4438)
by 0x40369F: test_purple_credential_manager_no_provider_read_password_async (test_credential_manager.c:345)
by 0x4A7DC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A7DC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7E181: g_test_run_suite (gtestutils.c:3115)
by 0x4A766EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A766EC: g_test_run (gtestutils.c:2221)
by 0x4048F6: main (test_credential_manager.c:695)
```
a leak in the image test:
```
161 bytes in 1 blocks are definitely lost in loss record 260 of 274
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x4A55363: g_try_malloc (gmem.c:286)
by 0x4A3D630: UnknownInlinedFun (gfileutils.c:819)
by 0x4A3D630: UnknownInlinedFun (gfileutils.c:924)
by 0x4A3D630: g_file_get_contents (gfileutils.c:1027)
by 0x401890: test_image_new_from_file (test_image.c:144)
by 0x4A7DC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A7DC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7E181: g_test_run_suite (gtestutils.c:3115)
by 0x4A766EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A766EC: g_test_run (gtestutils.c:2221)
by 0x40195D: main (test_image.c:172)
```
a leak in queued output stream test:
```
72 (40 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 219 of 396
at 0x49D51EF: g_type_create_instance (gtype.c:1909)
by 0x49BAC1F: g_object_new_internal (gobject.c:2228)
by 0x49BC247: g_object_new_with_properties (gobject.c:2391)
by 0x49BCFF0: g_object_new (gobject.c:2037)
by 0x402003: test_queued_output_stream_push_bytes_async_error (test_queued_output_stream.c:219)
by 0x4A7DC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A7DC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7E181: g_test_run_suite (gtestutils.c:3115)
by 0x4A766EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A766EC: g_test_run (gtestutils.c:2221)
by 0x402429: main (test_queued_output_stream.c:280)
```
and protocol xfer tests (times 3 for each test that creates a test protocol object):
```
112 (48 direct, 64 indirect) bytes in 1 blocks are definitely lost in loss record 3,430 of 3,698
at 0x49D51EF: g_type_create_instance (gtype.c:1909)
by 0x49BAC1F: g_object_new_internal (gobject.c:2228)
by 0x49BC247: g_object_new_with_properties (gobject.c:2391)
by 0x49BCFF0: g_object_new (gobject.c:2037)
by 0x40291C: test_purple_protocol_xfer_send_file_func (test_protocol_xfer.c:146)
by 0x4A7DC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A7DC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7E181: g_test_run_suite (gtestutils.c:3115)
by 0x4A766EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A766EC: g_test_run (gtestutils.c:2221)
by 0x402B64: main (test_protocol_xfer.c:195)
```
and util tests (times 3 for each call to `purple_text_strip_mnemonic` in the test):
```
5 bytes in 1 blocks are definitely lost in loss record 5 of 247
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x49F7168: g_malloc (gmem.c:130)
by 0x491975B: purple_text_strip_mnemonic (util.c:895)
by 0x4015B0: test_util_text_strip_mnemonic (test_util.c:49)
by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A156EC: g_test_run (gtestutils.c:2221)
by 0x401901: main (test_util.c:224)
```
and these leaks in any test that initializes the test UI:
```
4,104 bytes in 1 blocks are possibly lost in loss record 3,451 of 3,457
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x5235B67: sqlite3MemMalloc.lto_priv.0 (sqlite3.c:25493)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29181)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29227)
by 0x5232797: sqlite3Malloc.lto_priv.0 (sqlite3.c:29221)
by 0x523BD8B: pcache1Alloc.lto_priv.0 (sqlite3.c:53546)
by 0x5249A8B: UnknownInlinedFun (sqlite3.c:53675)
by 0x5249A8B: allocateTempSpace (sqlite3.c:70848)
by 0x52625A6: sqlite3VdbeExec.lto_priv.0 (sqlite3.c:93857)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:87995)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:88056)
by 0x525CBEE: sqlite3_step (sqlite3.c:88045)
by 0x529B324: sqlite3_exec (sqlite3.c:131002)
by 0x48FD558: purple_sqlite3_run_migration (purplesqlite3.c:37)
by 0x48FDBB4: purple_sqlite3_run_migrations_from_resources (purplesqlite3.c:195)
by 0x48FDED9: purple_sqlite_history_adapter_run_migrations (purplesqlitehistoryadapter.c:69)
by 0x48FE7F0: purple_sqlite_history_adapter_activate (purplesqlitehistoryadapter.c:287)
by 0x48DB656: purple_history_adapter_activate (purplehistoryadapter.c:181)
by 0x48DC9BC: purple_history_manager_set_active (purplehistorymanager.c:308)
by 0x402BA8: test_ui_init_history (test_ui.c:132)
by 0x402C80: test_ui_purple_init (test_ui.c:167)
by 0x4027BB: main (test_contact.c:88)

4,368 bytes in 1 blocks are possibly lost in loss record 3,453 of 3,457
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x5235B67: sqlite3MemMalloc.lto_priv.0 (sqlite3.c:25493)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29181)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29227)
by 0x5232797: sqlite3Malloc.lto_priv.0 (sqlite3.c:29221)
by 0x523BD8B: pcache1Alloc.lto_priv.0 (sqlite3.c:53546)
by 0x5240077: UnknownInlinedFun (sqlite3.c:53634)
by 0x5240077: pcache1FetchStage2 (sqlite3.c:54104)
by 0x5243E9C: UnknownInlinedFun (sqlite3.c:52671)
by 0x5243E9C: getPageNormal.lto_priv.0 (sqlite3.c:60628)
by 0x524A510: UnknownInlinedFun (sqlite3.c:60805)
by 0x524A510: btreeGetPage.lto_priv.0 (sqlite3.c:70289)
by 0x524C2F6: UnknownInlinedFun (sqlite3.c:71257)
by 0x524C2F6: sqlite3BtreeBeginTrans.lto_priv.0 (sqlite3.c:71647)
by 0x5266B3A: sqlite3VdbeExec.lto_priv.0 (sqlite3.c:93532)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:87995)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:88056)
by 0x525CBEE: sqlite3_step (sqlite3.c:88045)
by 0x48FD715: purple_sqlite3_get_schema_version (purplesqlite3.c:79)
by 0x48FD9DD: purple_sqlite3_run_migrations_from_resources (purplesqlite3.c:146)
by 0x48FDED9: purple_sqlite_history_adapter_run_migrations (purplesqlitehistoryadapter.c:69)
by 0x48FE7F0: purple_sqlite_history_adapter_activate (purplesqlitehistoryadapter.c:287)
by 0x48DB656: purple_history_adapter_activate (purplehistoryadapter.c:181)
by 0x48DC9BC: purple_history_manager_set_active (purplehistorymanager.c:308)
by 0x402BA8: test_ui_init_history (test_ui.c:132)
by 0x402C80: test_ui_purple_init (test_ui.c:167)
by 0x4027BB: main (test_contact.c:88)

4,368 bytes in 1 blocks are possibly lost in loss record 3,454 of 3,457
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x5235B67: sqlite3MemMalloc.lto_priv.0 (sqlite3.c:25493)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29181)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29227)
by 0x5232797: sqlite3Malloc.lto_priv.0 (sqlite3.c:29221)
by 0x523BD8B: pcache1Alloc.lto_priv.0 (sqlite3.c:53546)
by 0x5240077: UnknownInlinedFun (sqlite3.c:53634)
by 0x5240077: pcache1FetchStage2 (sqlite3.c:54104)
by 0x5243E9C: UnknownInlinedFun (sqlite3.c:52671)
by 0x5243E9C: getPageNormal.lto_priv.0 (sqlite3.c:60628)
by 0x52499BC: UnknownInlinedFun (sqlite3.c:60805)
by 0x52499BC: UnknownInlinedFun (sqlite3.c:70289)
by 0x52499BC: btreeGetUnusedPage (sqlite3.c:70432)
by 0x524F504: allocateBtreePage.lto_priv.0 (sqlite3.c:74604)
by 0x5256209: btreeCreateTable.lto_priv.0 (sqlite3.c:77830)
by 0x5265EB2: UnknownInlinedFun (sqlite3.c:77849)
by 0x5265EB2: sqlite3VdbeExec.lto_priv.0 (sqlite3.c:96382)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:87995)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:88056)
by 0x525CBEE: sqlite3_step (sqlite3.c:88045)
by 0x529B324: sqlite3_exec (sqlite3.c:131002)
by 0x48FD558: purple_sqlite3_run_migration (purplesqlite3.c:37)
by 0x48FDBB4: purple_sqlite3_run_migrations_from_resources (purplesqlite3.c:195)
by 0x48FDED9: purple_sqlite_history_adapter_run_migrations (purplesqlitehistoryadapter.c:69)
by 0x48FE7F0: purple_sqlite_history_adapter_activate (purplesqlitehistoryadapter.c:287)
by 0x48DB656: purple_history_adapter_activate (purplehistoryadapter.c:181)
by 0x48DC9BC: purple_history_manager_set_active (purplehistorymanager.c:308)
by 0x402BA8: test_ui_init_history (test_ui.c:132)
by 0x402C80: test_ui_purple_init (test_ui.c:167)
by 0x4027BB: main (test_contact.c:88)
```

Testing Done:
Ran tests in valgrind, and all above leaks were gone except for noted `protocol_xfer` issues, and a bunch of leaks of the `PurpleBuddy`-`PurpleContact` compatibility bindings, which will go away in their entirety eventually.

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

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
1 /* pidgin
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 *
15572
e069b22c1fc4 headers to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
3 * Pidgin is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7820
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7820
diff changeset
5 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6267
diff changeset
6 *
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * (at your option) any later version.
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 *
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * GNU General Public License for more details.
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16263
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 */
35487
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
21
40502
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 40360
diff changeset
22 #if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 40360
diff changeset
23 # error "only <pidgin.h> may be included directly"
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 40360
diff changeset
24 #endif
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 40360
diff changeset
25
35487
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
26 #ifndef _PIDGINXFER_H_
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35486
diff changeset
27 #define _PIDGINXFER_H_
35451
206524351826 Add sections for finch and re-arrange its doc index
Ankit Vani <a@nevitus.org>
parents: 35417
diff changeset
28
40360
e21f3bbcc2a5 Update all of the pidgin code to include purple.h
Gary Kramlich <grim@reaperworld.com>
parents: 40186
diff changeset
29 #include <purple.h>
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
30
39839
95c968a8ed72 Convert File Transfer dialog to Glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37129
diff changeset
31 G_BEGIN_DECLS
95c968a8ed72 Convert File Transfer dialog to Glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37129
diff changeset
32
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
33 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
34 * PidginXferDialog:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
35 *
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
36 * A file transfer dialog.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6267
diff changeset
37 *
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
38 * The structure is opaque, as nobody should be touching anything inside of
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
39 * it.
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
40 */
35672
81f41f7bca98 Box PidginXferDialog
Ankit Vani <a@nevitus.org>
parents: 35487
diff changeset
41 #define PIDGIN_TYPE_XFER_DIALOG (pidgin_xfer_dialog_get_type())
39839
95c968a8ed72 Convert File Transfer dialog to Glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37129
diff changeset
42 G_DECLARE_FINAL_TYPE(PidginXferDialog, pidgin_xfer_dialog, PIDGIN, XFER_DIALOG,
95c968a8ed72 Convert File Transfer dialog to Glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 37129
diff changeset
43 GtkDialog)
32790
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30708
diff changeset
44
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
45 /**************************************************************************/
41087
4fc5b0ddf55e Remove the + from GTK
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40502
diff changeset
46 /* GTK File Transfer Dialog API */
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
47 /**************************************************************************/
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
48
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
49 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
50 * pidgin_xfer_dialog_new:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
51 *
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
52 * Creates a new file transfer dialog.
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
53 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
54 * Returns: The new dialog.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
55 */
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
56 PidginXferDialog *pidgin_xfer_dialog_new(void);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
57
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
58 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
59 * pidgin_xfer_dialog_destroy:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
60 * @dialog: The file transfer dialog.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
61 *
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
62 * Destroys a file transfer dialog.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
63 */
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
64 void pidgin_xfer_dialog_destroy(PidginXferDialog *dialog);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
65
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
66 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
67 * pidgin_xfer_dialog_show:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
68 * @dialog: The file transfer dialog to show.
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
69 *
14456
eb757f0f9749 [gaim-migrate @ 17102]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
70 * Displays the file transfer dialog given.
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
71 * If dialog is %NULL, displays the default dialog, creating one if necessary
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
72 */
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
73 void pidgin_xfer_dialog_show(PidginXferDialog *dialog);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
74
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
75 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
76 * pidgin_xfer_dialog_hide:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
77 * @dialog: The file transfer dialog to hide.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
78 *
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
79 * Hides the file transfer dialog.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
80 */
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
81 void pidgin_xfer_dialog_hide(PidginXferDialog *dialog);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
82
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
83 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
84 * pidgin_xfer_dialog_add_xfer:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
85 * @dialog: The file transfer dialog.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
86 * @xfer: The file transfer.
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
87 *
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
88 * Adds a file transfer to the dialog.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
89 */
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
90 void pidgin_xfer_dialog_add_xfer(PidginXferDialog *dialog, PurpleXfer *xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
91
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
92 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
93 * pidgin_xfer_dialog_remove_xfer:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
94 * @dialog: The file transfer dialog.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
95 * @xfer: The file transfer.
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
96 *
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
97 * Removes a file transfer from the dialog.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
98 */
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
99 void pidgin_xfer_dialog_remove_xfer(PidginXferDialog *dialog,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15692
diff changeset
100 PurpleXfer *xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
101
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
102 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
103 * pidgin_xfer_dialog_cancel_xfer:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
104 * @dialog: The file transfer dialog.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
105 * @xfer: The file transfer that was cancelled.
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
106 *
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
107 * Indicate in a file transfer dialog that a transfer was cancelled.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
108 */
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
109 void pidgin_xfer_dialog_cancel_xfer(PidginXferDialog *dialog,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15692
diff changeset
110 PurpleXfer *xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
111
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
112 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
113 * pidgin_xfer_dialog_update_xfer:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
114 * @dialog: The file transfer dialog.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 35038
diff changeset
115 * @xfer: The file transfer.
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
116 *
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
117 * Updates the information for a transfer in the dialog.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
118 */
16263
27e0ef0f38e6 Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@pidgin.im>
parents: 16254
diff changeset
119 void pidgin_xfer_dialog_update_xfer(PidginXferDialog *dialog,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15692
diff changeset
120 PurpleXfer *xfer);
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
121
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122 /**************************************************************************/
41087
4fc5b0ddf55e Remove the + from GTK
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40502
diff changeset
123 /* GTK File Transfer API */
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124 /**************************************************************************/
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
127 * pidgin_xfers_init:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
128 *
41087
4fc5b0ddf55e Remove the + from GTK
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40502
diff changeset
129 * Initializes the GTK file transfer system.
5974
00c68435d9f3 [gaim-migrate @ 6421]
Mark Doliner <markdoliner@pidgin.im>
parents: 5872
diff changeset
130 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
131 void pidgin_xfers_init(void);
5974
00c68435d9f3 [gaim-migrate @ 6421]
Mark Doliner <markdoliner@pidgin.im>
parents: 5872
diff changeset
132
00c68435d9f3 [gaim-migrate @ 6421]
Mark Doliner <markdoliner@pidgin.im>
parents: 5872
diff changeset
133 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
134 * pidgin_xfers_uninit:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
135 *
41087
4fc5b0ddf55e Remove the + from GTK
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40502
diff changeset
136 * Uninitializes the GTK file transfer system.
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 9713
diff changeset
137 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
138 void pidgin_xfers_uninit(void);
11010
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 9713
diff changeset
139
26c5efa84ca5 [gaim-migrate @ 12871]
Dave Ahlswede
parents: 9713
diff changeset
140 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
141 * pidgin_set_xfer_dialog:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
142 * @dialog: The main dialog.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
143 *
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
144 * Sets pidgin's main file transfer dialog.
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
145 */
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15572
diff changeset
146 void pidgin_set_xfer_dialog(PidginXferDialog *dialog);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
147
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
148 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
149 * pidgin_get_xfer_dialog:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
150 *
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15572
diff changeset
151 * Returns pirgin's main file transfer dialog.
4553
3c1735b36327 [gaim-migrate @ 4833]
Christian Hammond <chipx86@chipx86.com>
parents: 4514
diff changeset
152 *
40186
d7e2aba4d9f4 Fix some g-ir-scanner warnings
qarkai <qarkai@gmail.com>
parents: 39839
diff changeset
153 * Returns: (transfer none): The main dialog.
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
154 */
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15572
diff changeset
155 PidginXferDialog *pidgin_get_xfer_dialog(void);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
156
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
157 /**
35417
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
158 * pidgin_xfers_get_ui_ops:
4e34bb5d3681 Convert docs from doxygen to gtk-doc format for gtksound to pidgintooltip
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
159 *
41087
4fc5b0ddf55e Remove the + from GTK
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40502
diff changeset
160 * Returns the UI operations structure for the GTK file transfer UI.
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161 *
41087
4fc5b0ddf55e Remove the + from GTK
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40502
diff changeset
162 * Returns: The GTK file transfer UI operations structure.
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
163 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15692
diff changeset
164 PurpleXferUiOps *pidgin_xfers_get_ui_ops(void);
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
165
32790
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30708
diff changeset
166 G_END_DECLS
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30708
diff changeset
167
35038
c29644627f31 Fix inclusion guards to appropriate names
Ankit Vani <a@nevitus.org>
parents: 34929
diff changeset
168 #endif /* _PIDGINXFER_H_ */

mercurial