Mon, 02 Oct 2023 23:58:42 -0500
Implement PurpleFileTransfer
This initial implementation only implements the properties and defines the
basic flow. This does not actually implement any of the actual behavior as
that'll be done later when we can implement the whole thing.
Testing Done:
Ran the unittests under valgrind.
Bugs closed: PIDGIN-17830
Reviewed at https://reviews.imfreedom.org/r/2625/
|
42330
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | /* |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
2 | * Purple - Internet Messaging Library |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
4 | * |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
5 | * This library is free software; you can redistribute it and/or |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
6 | * modify it under the terms of the GNU Lesser General Public |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
7 | * License as published by the Free Software Foundation; either |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
8 | * version 2 of the License, or (at your option) any later version. |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
9 | * |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
10 | * This library is distributed in the hope that it will be useful, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 | * Lesser General Public License for more details. |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
14 | * |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
15 | * You should have received a copy of the GNU Lesser General Public |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
16 | * License along with this library; if not, see <https://www.gnu.org/licenses/>. |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
17 | */ |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
18 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
19 | #include <glib.h> |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
20 | #include <glib/gstdio.h> |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
21 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
22 | #include <purple.h> |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
23 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
24 | #include "test_ui.h" |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
25 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
26 | /****************************************************************************** |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
27 | * Tests |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
28 | *****************************************************************************/ |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
29 | static void |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
30 | test_purple_file_transfer_new_send(gconstpointer data) { |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
31 | PurpleAccount *account = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
32 | PurpleFileTransfer *transfer = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
33 | PurpleContactInfo *initiator = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
34 | PurpleContactInfo *remote = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
35 | GFile *local_file = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
36 | GStatBuf st; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
37 | char *basename = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
38 | const char *executable = data; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
39 | const char *filename = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
40 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
41 | account = purple_account_new("test", "test"); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
42 | remote = purple_contact_info_new(NULL); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
43 | local_file = g_file_new_for_path(executable); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
44 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
45 | transfer = purple_file_transfer_new_send(account, remote, local_file); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
46 | g_assert_true(PURPLE_IS_FILE_TRANSFER(transfer)); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
47 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
48 | initiator = purple_file_transfer_get_initiator(transfer); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
49 | g_assert_true(initiator == PURPLE_CONTACT_INFO(account)); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
50 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
51 | filename = purple_file_transfer_get_filename(transfer); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
52 | basename = g_path_get_basename(executable); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
53 | g_assert_cmpstr(filename, ==, basename); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
54 | g_clear_pointer(&basename, g_free); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
55 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
56 | g_stat(executable, &st); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
57 | g_assert_cmpuint(purple_file_transfer_get_file_size(transfer), ==, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
58 | st.st_size); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
59 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
60 | g_clear_object(&local_file); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
61 | g_clear_object(&account); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
62 | g_clear_object(&remote); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
63 | g_clear_object(&transfer); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
64 | } |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
65 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
66 | static void |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
67 | test_purple_file_transfer_new_receive(void) { |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
68 | PurpleAccount *account = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
69 | PurpleFileTransfer *transfer = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
70 | PurpleContactInfo *initiator = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
71 | PurpleContactInfo *remote = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
72 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
73 | account = purple_account_new("test", "test"); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
74 | remote = purple_contact_info_new(NULL); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
75 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
76 | transfer = purple_file_transfer_new_receive(account, remote, "foo", 0); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
77 | g_assert_true(PURPLE_IS_FILE_TRANSFER(transfer)); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
78 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
79 | initiator = purple_file_transfer_get_initiator(transfer); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
80 | g_assert_true(initiator == remote); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
81 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
82 | g_clear_object(&account); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
83 | g_clear_object(&remote); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
84 | g_clear_object(&transfer); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
85 | } |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
86 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
87 | static void |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
88 | test_file_transfer_properties(gconstpointer data) { |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
89 | PurpleAccount *account = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
90 | PurpleAccount *account1 = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
91 | PurpleFileTransfer *transfer = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
92 | PurpleContactInfo *initiator = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
93 | PurpleContactInfo *initiator1 = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
94 | PurpleContactInfo *remote = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
95 | PurpleContactInfo *remote1 = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
96 | GCancellable *cancellable = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
97 | GFile *local_file = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
98 | GFile *local_file1 = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
99 | char *content_type = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
100 | char *filename = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
101 | char *filename1 = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
102 | char *message = NULL; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
103 | const char *executable = data; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
104 | guint64 file_size = 1337; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
105 | guint64 file_size1 = 0; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
106 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
107 | account = purple_account_new("test", "test"); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
108 | remote = purple_contact_info_new(NULL); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
109 | initiator = purple_contact_info_new(NULL); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
110 | local_file = g_file_new_for_path(executable); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
111 | filename = g_path_get_basename(executable); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
112 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
113 | /* Create the instance. */ |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
114 | transfer = g_object_new( |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
115 | PURPLE_TYPE_FILE_TRANSFER, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
116 | "account", account, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
117 | "remote", remote, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
118 | "initiator", initiator, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
119 | "local-file", local_file, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
120 | "filename", filename, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
121 | "file-size", file_size, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
122 | "content-type", "application/octet-stream", |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
123 | "message", "have you heard the word?", |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
124 | NULL); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
125 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
126 | /* Get all the property values. */ |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
127 | g_object_get( |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
128 | G_OBJECT(transfer), |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
129 | "account", &account1, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
130 | "remote", &remote1, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
131 | "initiator", &initiator1, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
132 | "local-file", &local_file1, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
133 | "filename", &filename1, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
134 | "file-size", &file_size1, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
135 | "content-type", &content_type, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
136 | "message", &message, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
137 | "cancellable", &cancellable, |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
138 | NULL); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
139 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
140 | /* Validate and clean up all of the properties. */ |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
141 | g_assert_true(account == account1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
142 | g_clear_object(&account1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
143 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
144 | g_assert_true(remote == remote1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
145 | g_clear_object(&remote1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
146 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
147 | g_assert_true(initiator == initiator1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
148 | g_clear_object(&initiator1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
149 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
150 | g_assert_true(local_file == local_file1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
151 | g_clear_object(&local_file1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
152 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
153 | g_assert_cmpstr(filename, ==, filename1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
154 | g_clear_pointer(&filename1, g_free); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
155 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
156 | g_assert_cmpuint(file_size, ==, file_size1); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
157 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
158 | g_assert_cmpstr(content_type, ==, "application/octet-stream"); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
159 | g_clear_pointer(&content_type, g_free); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
160 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
161 | g_assert_cmpstr(message, ==, "have you heard the word?"); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
162 | g_clear_pointer(&message, g_free); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
163 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
164 | g_assert_true(G_IS_CANCELLABLE(cancellable)); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
165 | g_clear_object(&cancellable); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
166 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
167 | /* Clean up or initial objects. */ |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
168 | g_clear_pointer(&filename, g_free); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
169 | g_clear_object(&local_file); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
170 | g_clear_object(&initiator); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
171 | g_clear_object(&account); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
172 | g_clear_object(&remote); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
173 | g_clear_object(&transfer); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
174 | } |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
175 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
176 | /****************************************************************************** |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
177 | * Main |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
178 | *****************************************************************************/ |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
179 | gint |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
180 | main(gint argc, gchar *argv[]) { |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
181 | gint ret = 0; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
182 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
183 | g_test_init(&argc, &argv, NULL); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
184 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
185 | test_ui_purple_init(); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
186 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
187 | g_test_add_data_func("/file-transfer/new/send", argv[0], |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
188 | test_purple_file_transfer_new_send); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
189 | g_test_add_func("/file-transfer/new/receive", |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
190 | test_purple_file_transfer_new_receive); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
191 | g_test_add_data_func("/file-transfer/properties", argv[0], |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
192 | test_file_transfer_properties); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
193 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
194 | ret = g_test_run(); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
195 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
196 | test_ui_purple_uninit(); |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
197 | |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
198 | return ret; |
|
a2fa1d2d2452
Implement PurpleFileTransfer
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
199 | } |