Merge lp:~rodrigo-moya/ubuntuone-client/high-level-libsd-api into lp:ubuntuone-client
- high-level-libsd-api
- Merge into trunk
Proposed by
Rodrigo Moya
Status: | Merged |
---|---|
Approved by: | John Lenton |
Approved revision: | 736 |
Merged at revision: | 741 |
Proposed branch: | lp:~rodrigo-moya/ubuntuone-client/high-level-libsd-api |
Merge into: | lp:ubuntuone-client |
Diff against target: |
723 lines (+577/-32) 4 files modified
libsyncdaemon/syncdaemon-config-interface.c (+1/-1) libsyncdaemon/syncdaemon-daemon.c (+520/-0) libsyncdaemon/syncdaemon-daemon.h (+41/-0) libsyncdaemon/test-libsyncdaemon.c (+15/-31) |
To merge this branch: | bzr merge lp:~rodrigo-moya/ubuntuone-client/high-level-libsd-api |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
John Lenton (community) | Approve | ||
Alejandro J. Cura (community) | Approve | ||
Review via email: mp+39121@code.launchpad.net |
Commit message
Add high level API to SyncdaemonDaemon object
Description of the change
Add high level API to SyncdaemonDaemon object
To post a comment you must log in.
Revision history for this message
Alejandro J. Cura (alecu) : | # |
review:
Approve
Revision history for this message
John Lenton (chipaca) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'libsyncdaemon/syncdaemon-config-interface.c' | |||
2 | --- libsyncdaemon/syncdaemon-config-interface.c 2010-10-04 20:29:05 +0000 | |||
3 | +++ libsyncdaemon/syncdaemon-config-interface.c 2010-10-22 07:46:49 +0000 | |||
4 | @@ -130,7 +130,7 @@ | |||
5 | 130 | } | 130 | } |
6 | 131 | 131 | ||
7 | 132 | /** | 132 | /** |
9 | 133 | * syncdaemon_config_interface_set_bandwidth_throttling_enabled: | 133 | * syncdaemon_config_interface_set_bandwidth_throttling: |
10 | 134 | */ | 134 | */ |
11 | 135 | void | 135 | void |
12 | 136 | syncdaemon_config_interface_set_bandwidth_throttling (SyncdaemonConfigInterface *interface, gboolean enabled) | 136 | syncdaemon_config_interface_set_bandwidth_throttling (SyncdaemonConfigInterface *interface, gboolean enabled) |
13 | 137 | 137 | ||
14 | === modified file 'libsyncdaemon/syncdaemon-daemon.c' | |||
15 | --- libsyncdaemon/syncdaemon-daemon.c 2010-10-05 12:47:32 +0000 | |||
16 | +++ libsyncdaemon/syncdaemon-daemon.c 2010-10-22 07:46:49 +0000 | |||
17 | @@ -662,6 +662,251 @@ | |||
18 | 662 | } | 662 | } |
19 | 663 | 663 | ||
20 | 664 | /** | 664 | /** |
21 | 665 | * syncdaemon_daemon_get_bandwidth_throttling: | ||
22 | 666 | * @daemon: A #SyncdaemonDaemon object | ||
23 | 667 | * | ||
24 | 668 | * Get whether bandwidth throttling is enabled or not. | ||
25 | 669 | * | ||
26 | 670 | * Return value: TRUE if enabled, FALSE if disabled. | ||
27 | 671 | */ | ||
28 | 672 | gboolean | ||
29 | 673 | syncdaemon_daemon_get_bandwidth_throttling (SyncdaemonDaemon *daemon) | ||
30 | 674 | { | ||
31 | 675 | SyncdaemonInterface *interface; | ||
32 | 676 | |||
33 | 677 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), FALSE); | ||
34 | 678 | |||
35 | 679 | interface = syncdaemon_daemon_get_config_interface (daemon); | ||
36 | 680 | if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface)) | ||
37 | 681 | return syncdaemon_config_interface_get_bandwidth_throttling (SYNCDAEMON_CONFIG_INTERFACE (interface)); | ||
38 | 682 | |||
39 | 683 | return FALSE; | ||
40 | 684 | } | ||
41 | 685 | |||
42 | 686 | /** | ||
43 | 687 | * syncdaemon_daemon_set_bandwidth_throttling: | ||
44 | 688 | * @daemon: A #SyncdaemonDaemon object | ||
45 | 689 | * @enabled: Whether to enable bandwidth throttling or not. | ||
46 | 690 | * | ||
47 | 691 | * Enable or disable bandwidth throttling. | ||
48 | 692 | */ | ||
49 | 693 | void | ||
50 | 694 | syncdaemon_daemon_set_bandwidth_throttling (SyncdaemonDaemon *daemon, gboolean enabled) | ||
51 | 695 | { | ||
52 | 696 | SyncdaemonInterface *interface; | ||
53 | 697 | |||
54 | 698 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
55 | 699 | |||
56 | 700 | interface = syncdaemon_daemon_get_config_interface (daemon); | ||
57 | 701 | if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface)) | ||
58 | 702 | syncdaemon_config_interface_set_bandwidth_throttling (SYNCDAEMON_CONFIG_INTERFACE (interface), enabled); | ||
59 | 703 | } | ||
60 | 704 | |||
61 | 705 | /** | ||
62 | 706 | * syncdaemon_daemon_get_files_sync: | ||
63 | 707 | * @daemon: A #SyncdaemonDaemon object | ||
64 | 708 | * | ||
65 | 709 | * Get whether file syncing is enabled or not. | ||
66 | 710 | * | ||
67 | 711 | * Return value: TRUE if enabled, FALSE if disabled. | ||
68 | 712 | */ | ||
69 | 713 | gboolean | ||
70 | 714 | syncdaemon_daemon_get_files_sync (SyncdaemonDaemon *daemon) | ||
71 | 715 | { | ||
72 | 716 | SyncdaemonInterface *interface; | ||
73 | 717 | |||
74 | 718 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), FALSE); | ||
75 | 719 | |||
76 | 720 | interface = syncdaemon_daemon_get_config_interface (daemon); | ||
77 | 721 | if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface)) | ||
78 | 722 | return syncdaemon_config_interface_get_files_sync (SYNCDAEMON_CONFIG_INTERFACE (interface)); | ||
79 | 723 | |||
80 | 724 | return FALSE; | ||
81 | 725 | } | ||
82 | 726 | |||
83 | 727 | /** | ||
84 | 728 | * syncdaemon_daemon_set_files_sync: | ||
85 | 729 | * @daemon: A #SyncdaemonDaemon object | ||
86 | 730 | * @enabled: Whether to enable file syncing or not. | ||
87 | 731 | * | ||
88 | 732 | * Enable or disable file syncing. | ||
89 | 733 | */ | ||
90 | 734 | void | ||
91 | 735 | syncdaemon_daemon_set_files_sync (SyncdaemonDaemon *daemon, gboolean enabled) | ||
92 | 736 | { | ||
93 | 737 | SyncdaemonInterface *interface; | ||
94 | 738 | |||
95 | 739 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
96 | 740 | |||
97 | 741 | interface = syncdaemon_daemon_get_config_interface (daemon); | ||
98 | 742 | if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface)) | ||
99 | 743 | syncdaemon_config_interface_set_files_sync (SYNCDAEMON_CONFIG_INTERFACE (interface), enabled); | ||
100 | 744 | } | ||
101 | 745 | |||
102 | 746 | /** | ||
103 | 747 | * syncdaemon_daemon_get_throttling_limits: | ||
104 | 748 | * @daemon: A #SyncdaemonDaemon object | ||
105 | 749 | * @download: Placeholder for download limits | ||
106 | 750 | * @upload: Placeholder for upload limits | ||
107 | 751 | * | ||
108 | 752 | * Retrieve download and upload throttling limits. | ||
109 | 753 | */ | ||
110 | 754 | void | ||
111 | 755 | syncdaemon_daemon_get_throttling_limits (SyncdaemonDaemon *daemon, gint *download, gint *upload) | ||
112 | 756 | { | ||
113 | 757 | SyncdaemonInterface *interface; | ||
114 | 758 | |||
115 | 759 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
116 | 760 | |||
117 | 761 | interface = syncdaemon_daemon_get_config_interface (daemon); | ||
118 | 762 | if (interface != NULL) { | ||
119 | 763 | syncdaemon_config_interface_get_throttling_limits (SYNCDAEMON_CONFIG_INTERFACE (interface), | ||
120 | 764 | download, | ||
121 | 765 | upload); | ||
122 | 766 | } | ||
123 | 767 | } | ||
124 | 768 | |||
125 | 769 | /** | ||
126 | 770 | * syncdaemon_daemon_set_throttling_limits: | ||
127 | 771 | * @daemon: A #SyncdaemonDaemon object | ||
128 | 772 | * @download: Download limit | ||
129 | 773 | * @upload: Upload limit | ||
130 | 774 | * | ||
131 | 775 | * Set download and upload throttling limits. | ||
132 | 776 | */ | ||
133 | 777 | void | ||
134 | 778 | syncdaemon_daemon_set_throttling_limits (SyncdaemonDaemon *daemon, gint download, gint upload) | ||
135 | 779 | { | ||
136 | 780 | SyncdaemonInterface *interface; | ||
137 | 781 | |||
138 | 782 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
139 | 783 | |||
140 | 784 | interface = syncdaemon_daemon_get_config_interface (daemon); | ||
141 | 785 | if (interface != NULL) { | ||
142 | 786 | syncdaemon_config_interface_set_throttling_limits (SYNCDAEMON_CONFIG_INTERFACE (interface), | ||
143 | 787 | download, | ||
144 | 788 | upload); | ||
145 | 789 | } | ||
146 | 790 | } | ||
147 | 791 | |||
148 | 792 | /** | ||
149 | 793 | * syncdaemon_daemon_get_udf_autosubscribe: | ||
150 | 794 | * @daemon: A #SyncdaemonDaemon object | ||
151 | 795 | * | ||
152 | 796 | * Get whether autosubscription for UDFs is enabled or not. | ||
153 | 797 | * | ||
154 | 798 | * Return value: TRUE if enabled, FALSE if disabled. | ||
155 | 799 | */ | ||
156 | 800 | gboolean | ||
157 | 801 | syncdaemon_daemon_get_udf_autosubscribe (SyncdaemonDaemon *daemon) | ||
158 | 802 | { | ||
159 | 803 | SyncdaemonInterface *interface; | ||
160 | 804 | |||
161 | 805 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), FALSE); | ||
162 | 806 | |||
163 | 807 | interface = syncdaemon_daemon_get_config_interface (daemon); | ||
164 | 808 | if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface)) | ||
165 | 809 | return syncdaemon_config_interface_get_udf_autosubscribe (SYNCDAEMON_CONFIG_INTERFACE (interface)); | ||
166 | 810 | |||
167 | 811 | return FALSE; | ||
168 | 812 | } | ||
169 | 813 | |||
170 | 814 | /** | ||
171 | 815 | * syncdaemon_daemon_set_udf_autosubscribe: | ||
172 | 816 | * @daemon: A #SyncdaemonDaemon object | ||
173 | 817 | * @enabled: Whether to enable UDF autosubscription or not. | ||
174 | 818 | * | ||
175 | 819 | * Enable or disable UDF autosubscription. | ||
176 | 820 | */ | ||
177 | 821 | void | ||
178 | 822 | syncdaemon_daemon_set_udf_autosubscribe (SyncdaemonDaemon *daemon, gboolean enabled) | ||
179 | 823 | { | ||
180 | 824 | SyncdaemonInterface *interface; | ||
181 | 825 | |||
182 | 826 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
183 | 827 | |||
184 | 828 | interface = syncdaemon_daemon_get_config_interface (daemon); | ||
185 | 829 | if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface)) | ||
186 | 830 | syncdaemon_config_interface_set_udf_autosubscribe (SYNCDAEMON_CONFIG_INTERFACE (interface), enabled); | ||
187 | 831 | } | ||
188 | 832 | |||
189 | 833 | /** | ||
190 | 834 | * syncdaemon_daemon_get_metadata: | ||
191 | 835 | * @daemon: A #SyncdaemonDaemon object | ||
192 | 836 | * @path: Path to check metadata for | ||
193 | 837 | * @with_subtree_sync_check: For folders, whether to check the status of all its children | ||
194 | 838 | * | ||
195 | 839 | * Retrieve metadata for a file or folder inside a Ubuntu One directory. | ||
196 | 840 | * | ||
197 | 841 | * Return value: Metadata for the specified path. | ||
198 | 842 | */ | ||
199 | 843 | SyncdaemonMetadata * | ||
200 | 844 | syncdaemon_daemon_get_metadata (SyncdaemonDaemon *daemon, const gchar *path, gboolean with_subtree_sync_check) | ||
201 | 845 | { | ||
202 | 846 | SyncdaemonInterface *interface; | ||
203 | 847 | |||
204 | 848 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL); | ||
205 | 849 | |||
206 | 850 | interface = syncdaemon_daemon_get_filesystem_interface (daemon); | ||
207 | 851 | if (interface != NULL) { | ||
208 | 852 | return syncdaemon_filesystem_interface_get_metadata (SYNCDAEMON_FILESYSTEM_INTERFACE (interface), | ||
209 | 853 | path, | ||
210 | 854 | with_subtree_sync_check); | ||
211 | 855 | } | ||
212 | 856 | |||
213 | 857 | return NULL; | ||
214 | 858 | } | ||
215 | 859 | |||
216 | 860 | /** | ||
217 | 861 | * syncdaemon_daemon_get_folders: | ||
218 | 862 | * @daemon: A #SyncdaemonDaemon object | ||
219 | 863 | * | ||
220 | 864 | * Retrieve the list of folders setup for synchronization with Ubuntu One. | ||
221 | 865 | * | ||
222 | 866 | * Return value: A list of #SyncdaemonFolderInfo containing all the folders being | ||
223 | 867 | * synchronized by the user. When no longer needed, the list should be freed | ||
224 | 868 | * by calling g_slist_free. | ||
225 | 869 | */ | ||
226 | 870 | GSList * | ||
227 | 871 | syncdaemon_daemon_get_folders (SyncdaemonDaemon *daemon) | ||
228 | 872 | { | ||
229 | 873 | SyncdaemonInterface *interface; | ||
230 | 874 | |||
231 | 875 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL); | ||
232 | 876 | |||
233 | 877 | interface = syncdaemon_daemon_get_folders_interface (daemon); | ||
234 | 878 | if (interface != NULL) | ||
235 | 879 | return syncdaemon_folders_interface_get_folders (SYNCDAEMON_FOLDERS_INTERFACE (interface)); | ||
236 | 880 | |||
237 | 881 | return NULL; | ||
238 | 882 | } | ||
239 | 883 | |||
240 | 884 | /** | ||
241 | 885 | * syncdaemon_daemon_get_folder_info: | ||
242 | 886 | * @daemon: A #SyncdaemonDaemon object | ||
243 | 887 | * @path: Full path of the folder for which to retrieve information. | ||
244 | 888 | * | ||
245 | 889 | * Get information about a folder under Ubuntu One. | ||
246 | 890 | * | ||
247 | 891 | * Return value: A #SyncdaemonFolderInfo object containing all the information | ||
248 | 892 | * for the node. When no longer needed, it should be freed by calling | ||
249 | 893 | * g_object_unref. | ||
250 | 894 | */ | ||
251 | 895 | SyncdaemonFolderInfo * | ||
252 | 896 | syncdaemon_daemon_get_folder_info (SyncdaemonDaemon *daemon, const gchar *path) | ||
253 | 897 | { | ||
254 | 898 | SyncdaemonInterface *interface; | ||
255 | 899 | |||
256 | 900 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL); | ||
257 | 901 | |||
258 | 902 | interface = syncdaemon_daemon_get_folders_interface (daemon); | ||
259 | 903 | if (interface != NULL) | ||
260 | 904 | return syncdaemon_folders_interface_get_info (SYNCDAEMON_FOLDERS_INTERFACE (interface), path); | ||
261 | 905 | |||
262 | 906 | return NULL; | ||
263 | 907 | } | ||
264 | 908 | |||
265 | 909 | /** | ||
266 | 665 | * syncdaemon_daemon_is_folder_enabled: | 910 | * syncdaemon_daemon_is_folder_enabled: |
267 | 666 | * @daemon: A #SyncdaemonDaemon object | 911 | * @daemon: A #SyncdaemonDaemon object |
268 | 667 | * @path: The folder path to check | 912 | * @path: The folder path to check |
269 | @@ -726,6 +971,281 @@ | |||
270 | 726 | return managed; | 971 | return managed; |
271 | 727 | } | 972 | } |
272 | 728 | 973 | ||
273 | 974 | /** | ||
274 | 975 | * syncdaemon_daemon_create_folder: | ||
275 | 976 | * @daemon: A #SyncdaemonDaemon object | ||
276 | 977 | * @path: The full path of the folder to create | ||
277 | 978 | * | ||
278 | 979 | * Enable a folder for Ubuntu One synchronization. | ||
279 | 980 | * | ||
280 | 981 | * The result of the operation can be retrieved by connecting to the "folder_created" | ||
281 | 982 | * signal of the #SyncdaemonDaemon object. | ||
282 | 983 | */ | ||
283 | 984 | void | ||
284 | 985 | syncdaemon_daemon_create_folder (SyncdaemonDaemon *daemon, const gchar *path) | ||
285 | 986 | { | ||
286 | 987 | SyncdaemonInterface *interface; | ||
287 | 988 | |||
288 | 989 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
289 | 990 | |||
290 | 991 | interface = syncdaemon_daemon_get_folders_interface (daemon); | ||
291 | 992 | if (interface != NULL) | ||
292 | 993 | syncdaemon_folders_interface_create (SYNCDAEMON_FOLDERS_INTERFACE (interface), path); | ||
293 | 994 | else | ||
294 | 995 | g_signal_emit (daemon, daemon_signals[FOLDER_CREATED_SIGNAL], 0, FALSE, NULL); | ||
295 | 996 | } | ||
296 | 997 | |||
297 | 998 | /** | ||
298 | 999 | * syncdaemon_daemon_delete_folder: | ||
299 | 1000 | * @daemon: A #SyncdaemonDaemon object | ||
300 | 1001 | * @path: The full path of the folder to delete | ||
301 | 1002 | * | ||
302 | 1003 | * Disable a folder for Ubuntu One synchronization. | ||
303 | 1004 | * | ||
304 | 1005 | * The result of the operation can be retrieved by connecting to the "folder_deleted" | ||
305 | 1006 | * signal of the #SyncdaemonDaemon object. | ||
306 | 1007 | */ | ||
307 | 1008 | void | ||
308 | 1009 | syncdaemon_daemon_delete_folder (SyncdaemonDaemon *daemon, const gchar *path) | ||
309 | 1010 | { | ||
310 | 1011 | SyncdaemonInterface *interface; | ||
311 | 1012 | |||
312 | 1013 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
313 | 1014 | |||
314 | 1015 | interface = syncdaemon_daemon_get_folders_interface (daemon); | ||
315 | 1016 | if (interface != NULL) | ||
316 | 1017 | syncdaemon_folders_interface_delete (SYNCDAEMON_FOLDERS_INTERFACE (interface), path); | ||
317 | 1018 | else | ||
318 | 1019 | g_signal_emit (daemon, daemon_signals[FOLDER_DELETED_SIGNAL], 0, FALSE, NULL); | ||
319 | 1020 | } | ||
320 | 1021 | |||
321 | 1022 | /** | ||
322 | 1023 | * syncdaemon_daemon_subscribe_folder: | ||
323 | 1024 | * @daemon: A #SyncdaemonDaemon object | ||
324 | 1025 | * @path: The full path of the folder to subscribe | ||
325 | 1026 | * | ||
326 | 1027 | * Subscribe a folder for Ubuntu One synchronization. | ||
327 | 1028 | * | ||
328 | 1029 | * The result of the operation can be retrieved by connecting to the "folder_subscribed" | ||
329 | 1030 | * signal of the #SyncdaemonDaemon object. | ||
330 | 1031 | */ | ||
331 | 1032 | void | ||
332 | 1033 | syncdaemon_daemon_subscribe_folder (SyncdaemonDaemon *daemon, const gchar *path) | ||
333 | 1034 | { | ||
334 | 1035 | SyncdaemonInterface *interface; | ||
335 | 1036 | |||
336 | 1037 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
337 | 1038 | |||
338 | 1039 | interface = syncdaemon_daemon_get_folders_interface (daemon); | ||
339 | 1040 | if (interface != NULL) | ||
340 | 1041 | syncdaemon_folders_interface_subscribe (SYNCDAEMON_FOLDERS_INTERFACE (interface), path); | ||
341 | 1042 | else | ||
342 | 1043 | g_signal_emit (daemon, daemon_signals[FOLDER_SUBSCRIBED_SIGNAL], 0, FALSE, NULL); | ||
343 | 1044 | } | ||
344 | 1045 | |||
345 | 1046 | /** | ||
346 | 1047 | * syncdaemon_daemon_unsubscribe_folder: | ||
347 | 1048 | * @daemon: A #SyncdaemonDaemon object | ||
348 | 1049 | * @path: The full path of the folder to unsubscribe | ||
349 | 1050 | * | ||
350 | 1051 | * Unsubscribe a folder from Ubuntu One synchronization. | ||
351 | 1052 | * | ||
352 | 1053 | * The result of the operation can be retrieved by connecting to the "folder_unsubscribed" | ||
353 | 1054 | * signal of the #SyncdaemonDaemon object. | ||
354 | 1055 | */ | ||
355 | 1056 | void | ||
356 | 1057 | syncdaemon_daemon_unsubscribe_folder (SyncdaemonDaemon *daemon, const gchar *path) | ||
357 | 1058 | { | ||
358 | 1059 | SyncdaemonInterface *interface; | ||
359 | 1060 | |||
360 | 1061 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
361 | 1062 | |||
362 | 1063 | interface = syncdaemon_daemon_get_folders_interface (daemon); | ||
363 | 1064 | if (interface != NULL) | ||
364 | 1065 | syncdaemon_folders_interface_unsubscribe (SYNCDAEMON_FOLDERS_INTERFACE (interface), path); | ||
365 | 1066 | else | ||
366 | 1067 | g_signal_emit (daemon, daemon_signals[FOLDER_UNSUBSCRIBED_SIGNAL], 0, FALSE, NULL); | ||
367 | 1068 | } | ||
368 | 1069 | |||
369 | 1070 | /** | ||
370 | 1071 | * syncdaemon_daemon_create_share: | ||
371 | 1072 | * @daemon: A #SyncdaemonDaemon object | ||
372 | 1073 | * @path: Full path of the folder to be shared | ||
373 | 1074 | * @usernames: List of users with whom to share the folder | ||
374 | 1075 | * @name: Name to be used for the share | ||
375 | 1076 | * @allow_modifications: Whether to allow modifications to the list of users | ||
376 | 1077 | * | ||
377 | 1078 | * Share a Ubuntu One folder with a list of users. | ||
378 | 1079 | * | ||
379 | 1080 | * The result of the operation can be retrieved by connecting to the "share_created" | ||
380 | 1081 | * signal of the #SyncdaemonDaemon object. | ||
381 | 1082 | */ | ||
382 | 1083 | void | ||
383 | 1084 | syncdaemon_daemon_create_share (SyncdaemonDaemon *daemon, | ||
384 | 1085 | const gchar *path, | ||
385 | 1086 | GSList *usernames, | ||
386 | 1087 | const gchar *name, | ||
387 | 1088 | gboolean allow_modifications) | ||
388 | 1089 | { | ||
389 | 1090 | SyncdaemonInterface *interface; | ||
390 | 1091 | |||
391 | 1092 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
392 | 1093 | |||
393 | 1094 | interface = syncdaemon_daemon_get_shares_interface (daemon); | ||
394 | 1095 | if (interface != NULL) { | ||
395 | 1096 | syncdaemon_shares_interface_create (SYNCDAEMON_SHARES_INTERFACE (interface), | ||
396 | 1097 | path, | ||
397 | 1098 | usernames, | ||
398 | 1099 | name, | ||
399 | 1100 | allow_modifications); | ||
400 | 1101 | } else | ||
401 | 1102 | g_signal_emit (daemon, daemon_signals[SHARE_CREATED_SIGNAL], 0, FALSE, NULL); | ||
402 | 1103 | } | ||
403 | 1104 | |||
404 | 1105 | /** | ||
405 | 1106 | * syncdaemon_daemon_delete_share: | ||
406 | 1107 | * @daemon: A #SyncdaemonDaemon object | ||
407 | 1108 | * @path: Full path of the folder to be shared | ||
408 | 1109 | * | ||
409 | 1110 | * Stop sharing a Ubuntu One folder. | ||
410 | 1111 | * | ||
411 | 1112 | * The result of the operation can be retrieved by connecting to the "share_deleted" | ||
412 | 1113 | * signal of the #SyncdaemonDaemon object. | ||
413 | 1114 | */ | ||
414 | 1115 | void | ||
415 | 1116 | syncdaemon_daemon_delete_share (SyncdaemonDaemon *daemon, const gchar *path) | ||
416 | 1117 | { | ||
417 | 1118 | SyncdaemonInterface *interface; | ||
418 | 1119 | |||
419 | 1120 | g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon)); | ||
420 | 1121 | |||
421 | 1122 | interface = syncdaemon_daemon_get_shares_interface (daemon); | ||
422 | 1123 | if (interface != NULL) | ||
423 | 1124 | syncdaemon_shares_interface_delete (SYNCDAEMON_SHARES_INTERFACE (interface), path); | ||
424 | 1125 | else | ||
425 | 1126 | g_signal_emit (daemon, daemon_signals[SHARE_DELETED_SIGNAL], 0, FALSE, NULL); | ||
426 | 1127 | } | ||
427 | 1128 | |||
428 | 1129 | /** | ||
429 | 1130 | * syncdaemon_daemon_get_shared_folders: | ||
430 | 1131 | * @daemon: A #SyncdaemonDaemon object | ||
431 | 1132 | * | ||
432 | 1133 | * Get the list of folders shared by the user with other users. | ||
433 | 1134 | * | ||
434 | 1135 | * Return value: A GSList of #SyncdaemonShareInfo objects. When no longer needed, | ||
435 | 1136 | * the list should be freed by calling #g_slist_free. | ||
436 | 1137 | */ | ||
437 | 1138 | GSList * | ||
438 | 1139 | syncdaemon_daemon_get_shared_folders (SyncdaemonDaemon *daemon) | ||
439 | 1140 | { | ||
440 | 1141 | SyncdaemonInterface *interface; | ||
441 | 1142 | |||
442 | 1143 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL); | ||
443 | 1144 | |||
444 | 1145 | interface = syncdaemon_daemon_get_shares_interface (daemon); | ||
445 | 1146 | if (interface != NULL) | ||
446 | 1147 | return syncdaemon_shares_interface_get_shared (SYNCDAEMON_SHARES_INTERFACE (interface)); | ||
447 | 1148 | |||
448 | 1149 | return NULL; | ||
449 | 1150 | } | ||
450 | 1151 | |||
451 | 1152 | /** | ||
452 | 1153 | * syncdaemon_daemon_get_shares: | ||
453 | 1154 | * @daemon: A #SyncdaemonDaemon object | ||
454 | 1155 | * | ||
455 | 1156 | * Get the list of folders shared by other users with the current user. | ||
456 | 1157 | * | ||
457 | 1158 | * Return value: A GSList of #SyncdaemonShareInfo objects. When no longer needed, | ||
458 | 1159 | * the list should be freed by calling #g_slist_free. | ||
459 | 1160 | */ | ||
460 | 1161 | GSList * | ||
461 | 1162 | syncdaemon_daemon_get_shares (SyncdaemonDaemon *daemon) | ||
462 | 1163 | { | ||
463 | 1164 | SyncdaemonInterface *interface; | ||
464 | 1165 | |||
465 | 1166 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL); | ||
466 | 1167 | |||
467 | 1168 | interface = syncdaemon_daemon_get_shares_interface (daemon); | ||
468 | 1169 | if (interface != NULL) | ||
469 | 1170 | return syncdaemon_shares_interface_get_shares (SYNCDAEMON_SHARES_INTERFACE (interface)); | ||
470 | 1171 | |||
471 | 1172 | return NULL; | ||
472 | 1173 | } | ||
473 | 1174 | |||
474 | 1175 | /** | ||
475 | 1176 | * syncdaemon_daemon_get_current_status: | ||
476 | 1177 | * @daemon: A #SyncdaemonDaemon object | ||
477 | 1178 | * | ||
478 | 1179 | * Retrieve the current status of SyncDaemon. | ||
479 | 1180 | * | ||
480 | 1181 | * Return value: A #SyncdaemonStatusInfo object containing information about | ||
481 | 1182 | * Syncdaemon's current status. When no longer needed, it should be freed by | ||
482 | 1183 | * calling g_object_unref. | ||
483 | 1184 | */ | ||
484 | 1185 | SyncdaemonStatusInfo * | ||
485 | 1186 | syncdaemon_daemon_get_current_status (SyncdaemonDaemon *daemon) | ||
486 | 1187 | { | ||
487 | 1188 | SyncdaemonInterface *interface; | ||
488 | 1189 | |||
489 | 1190 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL); | ||
490 | 1191 | |||
491 | 1192 | interface = syncdaemon_daemon_get_status_interface (daemon); | ||
492 | 1193 | if (interface != NULL) | ||
493 | 1194 | return syncdaemon_status_interface_get_current_status (SYNCDAEMON_STATUS_INTERFACE (interface)); | ||
494 | 1195 | |||
495 | 1196 | return NULL; | ||
496 | 1197 | } | ||
497 | 1198 | |||
498 | 1199 | /** | ||
499 | 1200 | * syncdaemon_daemon_get_current_downloads: | ||
500 | 1201 | * @daemon: A #SyncdaemonDaemon object | ||
501 | 1202 | * | ||
502 | 1203 | * Retrieve the list of downloads in progress. | ||
503 | 1204 | * | ||
504 | 1205 | * Return value: A GSList of #SyncdaemonTransferInfo objects, each of which contains | ||
505 | 1206 | * information about a file download in progress. The data in the list belongs to | ||
506 | 1207 | * the library, so when no longer needed, the list should be freed by just calling | ||
507 | 1208 | * g_slist_free. | ||
508 | 1209 | */ | ||
509 | 1210 | GSList * | ||
510 | 1211 | syncdaemon_daemon_get_current_downloads (SyncdaemonDaemon *daemon) | ||
511 | 1212 | { | ||
512 | 1213 | SyncdaemonInterface *interface; | ||
513 | 1214 | |||
514 | 1215 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL); | ||
515 | 1216 | |||
516 | 1217 | interface = syncdaemon_daemon_get_status_interface (daemon); | ||
517 | 1218 | if (interface != NULL) | ||
518 | 1219 | return syncdaemon_status_interface_get_current_downloads (SYNCDAEMON_STATUS_INTERFACE (interface)); | ||
519 | 1220 | |||
520 | 1221 | return NULL; | ||
521 | 1222 | } | ||
522 | 1223 | |||
523 | 1224 | /** | ||
524 | 1225 | * syncdaemon_daemon_get_current_uploads: | ||
525 | 1226 | * @daemon: A #SyncdaemonDaemon object | ||
526 | 1227 | * | ||
527 | 1228 | * Retrieve the list of uploads in progress. | ||
528 | 1229 | * | ||
529 | 1230 | * Return value: A GSList of #SyncdaemonTransferInfo objects, each of which contains | ||
530 | 1231 | * information about a file upload in progress. The data in the list belongs to | ||
531 | 1232 | * the library, so when no longer needed, the list should be freed by just calling | ||
532 | 1233 | * g_slist_free. | ||
533 | 1234 | */ | ||
534 | 1235 | GSList * | ||
535 | 1236 | syncdaemon_daemon_get_current_uploads (SyncdaemonDaemon *daemon) | ||
536 | 1237 | { | ||
537 | 1238 | SyncdaemonInterface *interface; | ||
538 | 1239 | |||
539 | 1240 | g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL); | ||
540 | 1241 | |||
541 | 1242 | interface = syncdaemon_daemon_get_status_interface (daemon); | ||
542 | 1243 | if (interface != NULL) | ||
543 | 1244 | return syncdaemon_status_interface_get_current_uploads (SYNCDAEMON_STATUS_INTERFACE (interface)); | ||
544 | 1245 | |||
545 | 1246 | return NULL; | ||
546 | 1247 | } | ||
547 | 1248 | |||
548 | 729 | typedef SyncdaemonInterface * (* SDINewFunc) (SyncdaemonDaemon * daemon); | 1249 | typedef SyncdaemonInterface * (* SDINewFunc) (SyncdaemonDaemon * daemon); |
549 | 730 | 1250 | ||
550 | 731 | static SyncdaemonInterface * | 1251 | static SyncdaemonInterface * |
551 | 732 | 1252 | ||
552 | === modified file 'libsyncdaemon/syncdaemon-daemon.h' | |||
553 | --- libsyncdaemon/syncdaemon-daemon.h 2010-09-29 11:12:35 +0000 | |||
554 | +++ libsyncdaemon/syncdaemon-daemon.h 2010-10-22 07:46:49 +0000 | |||
555 | @@ -27,6 +27,7 @@ | |||
556 | 27 | #include "syncdaemon-file-info.h" | 27 | #include "syncdaemon-file-info.h" |
557 | 28 | #include "syncdaemon-folder-info.h" | 28 | #include "syncdaemon-folder-info.h" |
558 | 29 | #include "syncdaemon-interface.h" | 29 | #include "syncdaemon-interface.h" |
559 | 30 | #include "syncdaemon-metadata.h" | ||
560 | 30 | #include "syncdaemon-share-info.h" | 31 | #include "syncdaemon-share-info.h" |
561 | 31 | #include "syncdaemon-status-info.h" | 32 | #include "syncdaemon-status-info.h" |
562 | 32 | #include "syncdaemon-transfer-info.h" | 33 | #include "syncdaemon-transfer-info.h" |
563 | @@ -95,10 +96,50 @@ | |||
564 | 95 | gboolean syncdaemon_daemon_has_network (SyncdaemonDaemon *daemon); | 96 | gboolean syncdaemon_daemon_has_network (SyncdaemonDaemon *daemon); |
565 | 96 | SyncdaemonAuthentication *syncdaemon_daemon_get_authentication (SyncdaemonDaemon *daemon); | 97 | SyncdaemonAuthentication *syncdaemon_daemon_get_authentication (SyncdaemonDaemon *daemon); |
566 | 97 | 98 | ||
567 | 99 | /* Configuration */ | ||
568 | 100 | gboolean syncdaemon_daemon_get_bandwidth_throttling (SyncdaemonDaemon *daemon); | ||
569 | 101 | void syncdaemon_daemon_set_bandwidth_throttling (SyncdaemonDaemon *daemon, gboolean enabled); | ||
570 | 102 | gboolean syncdaemon_daemon_get_files_sync (SyncdaemonDaemon *daemon); | ||
571 | 103 | void syncdaemon_daemon_set_files_sync (SyncdaemonDaemon *daemon, gboolean enabled); | ||
572 | 104 | void syncdaemon_daemon_get_throttling_limits (SyncdaemonDaemon *daemon, gint *download, gint *upload); | ||
573 | 105 | void syncdaemon_daemon_set_throttling_limits (SyncdaemonDaemon *daemon, gint download, gint upload); | ||
574 | 106 | gboolean syncdaemon_daemon_get_udf_autosubscribe (SyncdaemonDaemon *daemon); | ||
575 | 107 | void syncdaemon_daemon_set_udf_autosubscribe (SyncdaemonDaemon *daemon, gboolean enabled); | ||
576 | 108 | |||
577 | 109 | /* File system operations */ | ||
578 | 110 | SyncdaemonMetadata *syncdaemon_daemon_get_metadata (SyncdaemonDaemon *daemon, | ||
579 | 111 | const gchar *path, | ||
580 | 112 | gboolean with_subtree_sync_check); | ||
581 | 113 | |||
582 | 114 | |||
583 | 98 | /* Folders operations */ | 115 | /* Folders operations */ |
584 | 116 | GSList *syncdaemon_daemon_get_folders (SyncdaemonDaemon *daemon); | ||
585 | 117 | SyncdaemonFolderInfo*syncdaemon_daemon_get_folder_info (SyncdaemonDaemon *daemon, const gchar *path); | ||
586 | 99 | gboolean syncdaemon_daemon_is_folder_enabled (SyncdaemonDaemon *daemon, | 118 | gboolean syncdaemon_daemon_is_folder_enabled (SyncdaemonDaemon *daemon, |
587 | 100 | const gchar *path, | 119 | const gchar *path, |
588 | 101 | gboolean *is_root); | 120 | gboolean *is_root); |
589 | 121 | void syncdaemon_daemon_create_folder (SyncdaemonDaemon *daemon, const gchar *path); | ||
590 | 122 | void syncdaemon_daemon_delete_folder (SyncdaemonDaemon *daemon, const gchar *path); | ||
591 | 123 | void syncdaemon_daemon_subscribe_folder (SyncdaemonDaemon *daemon, const gchar *path); | ||
592 | 124 | void syncdaemon_daemon_unsubscribe_folder (SyncdaemonDaemon *daemon, const gchar *path); | ||
593 | 125 | |||
594 | 126 | /* Public files operations */ | ||
595 | 127 | /* FIXME: need nautilus-refactor branch landed first */ | ||
596 | 128 | |||
597 | 129 | /* Shares operations */ | ||
598 | 130 | void syncdaemon_daemon_create_share (SyncdaemonDaemon *daemon, | ||
599 | 131 | const gchar *path, | ||
600 | 132 | GSList *usernames, | ||
601 | 133 | const gchar *name, | ||
602 | 134 | gboolean allow_modifications); | ||
603 | 135 | void syncdaemon_daemon_delete_share (SyncdaemonDaemon *daemon, const gchar *path); | ||
604 | 136 | GSList *syncdaemon_daemon_get_shared_folders (SyncdaemonDaemon *daemon); | ||
605 | 137 | GSList *syncdaemon_daemon_get_shares (SyncdaemonDaemon *daemon); | ||
606 | 138 | |||
607 | 139 | /* Status operations */ | ||
608 | 140 | SyncdaemonStatusInfo*syncdaemon_daemon_get_current_status (SyncdaemonDaemon *daemon); | ||
609 | 141 | GSList *syncdaemon_daemon_get_current_downloads (SyncdaemonDaemon *daemon); | ||
610 | 142 | GSList *syncdaemon_daemon_get_current_uploads (SyncdaemonDaemon *daemon); | ||
611 | 102 | 143 | ||
612 | 103 | /* | 144 | /* |
613 | 104 | * Low level DBus interface access | 145 | * Low level DBus interface access |
614 | 105 | 146 | ||
615 | === modified file 'libsyncdaemon/test-libsyncdaemon.c' | |||
616 | --- libsyncdaemon/test-libsyncdaemon.c 2010-10-04 18:47:52 +0000 | |||
617 | +++ libsyncdaemon/test-libsyncdaemon.c 2010-10-22 07:46:49 +0000 | |||
618 | @@ -58,33 +58,29 @@ | |||
619 | 58 | static void | 58 | static void |
620 | 59 | test_config (void) | 59 | test_config (void) |
621 | 60 | { | 60 | { |
622 | 61 | SyncdaemonConfigInterface *config; | ||
623 | 62 | gboolean orig_enabled, enabled; | 61 | gboolean orig_enabled, enabled; |
624 | 63 | 62 | ||
625 | 64 | config = (SyncdaemonConfigInterface *) syncdaemon_daemon_get_config_interface (the_daemon); | ||
626 | 65 | g_assert (SYNCDAEMON_IS_CONFIG_INTERFACE (config)); | ||
627 | 66 | |||
628 | 67 | /* Test set/get_throttling_enabled */ | 63 | /* Test set/get_throttling_enabled */ |
632 | 68 | orig_enabled = syncdaemon_config_interface_get_bandwidth_throttling (config); | 64 | orig_enabled = syncdaemon_daemon_get_bandwidth_throttling (the_daemon); |
633 | 69 | syncdaemon_config_interface_set_bandwidth_throttling (config, !orig_enabled); | 65 | syncdaemon_daemon_set_bandwidth_throttling (the_daemon, !orig_enabled); |
634 | 70 | enabled = syncdaemon_config_interface_get_bandwidth_throttling (config); | 66 | enabled = syncdaemon_daemon_get_bandwidth_throttling (the_daemon); |
635 | 71 | g_assert (orig_enabled != enabled); | 67 | g_assert (orig_enabled != enabled); |
636 | 72 | 68 | ||
639 | 73 | syncdaemon_config_interface_set_bandwidth_throttling (config, orig_enabled); | 69 | syncdaemon_daemon_set_bandwidth_throttling (the_daemon, orig_enabled); |
640 | 74 | enabled = syncdaemon_config_interface_get_bandwidth_throttling (config); | 70 | enabled = syncdaemon_daemon_get_bandwidth_throttling (the_daemon); |
641 | 75 | g_assert (orig_enabled == enabled); | 71 | g_assert (orig_enabled == enabled); |
642 | 76 | 72 | ||
643 | 77 | /* FIXME: we don't test get/set_files_sync since disabling it means the | 73 | /* FIXME: we don't test get/set_files_sync since disabling it means the |
644 | 78 | syncdaemon quits and doesn't start anymore */ | 74 | syncdaemon quits and doesn't start anymore */ |
645 | 79 | 75 | ||
646 | 80 | /* Test set/get_udf_autosubscribe */ | 76 | /* Test set/get_udf_autosubscribe */ |
650 | 81 | orig_enabled = syncdaemon_config_interface_get_udf_autosubscribe (config); | 77 | orig_enabled = syncdaemon_daemon_get_udf_autosubscribe (the_daemon); |
651 | 82 | syncdaemon_config_interface_set_udf_autosubscribe (config, !orig_enabled); | 78 | syncdaemon_daemon_set_udf_autosubscribe (the_daemon, !orig_enabled); |
652 | 83 | enabled = syncdaemon_config_interface_get_udf_autosubscribe (config); | 79 | enabled = syncdaemon_daemon_get_udf_autosubscribe (the_daemon); |
653 | 84 | g_assert (orig_enabled != enabled); | 80 | g_assert (orig_enabled != enabled); |
654 | 85 | 81 | ||
657 | 86 | syncdaemon_config_interface_set_udf_autosubscribe (config, orig_enabled); | 82 | syncdaemon_daemon_set_udf_autosubscribe (the_daemon, orig_enabled); |
658 | 87 | enabled = syncdaemon_config_interface_get_udf_autosubscribe (config); | 83 | enabled = syncdaemon_daemon_get_udf_autosubscribe (the_daemon); |
659 | 88 | g_assert (orig_enabled == enabled); | 84 | g_assert (orig_enabled == enabled); |
660 | 89 | } | 85 | } |
661 | 90 | 86 | ||
662 | @@ -192,13 +188,9 @@ | |||
663 | 192 | test_folders (void) | 188 | test_folders (void) |
664 | 193 | { | 189 | { |
665 | 194 | GSList *folders_list, *l; | 190 | GSList *folders_list, *l; |
666 | 195 | SyncdaemonFoldersInterface *folders; | ||
667 | 196 | |||
668 | 197 | folders = (SyncdaemonFoldersInterface *) syncdaemon_daemon_get_folders_interface (the_daemon); | ||
669 | 198 | g_assert (SYNCDAEMON_IS_FOLDERS_INTERFACE (folders)); | ||
670 | 199 | 191 | ||
671 | 200 | /* Get list of UDFs */ | 192 | /* Get list of UDFs */ |
673 | 201 | folders_list = syncdaemon_folders_interface_get_folders (folders); | 193 | folders_list = syncdaemon_daemon_get_folders (the_daemon); |
674 | 202 | g_assert (g_slist_length (folders_list) >= 1); | 194 | g_assert (g_slist_length (folders_list) >= 1); |
675 | 203 | 195 | ||
676 | 204 | for (l = folders_list; l != NULL; l = l->next) { | 196 | for (l = folders_list; l != NULL; l = l->next) { |
677 | @@ -335,13 +327,9 @@ | |||
678 | 335 | test_shares (void) | 327 | test_shares (void) |
679 | 336 | { | 328 | { |
680 | 337 | GSList *list; | 329 | GSList *list; |
681 | 338 | SyncdaemonSharesInterface *shares; | ||
682 | 339 | |||
683 | 340 | shares = (SyncdaemonSharesInterface *) syncdaemon_daemon_get_shares_interface (the_daemon); | ||
684 | 341 | g_assert (SYNCDAEMON_IS_SHARES_INTERFACE (shares)); | ||
685 | 342 | 330 | ||
686 | 343 | /* Get shared folders */ | 331 | /* Get shared folders */ |
688 | 344 | list = syncdaemon_shares_interface_get_shared (shares); | 332 | list = syncdaemon_daemon_get_shared_folders (the_daemon); |
689 | 345 | while (list != NULL) { | 333 | while (list != NULL) { |
690 | 346 | SyncdaemonShareInfo *share_info = list->data; | 334 | SyncdaemonShareInfo *share_info = list->data; |
691 | 347 | 335 | ||
692 | @@ -352,7 +340,7 @@ | |||
693 | 352 | } | 340 | } |
694 | 353 | 341 | ||
695 | 354 | /* Get shares */ | 342 | /* Get shares */ |
697 | 355 | list = syncdaemon_shares_interface_get_shares (shares); | 343 | list = syncdaemon_daemon_get_shares (the_daemon); |
698 | 356 | while (list != NULL) { | 344 | while (list != NULL) { |
699 | 357 | SyncdaemonShareInfo *share_info = list->data; | 345 | SyncdaemonShareInfo *share_info = list->data; |
700 | 358 | 346 | ||
701 | @@ -367,13 +355,9 @@ | |||
702 | 367 | test_status (void) | 355 | test_status (void) |
703 | 368 | { | 356 | { |
704 | 369 | GSList *list; | 357 | GSList *list; |
705 | 370 | SyncdaemonStatusInterface *status; | ||
706 | 371 | |||
707 | 372 | status = (SyncdaemonStatusInterface *) syncdaemon_daemon_get_status_interface (the_daemon); | ||
708 | 373 | g_assert (SYNCDAEMON_IS_STATUS_INTERFACE (status)); | ||
709 | 374 | 358 | ||
710 | 375 | /* Test getting current downloads */ | 359 | /* Test getting current downloads */ |
712 | 376 | list = syncdaemon_status_interface_get_current_downloads (status); | 360 | list = syncdaemon_daemon_get_current_downloads (the_daemon); |
713 | 377 | while (list != NULL) { | 361 | while (list != NULL) { |
714 | 378 | SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data; | 362 | SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data; |
715 | 379 | 363 | ||
716 | @@ -382,7 +366,7 @@ | |||
717 | 382 | } | 366 | } |
718 | 383 | 367 | ||
719 | 384 | /* Test getting current uploads */ | 368 | /* Test getting current uploads */ |
721 | 385 | list = syncdaemon_status_interface_get_current_uploads (status); | 369 | list = syncdaemon_daemon_get_current_uploads (the_daemon); |
722 | 386 | while (list != NULL) { | 370 | while (list != NULL) { |
723 | 387 | SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data; | 371 | SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data; |
724 | 388 | 372 |