Merge lp:~rodrigo-moya/ubuntuone-client/high-level-libsd-api into lp:ubuntuone-client

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
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 }
6
7 /**
8- * syncdaemon_config_interface_set_bandwidth_throttling_enabled:
9+ * syncdaemon_config_interface_set_bandwidth_throttling:
10 */
11 void
12 syncdaemon_config_interface_set_bandwidth_throttling (SyncdaemonConfigInterface *interface, gboolean enabled)
13
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 }
19
20 /**
21+ * syncdaemon_daemon_get_bandwidth_throttling:
22+ * @daemon: A #SyncdaemonDaemon object
23+ *
24+ * Get whether bandwidth throttling is enabled or not.
25+ *
26+ * Return value: TRUE if enabled, FALSE if disabled.
27+ */
28+gboolean
29+syncdaemon_daemon_get_bandwidth_throttling (SyncdaemonDaemon *daemon)
30+{
31+ SyncdaemonInterface *interface;
32+
33+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), FALSE);
34+
35+ interface = syncdaemon_daemon_get_config_interface (daemon);
36+ if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
37+ return syncdaemon_config_interface_get_bandwidth_throttling (SYNCDAEMON_CONFIG_INTERFACE (interface));
38+
39+ return FALSE;
40+}
41+
42+/**
43+ * syncdaemon_daemon_set_bandwidth_throttling:
44+ * @daemon: A #SyncdaemonDaemon object
45+ * @enabled: Whether to enable bandwidth throttling or not.
46+ *
47+ * Enable or disable bandwidth throttling.
48+ */
49+void
50+syncdaemon_daemon_set_bandwidth_throttling (SyncdaemonDaemon *daemon, gboolean enabled)
51+{
52+ SyncdaemonInterface *interface;
53+
54+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
55+
56+ interface = syncdaemon_daemon_get_config_interface (daemon);
57+ if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
58+ syncdaemon_config_interface_set_bandwidth_throttling (SYNCDAEMON_CONFIG_INTERFACE (interface), enabled);
59+}
60+
61+/**
62+ * syncdaemon_daemon_get_files_sync:
63+ * @daemon: A #SyncdaemonDaemon object
64+ *
65+ * Get whether file syncing is enabled or not.
66+ *
67+ * Return value: TRUE if enabled, FALSE if disabled.
68+ */
69+gboolean
70+syncdaemon_daemon_get_files_sync (SyncdaemonDaemon *daemon)
71+{
72+ SyncdaemonInterface *interface;
73+
74+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), FALSE);
75+
76+ interface = syncdaemon_daemon_get_config_interface (daemon);
77+ if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
78+ return syncdaemon_config_interface_get_files_sync (SYNCDAEMON_CONFIG_INTERFACE (interface));
79+
80+ return FALSE;
81+}
82+
83+/**
84+ * syncdaemon_daemon_set_files_sync:
85+ * @daemon: A #SyncdaemonDaemon object
86+ * @enabled: Whether to enable file syncing or not.
87+ *
88+ * Enable or disable file syncing.
89+ */
90+void
91+syncdaemon_daemon_set_files_sync (SyncdaemonDaemon *daemon, gboolean enabled)
92+{
93+ SyncdaemonInterface *interface;
94+
95+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
96+
97+ interface = syncdaemon_daemon_get_config_interface (daemon);
98+ if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
99+ syncdaemon_config_interface_set_files_sync (SYNCDAEMON_CONFIG_INTERFACE (interface), enabled);
100+}
101+
102+/**
103+ * syncdaemon_daemon_get_throttling_limits:
104+ * @daemon: A #SyncdaemonDaemon object
105+ * @download: Placeholder for download limits
106+ * @upload: Placeholder for upload limits
107+ *
108+ * Retrieve download and upload throttling limits.
109+ */
110+void
111+syncdaemon_daemon_get_throttling_limits (SyncdaemonDaemon *daemon, gint *download, gint *upload)
112+{
113+ SyncdaemonInterface *interface;
114+
115+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
116+
117+ interface = syncdaemon_daemon_get_config_interface (daemon);
118+ if (interface != NULL) {
119+ syncdaemon_config_interface_get_throttling_limits (SYNCDAEMON_CONFIG_INTERFACE (interface),
120+ download,
121+ upload);
122+ }
123+}
124+
125+/**
126+ * syncdaemon_daemon_set_throttling_limits:
127+ * @daemon: A #SyncdaemonDaemon object
128+ * @download: Download limit
129+ * @upload: Upload limit
130+ *
131+ * Set download and upload throttling limits.
132+ */
133+void
134+syncdaemon_daemon_set_throttling_limits (SyncdaemonDaemon *daemon, gint download, gint upload)
135+{
136+ SyncdaemonInterface *interface;
137+
138+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
139+
140+ interface = syncdaemon_daemon_get_config_interface (daemon);
141+ if (interface != NULL) {
142+ syncdaemon_config_interface_set_throttling_limits (SYNCDAEMON_CONFIG_INTERFACE (interface),
143+ download,
144+ upload);
145+ }
146+}
147+
148+/**
149+ * syncdaemon_daemon_get_udf_autosubscribe:
150+ * @daemon: A #SyncdaemonDaemon object
151+ *
152+ * Get whether autosubscription for UDFs is enabled or not.
153+ *
154+ * Return value: TRUE if enabled, FALSE if disabled.
155+ */
156+gboolean
157+syncdaemon_daemon_get_udf_autosubscribe (SyncdaemonDaemon *daemon)
158+{
159+ SyncdaemonInterface *interface;
160+
161+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), FALSE);
162+
163+ interface = syncdaemon_daemon_get_config_interface (daemon);
164+ if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
165+ return syncdaemon_config_interface_get_udf_autosubscribe (SYNCDAEMON_CONFIG_INTERFACE (interface));
166+
167+ return FALSE;
168+}
169+
170+/**
171+ * syncdaemon_daemon_set_udf_autosubscribe:
172+ * @daemon: A #SyncdaemonDaemon object
173+ * @enabled: Whether to enable UDF autosubscription or not.
174+ *
175+ * Enable or disable UDF autosubscription.
176+ */
177+void
178+syncdaemon_daemon_set_udf_autosubscribe (SyncdaemonDaemon *daemon, gboolean enabled)
179+{
180+ SyncdaemonInterface *interface;
181+
182+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
183+
184+ interface = syncdaemon_daemon_get_config_interface (daemon);
185+ if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
186+ syncdaemon_config_interface_set_udf_autosubscribe (SYNCDAEMON_CONFIG_INTERFACE (interface), enabled);
187+}
188+
189+/**
190+ * syncdaemon_daemon_get_metadata:
191+ * @daemon: A #SyncdaemonDaemon object
192+ * @path: Path to check metadata for
193+ * @with_subtree_sync_check: For folders, whether to check the status of all its children
194+ *
195+ * Retrieve metadata for a file or folder inside a Ubuntu One directory.
196+ *
197+ * Return value: Metadata for the specified path.
198+ */
199+SyncdaemonMetadata *
200+syncdaemon_daemon_get_metadata (SyncdaemonDaemon *daemon, const gchar *path, gboolean with_subtree_sync_check)
201+{
202+ SyncdaemonInterface *interface;
203+
204+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
205+
206+ interface = syncdaemon_daemon_get_filesystem_interface (daemon);
207+ if (interface != NULL) {
208+ return syncdaemon_filesystem_interface_get_metadata (SYNCDAEMON_FILESYSTEM_INTERFACE (interface),
209+ path,
210+ with_subtree_sync_check);
211+ }
212+
213+ return NULL;
214+}
215+
216+/**
217+ * syncdaemon_daemon_get_folders:
218+ * @daemon: A #SyncdaemonDaemon object
219+ *
220+ * Retrieve the list of folders setup for synchronization with Ubuntu One.
221+ *
222+ * Return value: A list of #SyncdaemonFolderInfo containing all the folders being
223+ * synchronized by the user. When no longer needed, the list should be freed
224+ * by calling g_slist_free.
225+ */
226+GSList *
227+syncdaemon_daemon_get_folders (SyncdaemonDaemon *daemon)
228+{
229+ SyncdaemonInterface *interface;
230+
231+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
232+
233+ interface = syncdaemon_daemon_get_folders_interface (daemon);
234+ if (interface != NULL)
235+ return syncdaemon_folders_interface_get_folders (SYNCDAEMON_FOLDERS_INTERFACE (interface));
236+
237+ return NULL;
238+}
239+
240+/**
241+ * syncdaemon_daemon_get_folder_info:
242+ * @daemon: A #SyncdaemonDaemon object
243+ * @path: Full path of the folder for which to retrieve information.
244+ *
245+ * Get information about a folder under Ubuntu One.
246+ *
247+ * Return value: A #SyncdaemonFolderInfo object containing all the information
248+ * for the node. When no longer needed, it should be freed by calling
249+ * g_object_unref.
250+ */
251+SyncdaemonFolderInfo *
252+syncdaemon_daemon_get_folder_info (SyncdaemonDaemon *daemon, const gchar *path)
253+{
254+ SyncdaemonInterface *interface;
255+
256+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
257+
258+ interface = syncdaemon_daemon_get_folders_interface (daemon);
259+ if (interface != NULL)
260+ return syncdaemon_folders_interface_get_info (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
261+
262+ return NULL;
263+}
264+
265+/**
266 * syncdaemon_daemon_is_folder_enabled:
267 * @daemon: A #SyncdaemonDaemon object
268 * @path: The folder path to check
269@@ -726,6 +971,281 @@
270 return managed;
271 }
272
273+/**
274+ * syncdaemon_daemon_create_folder:
275+ * @daemon: A #SyncdaemonDaemon object
276+ * @path: The full path of the folder to create
277+ *
278+ * Enable a folder for Ubuntu One synchronization.
279+ *
280+ * The result of the operation can be retrieved by connecting to the "folder_created"
281+ * signal of the #SyncdaemonDaemon object.
282+ */
283+void
284+syncdaemon_daemon_create_folder (SyncdaemonDaemon *daemon, const gchar *path)
285+{
286+ SyncdaemonInterface *interface;
287+
288+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
289+
290+ interface = syncdaemon_daemon_get_folders_interface (daemon);
291+ if (interface != NULL)
292+ syncdaemon_folders_interface_create (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
293+ else
294+ g_signal_emit (daemon, daemon_signals[FOLDER_CREATED_SIGNAL], 0, FALSE, NULL);
295+}
296+
297+/**
298+ * syncdaemon_daemon_delete_folder:
299+ * @daemon: A #SyncdaemonDaemon object
300+ * @path: The full path of the folder to delete
301+ *
302+ * Disable a folder for Ubuntu One synchronization.
303+ *
304+ * The result of the operation can be retrieved by connecting to the "folder_deleted"
305+ * signal of the #SyncdaemonDaemon object.
306+ */
307+void
308+syncdaemon_daemon_delete_folder (SyncdaemonDaemon *daemon, const gchar *path)
309+{
310+ SyncdaemonInterface *interface;
311+
312+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
313+
314+ interface = syncdaemon_daemon_get_folders_interface (daemon);
315+ if (interface != NULL)
316+ syncdaemon_folders_interface_delete (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
317+ else
318+ g_signal_emit (daemon, daemon_signals[FOLDER_DELETED_SIGNAL], 0, FALSE, NULL);
319+}
320+
321+/**
322+ * syncdaemon_daemon_subscribe_folder:
323+ * @daemon: A #SyncdaemonDaemon object
324+ * @path: The full path of the folder to subscribe
325+ *
326+ * Subscribe a folder for Ubuntu One synchronization.
327+ *
328+ * The result of the operation can be retrieved by connecting to the "folder_subscribed"
329+ * signal of the #SyncdaemonDaemon object.
330+ */
331+void
332+syncdaemon_daemon_subscribe_folder (SyncdaemonDaemon *daemon, const gchar *path)
333+{
334+ SyncdaemonInterface *interface;
335+
336+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
337+
338+ interface = syncdaemon_daemon_get_folders_interface (daemon);
339+ if (interface != NULL)
340+ syncdaemon_folders_interface_subscribe (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
341+ else
342+ g_signal_emit (daemon, daemon_signals[FOLDER_SUBSCRIBED_SIGNAL], 0, FALSE, NULL);
343+}
344+
345+/**
346+ * syncdaemon_daemon_unsubscribe_folder:
347+ * @daemon: A #SyncdaemonDaemon object
348+ * @path: The full path of the folder to unsubscribe
349+ *
350+ * Unsubscribe a folder from Ubuntu One synchronization.
351+ *
352+ * The result of the operation can be retrieved by connecting to the "folder_unsubscribed"
353+ * signal of the #SyncdaemonDaemon object.
354+ */
355+void
356+syncdaemon_daemon_unsubscribe_folder (SyncdaemonDaemon *daemon, const gchar *path)
357+{
358+ SyncdaemonInterface *interface;
359+
360+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
361+
362+ interface = syncdaemon_daemon_get_folders_interface (daemon);
363+ if (interface != NULL)
364+ syncdaemon_folders_interface_unsubscribe (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
365+ else
366+ g_signal_emit (daemon, daemon_signals[FOLDER_UNSUBSCRIBED_SIGNAL], 0, FALSE, NULL);
367+}
368+
369+/**
370+ * syncdaemon_daemon_create_share:
371+ * @daemon: A #SyncdaemonDaemon object
372+ * @path: Full path of the folder to be shared
373+ * @usernames: List of users with whom to share the folder
374+ * @name: Name to be used for the share
375+ * @allow_modifications: Whether to allow modifications to the list of users
376+ *
377+ * Share a Ubuntu One folder with a list of users.
378+ *
379+ * The result of the operation can be retrieved by connecting to the "share_created"
380+ * signal of the #SyncdaemonDaemon object.
381+ */
382+void
383+syncdaemon_daemon_create_share (SyncdaemonDaemon *daemon,
384+ const gchar *path,
385+ GSList *usernames,
386+ const gchar *name,
387+ gboolean allow_modifications)
388+{
389+ SyncdaemonInterface *interface;
390+
391+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
392+
393+ interface = syncdaemon_daemon_get_shares_interface (daemon);
394+ if (interface != NULL) {
395+ syncdaemon_shares_interface_create (SYNCDAEMON_SHARES_INTERFACE (interface),
396+ path,
397+ usernames,
398+ name,
399+ allow_modifications);
400+ } else
401+ g_signal_emit (daemon, daemon_signals[SHARE_CREATED_SIGNAL], 0, FALSE, NULL);
402+}
403+
404+/**
405+ * syncdaemon_daemon_delete_share:
406+ * @daemon: A #SyncdaemonDaemon object
407+ * @path: Full path of the folder to be shared
408+ *
409+ * Stop sharing a Ubuntu One folder.
410+ *
411+ * The result of the operation can be retrieved by connecting to the "share_deleted"
412+ * signal of the #SyncdaemonDaemon object.
413+ */
414+void
415+syncdaemon_daemon_delete_share (SyncdaemonDaemon *daemon, const gchar *path)
416+{
417+ SyncdaemonInterface *interface;
418+
419+ g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
420+
421+ interface = syncdaemon_daemon_get_shares_interface (daemon);
422+ if (interface != NULL)
423+ syncdaemon_shares_interface_delete (SYNCDAEMON_SHARES_INTERFACE (interface), path);
424+ else
425+ g_signal_emit (daemon, daemon_signals[SHARE_DELETED_SIGNAL], 0, FALSE, NULL);
426+}
427+
428+/**
429+ * syncdaemon_daemon_get_shared_folders:
430+ * @daemon: A #SyncdaemonDaemon object
431+ *
432+ * Get the list of folders shared by the user with other users.
433+ *
434+ * Return value: A GSList of #SyncdaemonShareInfo objects. When no longer needed,
435+ * the list should be freed by calling #g_slist_free.
436+ */
437+GSList *
438+syncdaemon_daemon_get_shared_folders (SyncdaemonDaemon *daemon)
439+{
440+ SyncdaemonInterface *interface;
441+
442+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
443+
444+ interface = syncdaemon_daemon_get_shares_interface (daemon);
445+ if (interface != NULL)
446+ return syncdaemon_shares_interface_get_shared (SYNCDAEMON_SHARES_INTERFACE (interface));
447+
448+ return NULL;
449+}
450+
451+/**
452+ * syncdaemon_daemon_get_shares:
453+ * @daemon: A #SyncdaemonDaemon object
454+ *
455+ * Get the list of folders shared by other users with the current user.
456+ *
457+ * Return value: A GSList of #SyncdaemonShareInfo objects. When no longer needed,
458+ * the list should be freed by calling #g_slist_free.
459+ */
460+GSList *
461+syncdaemon_daemon_get_shares (SyncdaemonDaemon *daemon)
462+{
463+ SyncdaemonInterface *interface;
464+
465+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
466+
467+ interface = syncdaemon_daemon_get_shares_interface (daemon);
468+ if (interface != NULL)
469+ return syncdaemon_shares_interface_get_shares (SYNCDAEMON_SHARES_INTERFACE (interface));
470+
471+ return NULL;
472+}
473+
474+/**
475+ * syncdaemon_daemon_get_current_status:
476+ * @daemon: A #SyncdaemonDaemon object
477+ *
478+ * Retrieve the current status of SyncDaemon.
479+ *
480+ * Return value: A #SyncdaemonStatusInfo object containing information about
481+ * Syncdaemon's current status. When no longer needed, it should be freed by
482+ * calling g_object_unref.
483+ */
484+SyncdaemonStatusInfo *
485+syncdaemon_daemon_get_current_status (SyncdaemonDaemon *daemon)
486+{
487+ SyncdaemonInterface *interface;
488+
489+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
490+
491+ interface = syncdaemon_daemon_get_status_interface (daemon);
492+ if (interface != NULL)
493+ return syncdaemon_status_interface_get_current_status (SYNCDAEMON_STATUS_INTERFACE (interface));
494+
495+ return NULL;
496+}
497+
498+/**
499+ * syncdaemon_daemon_get_current_downloads:
500+ * @daemon: A #SyncdaemonDaemon object
501+ *
502+ * Retrieve the list of downloads in progress.
503+ *
504+ * Return value: A GSList of #SyncdaemonTransferInfo objects, each of which contains
505+ * information about a file download in progress. The data in the list belongs to
506+ * the library, so when no longer needed, the list should be freed by just calling
507+ * g_slist_free.
508+ */
509+GSList *
510+syncdaemon_daemon_get_current_downloads (SyncdaemonDaemon *daemon)
511+{
512+ SyncdaemonInterface *interface;
513+
514+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
515+
516+ interface = syncdaemon_daemon_get_status_interface (daemon);
517+ if (interface != NULL)
518+ return syncdaemon_status_interface_get_current_downloads (SYNCDAEMON_STATUS_INTERFACE (interface));
519+
520+ return NULL;
521+}
522+
523+/**
524+ * syncdaemon_daemon_get_current_uploads:
525+ * @daemon: A #SyncdaemonDaemon object
526+ *
527+ * Retrieve the list of uploads in progress.
528+ *
529+ * Return value: A GSList of #SyncdaemonTransferInfo objects, each of which contains
530+ * information about a file upload in progress. The data in the list belongs to
531+ * the library, so when no longer needed, the list should be freed by just calling
532+ * g_slist_free.
533+ */
534+GSList *
535+syncdaemon_daemon_get_current_uploads (SyncdaemonDaemon *daemon)
536+{
537+ SyncdaemonInterface *interface;
538+
539+ g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
540+
541+ interface = syncdaemon_daemon_get_status_interface (daemon);
542+ if (interface != NULL)
543+ return syncdaemon_status_interface_get_current_uploads (SYNCDAEMON_STATUS_INTERFACE (interface));
544+
545+ return NULL;
546+}
547+
548 typedef SyncdaemonInterface * (* SDINewFunc) (SyncdaemonDaemon * daemon);
549
550 static SyncdaemonInterface *
551
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 #include "syncdaemon-file-info.h"
557 #include "syncdaemon-folder-info.h"
558 #include "syncdaemon-interface.h"
559+#include "syncdaemon-metadata.h"
560 #include "syncdaemon-share-info.h"
561 #include "syncdaemon-status-info.h"
562 #include "syncdaemon-transfer-info.h"
563@@ -95,10 +96,50 @@
564 gboolean syncdaemon_daemon_has_network (SyncdaemonDaemon *daemon);
565 SyncdaemonAuthentication *syncdaemon_daemon_get_authentication (SyncdaemonDaemon *daemon);
566
567+/* Configuration */
568+gboolean syncdaemon_daemon_get_bandwidth_throttling (SyncdaemonDaemon *daemon);
569+void syncdaemon_daemon_set_bandwidth_throttling (SyncdaemonDaemon *daemon, gboolean enabled);
570+gboolean syncdaemon_daemon_get_files_sync (SyncdaemonDaemon *daemon);
571+void syncdaemon_daemon_set_files_sync (SyncdaemonDaemon *daemon, gboolean enabled);
572+void syncdaemon_daemon_get_throttling_limits (SyncdaemonDaemon *daemon, gint *download, gint *upload);
573+void syncdaemon_daemon_set_throttling_limits (SyncdaemonDaemon *daemon, gint download, gint upload);
574+gboolean syncdaemon_daemon_get_udf_autosubscribe (SyncdaemonDaemon *daemon);
575+void syncdaemon_daemon_set_udf_autosubscribe (SyncdaemonDaemon *daemon, gboolean enabled);
576+
577+/* File system operations */
578+SyncdaemonMetadata *syncdaemon_daemon_get_metadata (SyncdaemonDaemon *daemon,
579+ const gchar *path,
580+ gboolean with_subtree_sync_check);
581+
582+
583 /* Folders operations */
584+GSList *syncdaemon_daemon_get_folders (SyncdaemonDaemon *daemon);
585+SyncdaemonFolderInfo*syncdaemon_daemon_get_folder_info (SyncdaemonDaemon *daemon, const gchar *path);
586 gboolean syncdaemon_daemon_is_folder_enabled (SyncdaemonDaemon *daemon,
587 const gchar *path,
588 gboolean *is_root);
589+void syncdaemon_daemon_create_folder (SyncdaemonDaemon *daemon, const gchar *path);
590+void syncdaemon_daemon_delete_folder (SyncdaemonDaemon *daemon, const gchar *path);
591+void syncdaemon_daemon_subscribe_folder (SyncdaemonDaemon *daemon, const gchar *path);
592+void syncdaemon_daemon_unsubscribe_folder (SyncdaemonDaemon *daemon, const gchar *path);
593+
594+/* Public files operations */
595+/* FIXME: need nautilus-refactor branch landed first */
596+
597+/* Shares operations */
598+void syncdaemon_daemon_create_share (SyncdaemonDaemon *daemon,
599+ const gchar *path,
600+ GSList *usernames,
601+ const gchar *name,
602+ gboolean allow_modifications);
603+void syncdaemon_daemon_delete_share (SyncdaemonDaemon *daemon, const gchar *path);
604+GSList *syncdaemon_daemon_get_shared_folders (SyncdaemonDaemon *daemon);
605+GSList *syncdaemon_daemon_get_shares (SyncdaemonDaemon *daemon);
606+
607+/* Status operations */
608+SyncdaemonStatusInfo*syncdaemon_daemon_get_current_status (SyncdaemonDaemon *daemon);
609+GSList *syncdaemon_daemon_get_current_downloads (SyncdaemonDaemon *daemon);
610+GSList *syncdaemon_daemon_get_current_uploads (SyncdaemonDaemon *daemon);
611
612 /*
613 * Low level DBus interface access
614
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 static void
620 test_config (void)
621 {
622- SyncdaemonConfigInterface *config;
623 gboolean orig_enabled, enabled;
624
625- config = (SyncdaemonConfigInterface *) syncdaemon_daemon_get_config_interface (the_daemon);
626- g_assert (SYNCDAEMON_IS_CONFIG_INTERFACE (config));
627-
628 /* Test set/get_throttling_enabled */
629- orig_enabled = syncdaemon_config_interface_get_bandwidth_throttling (config);
630- syncdaemon_config_interface_set_bandwidth_throttling (config, !orig_enabled);
631- enabled = syncdaemon_config_interface_get_bandwidth_throttling (config);
632+ orig_enabled = syncdaemon_daemon_get_bandwidth_throttling (the_daemon);
633+ syncdaemon_daemon_set_bandwidth_throttling (the_daemon, !orig_enabled);
634+ enabled = syncdaemon_daemon_get_bandwidth_throttling (the_daemon);
635 g_assert (orig_enabled != enabled);
636
637- syncdaemon_config_interface_set_bandwidth_throttling (config, orig_enabled);
638- enabled = syncdaemon_config_interface_get_bandwidth_throttling (config);
639+ syncdaemon_daemon_set_bandwidth_throttling (the_daemon, orig_enabled);
640+ enabled = syncdaemon_daemon_get_bandwidth_throttling (the_daemon);
641 g_assert (orig_enabled == enabled);
642
643 /* FIXME: we don't test get/set_files_sync since disabling it means the
644 syncdaemon quits and doesn't start anymore */
645
646 /* Test set/get_udf_autosubscribe */
647- orig_enabled = syncdaemon_config_interface_get_udf_autosubscribe (config);
648- syncdaemon_config_interface_set_udf_autosubscribe (config, !orig_enabled);
649- enabled = syncdaemon_config_interface_get_udf_autosubscribe (config);
650+ orig_enabled = syncdaemon_daemon_get_udf_autosubscribe (the_daemon);
651+ syncdaemon_daemon_set_udf_autosubscribe (the_daemon, !orig_enabled);
652+ enabled = syncdaemon_daemon_get_udf_autosubscribe (the_daemon);
653 g_assert (orig_enabled != enabled);
654
655- syncdaemon_config_interface_set_udf_autosubscribe (config, orig_enabled);
656- enabled = syncdaemon_config_interface_get_udf_autosubscribe (config);
657+ syncdaemon_daemon_set_udf_autosubscribe (the_daemon, orig_enabled);
658+ enabled = syncdaemon_daemon_get_udf_autosubscribe (the_daemon);
659 g_assert (orig_enabled == enabled);
660 }
661
662@@ -192,13 +188,9 @@
663 test_folders (void)
664 {
665 GSList *folders_list, *l;
666- SyncdaemonFoldersInterface *folders;
667-
668- folders = (SyncdaemonFoldersInterface *) syncdaemon_daemon_get_folders_interface (the_daemon);
669- g_assert (SYNCDAEMON_IS_FOLDERS_INTERFACE (folders));
670
671 /* Get list of UDFs */
672- folders_list = syncdaemon_folders_interface_get_folders (folders);
673+ folders_list = syncdaemon_daemon_get_folders (the_daemon);
674 g_assert (g_slist_length (folders_list) >= 1);
675
676 for (l = folders_list; l != NULL; l = l->next) {
677@@ -335,13 +327,9 @@
678 test_shares (void)
679 {
680 GSList *list;
681- SyncdaemonSharesInterface *shares;
682-
683- shares = (SyncdaemonSharesInterface *) syncdaemon_daemon_get_shares_interface (the_daemon);
684- g_assert (SYNCDAEMON_IS_SHARES_INTERFACE (shares));
685
686 /* Get shared folders */
687- list = syncdaemon_shares_interface_get_shared (shares);
688+ list = syncdaemon_daemon_get_shared_folders (the_daemon);
689 while (list != NULL) {
690 SyncdaemonShareInfo *share_info = list->data;
691
692@@ -352,7 +340,7 @@
693 }
694
695 /* Get shares */
696- list = syncdaemon_shares_interface_get_shares (shares);
697+ list = syncdaemon_daemon_get_shares (the_daemon);
698 while (list != NULL) {
699 SyncdaemonShareInfo *share_info = list->data;
700
701@@ -367,13 +355,9 @@
702 test_status (void)
703 {
704 GSList *list;
705- SyncdaemonStatusInterface *status;
706-
707- status = (SyncdaemonStatusInterface *) syncdaemon_daemon_get_status_interface (the_daemon);
708- g_assert (SYNCDAEMON_IS_STATUS_INTERFACE (status));
709
710 /* Test getting current downloads */
711- list = syncdaemon_status_interface_get_current_downloads (status);
712+ list = syncdaemon_daemon_get_current_downloads (the_daemon);
713 while (list != NULL) {
714 SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data;
715
716@@ -382,7 +366,7 @@
717 }
718
719 /* Test getting current uploads */
720- list = syncdaemon_status_interface_get_current_uploads (status);
721+ list = syncdaemon_daemon_get_current_uploads (the_daemon);
722 while (list != NULL) {
723 SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data;
724

Subscribers

People subscribed via source and target branches