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
=== modified file 'libsyncdaemon/syncdaemon-config-interface.c'
--- libsyncdaemon/syncdaemon-config-interface.c 2010-10-04 20:29:05 +0000
+++ libsyncdaemon/syncdaemon-config-interface.c 2010-10-22 07:46:49 +0000
@@ -130,7 +130,7 @@
130}130}
131131
132/**132/**
133 * syncdaemon_config_interface_set_bandwidth_throttling_enabled:133 * syncdaemon_config_interface_set_bandwidth_throttling:
134 */134 */
135void135void
136syncdaemon_config_interface_set_bandwidth_throttling (SyncdaemonConfigInterface *interface, gboolean enabled)136syncdaemon_config_interface_set_bandwidth_throttling (SyncdaemonConfigInterface *interface, gboolean enabled)
137137
=== modified file 'libsyncdaemon/syncdaemon-daemon.c'
--- libsyncdaemon/syncdaemon-daemon.c 2010-10-05 12:47:32 +0000
+++ libsyncdaemon/syncdaemon-daemon.c 2010-10-22 07:46:49 +0000
@@ -662,6 +662,251 @@
662}662}
663663
664/**664/**
665 * syncdaemon_daemon_get_bandwidth_throttling:
666 * @daemon: A #SyncdaemonDaemon object
667 *
668 * Get whether bandwidth throttling is enabled or not.
669 *
670 * Return value: TRUE if enabled, FALSE if disabled.
671 */
672gboolean
673syncdaemon_daemon_get_bandwidth_throttling (SyncdaemonDaemon *daemon)
674{
675 SyncdaemonInterface *interface;
676
677 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), FALSE);
678
679 interface = syncdaemon_daemon_get_config_interface (daemon);
680 if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
681 return syncdaemon_config_interface_get_bandwidth_throttling (SYNCDAEMON_CONFIG_INTERFACE (interface));
682
683 return FALSE;
684}
685
686/**
687 * syncdaemon_daemon_set_bandwidth_throttling:
688 * @daemon: A #SyncdaemonDaemon object
689 * @enabled: Whether to enable bandwidth throttling or not.
690 *
691 * Enable or disable bandwidth throttling.
692 */
693void
694syncdaemon_daemon_set_bandwidth_throttling (SyncdaemonDaemon *daemon, gboolean enabled)
695{
696 SyncdaemonInterface *interface;
697
698 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
699
700 interface = syncdaemon_daemon_get_config_interface (daemon);
701 if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
702 syncdaemon_config_interface_set_bandwidth_throttling (SYNCDAEMON_CONFIG_INTERFACE (interface), enabled);
703}
704
705/**
706 * syncdaemon_daemon_get_files_sync:
707 * @daemon: A #SyncdaemonDaemon object
708 *
709 * Get whether file syncing is enabled or not.
710 *
711 * Return value: TRUE if enabled, FALSE if disabled.
712 */
713gboolean
714syncdaemon_daemon_get_files_sync (SyncdaemonDaemon *daemon)
715{
716 SyncdaemonInterface *interface;
717
718 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), FALSE);
719
720 interface = syncdaemon_daemon_get_config_interface (daemon);
721 if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
722 return syncdaemon_config_interface_get_files_sync (SYNCDAEMON_CONFIG_INTERFACE (interface));
723
724 return FALSE;
725}
726
727/**
728 * syncdaemon_daemon_set_files_sync:
729 * @daemon: A #SyncdaemonDaemon object
730 * @enabled: Whether to enable file syncing or not.
731 *
732 * Enable or disable file syncing.
733 */
734void
735syncdaemon_daemon_set_files_sync (SyncdaemonDaemon *daemon, gboolean enabled)
736{
737 SyncdaemonInterface *interface;
738
739 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
740
741 interface = syncdaemon_daemon_get_config_interface (daemon);
742 if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
743 syncdaemon_config_interface_set_files_sync (SYNCDAEMON_CONFIG_INTERFACE (interface), enabled);
744}
745
746/**
747 * syncdaemon_daemon_get_throttling_limits:
748 * @daemon: A #SyncdaemonDaemon object
749 * @download: Placeholder for download limits
750 * @upload: Placeholder for upload limits
751 *
752 * Retrieve download and upload throttling limits.
753 */
754void
755syncdaemon_daemon_get_throttling_limits (SyncdaemonDaemon *daemon, gint *download, gint *upload)
756{
757 SyncdaemonInterface *interface;
758
759 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
760
761 interface = syncdaemon_daemon_get_config_interface (daemon);
762 if (interface != NULL) {
763 syncdaemon_config_interface_get_throttling_limits (SYNCDAEMON_CONFIG_INTERFACE (interface),
764 download,
765 upload);
766 }
767}
768
769/**
770 * syncdaemon_daemon_set_throttling_limits:
771 * @daemon: A #SyncdaemonDaemon object
772 * @download: Download limit
773 * @upload: Upload limit
774 *
775 * Set download and upload throttling limits.
776 */
777void
778syncdaemon_daemon_set_throttling_limits (SyncdaemonDaemon *daemon, gint download, gint upload)
779{
780 SyncdaemonInterface *interface;
781
782 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
783
784 interface = syncdaemon_daemon_get_config_interface (daemon);
785 if (interface != NULL) {
786 syncdaemon_config_interface_set_throttling_limits (SYNCDAEMON_CONFIG_INTERFACE (interface),
787 download,
788 upload);
789 }
790}
791
792/**
793 * syncdaemon_daemon_get_udf_autosubscribe:
794 * @daemon: A #SyncdaemonDaemon object
795 *
796 * Get whether autosubscription for UDFs is enabled or not.
797 *
798 * Return value: TRUE if enabled, FALSE if disabled.
799 */
800gboolean
801syncdaemon_daemon_get_udf_autosubscribe (SyncdaemonDaemon *daemon)
802{
803 SyncdaemonInterface *interface;
804
805 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), FALSE);
806
807 interface = syncdaemon_daemon_get_config_interface (daemon);
808 if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
809 return syncdaemon_config_interface_get_udf_autosubscribe (SYNCDAEMON_CONFIG_INTERFACE (interface));
810
811 return FALSE;
812}
813
814/**
815 * syncdaemon_daemon_set_udf_autosubscribe:
816 * @daemon: A #SyncdaemonDaemon object
817 * @enabled: Whether to enable UDF autosubscription or not.
818 *
819 * Enable or disable UDF autosubscription.
820 */
821void
822syncdaemon_daemon_set_udf_autosubscribe (SyncdaemonDaemon *daemon, gboolean enabled)
823{
824 SyncdaemonInterface *interface;
825
826 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
827
828 interface = syncdaemon_daemon_get_config_interface (daemon);
829 if (SYNCDAEMON_IS_CONFIG_INTERFACE (interface))
830 syncdaemon_config_interface_set_udf_autosubscribe (SYNCDAEMON_CONFIG_INTERFACE (interface), enabled);
831}
832
833/**
834 * syncdaemon_daemon_get_metadata:
835 * @daemon: A #SyncdaemonDaemon object
836 * @path: Path to check metadata for
837 * @with_subtree_sync_check: For folders, whether to check the status of all its children
838 *
839 * Retrieve metadata for a file or folder inside a Ubuntu One directory.
840 *
841 * Return value: Metadata for the specified path.
842 */
843SyncdaemonMetadata *
844syncdaemon_daemon_get_metadata (SyncdaemonDaemon *daemon, const gchar *path, gboolean with_subtree_sync_check)
845{
846 SyncdaemonInterface *interface;
847
848 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
849
850 interface = syncdaemon_daemon_get_filesystem_interface (daemon);
851 if (interface != NULL) {
852 return syncdaemon_filesystem_interface_get_metadata (SYNCDAEMON_FILESYSTEM_INTERFACE (interface),
853 path,
854 with_subtree_sync_check);
855 }
856
857 return NULL;
858}
859
860/**
861 * syncdaemon_daemon_get_folders:
862 * @daemon: A #SyncdaemonDaemon object
863 *
864 * Retrieve the list of folders setup for synchronization with Ubuntu One.
865 *
866 * Return value: A list of #SyncdaemonFolderInfo containing all the folders being
867 * synchronized by the user. When no longer needed, the list should be freed
868 * by calling g_slist_free.
869 */
870GSList *
871syncdaemon_daemon_get_folders (SyncdaemonDaemon *daemon)
872{
873 SyncdaemonInterface *interface;
874
875 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
876
877 interface = syncdaemon_daemon_get_folders_interface (daemon);
878 if (interface != NULL)
879 return syncdaemon_folders_interface_get_folders (SYNCDAEMON_FOLDERS_INTERFACE (interface));
880
881 return NULL;
882}
883
884/**
885 * syncdaemon_daemon_get_folder_info:
886 * @daemon: A #SyncdaemonDaemon object
887 * @path: Full path of the folder for which to retrieve information.
888 *
889 * Get information about a folder under Ubuntu One.
890 *
891 * Return value: A #SyncdaemonFolderInfo object containing all the information
892 * for the node. When no longer needed, it should be freed by calling
893 * g_object_unref.
894 */
895SyncdaemonFolderInfo *
896syncdaemon_daemon_get_folder_info (SyncdaemonDaemon *daemon, const gchar *path)
897{
898 SyncdaemonInterface *interface;
899
900 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
901
902 interface = syncdaemon_daemon_get_folders_interface (daemon);
903 if (interface != NULL)
904 return syncdaemon_folders_interface_get_info (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
905
906 return NULL;
907}
908
909/**
665 * syncdaemon_daemon_is_folder_enabled:910 * syncdaemon_daemon_is_folder_enabled:
666 * @daemon: A #SyncdaemonDaemon object911 * @daemon: A #SyncdaemonDaemon object
667 * @path: The folder path to check912 * @path: The folder path to check
@@ -726,6 +971,281 @@
726 return managed;971 return managed;
727}972}
728973
974/**
975 * syncdaemon_daemon_create_folder:
976 * @daemon: A #SyncdaemonDaemon object
977 * @path: The full path of the folder to create
978 *
979 * Enable a folder for Ubuntu One synchronization.
980 *
981 * The result of the operation can be retrieved by connecting to the "folder_created"
982 * signal of the #SyncdaemonDaemon object.
983 */
984void
985syncdaemon_daemon_create_folder (SyncdaemonDaemon *daemon, const gchar *path)
986{
987 SyncdaemonInterface *interface;
988
989 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
990
991 interface = syncdaemon_daemon_get_folders_interface (daemon);
992 if (interface != NULL)
993 syncdaemon_folders_interface_create (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
994 else
995 g_signal_emit (daemon, daemon_signals[FOLDER_CREATED_SIGNAL], 0, FALSE, NULL);
996}
997
998/**
999 * syncdaemon_daemon_delete_folder:
1000 * @daemon: A #SyncdaemonDaemon object
1001 * @path: The full path of the folder to delete
1002 *
1003 * Disable a folder for Ubuntu One synchronization.
1004 *
1005 * The result of the operation can be retrieved by connecting to the "folder_deleted"
1006 * signal of the #SyncdaemonDaemon object.
1007 */
1008void
1009syncdaemon_daemon_delete_folder (SyncdaemonDaemon *daemon, const gchar *path)
1010{
1011 SyncdaemonInterface *interface;
1012
1013 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
1014
1015 interface = syncdaemon_daemon_get_folders_interface (daemon);
1016 if (interface != NULL)
1017 syncdaemon_folders_interface_delete (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
1018 else
1019 g_signal_emit (daemon, daemon_signals[FOLDER_DELETED_SIGNAL], 0, FALSE, NULL);
1020}
1021
1022/**
1023 * syncdaemon_daemon_subscribe_folder:
1024 * @daemon: A #SyncdaemonDaemon object
1025 * @path: The full path of the folder to subscribe
1026 *
1027 * Subscribe a folder for Ubuntu One synchronization.
1028 *
1029 * The result of the operation can be retrieved by connecting to the "folder_subscribed"
1030 * signal of the #SyncdaemonDaemon object.
1031 */
1032void
1033syncdaemon_daemon_subscribe_folder (SyncdaemonDaemon *daemon, const gchar *path)
1034{
1035 SyncdaemonInterface *interface;
1036
1037 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
1038
1039 interface = syncdaemon_daemon_get_folders_interface (daemon);
1040 if (interface != NULL)
1041 syncdaemon_folders_interface_subscribe (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
1042 else
1043 g_signal_emit (daemon, daemon_signals[FOLDER_SUBSCRIBED_SIGNAL], 0, FALSE, NULL);
1044}
1045
1046/**
1047 * syncdaemon_daemon_unsubscribe_folder:
1048 * @daemon: A #SyncdaemonDaemon object
1049 * @path: The full path of the folder to unsubscribe
1050 *
1051 * Unsubscribe a folder from Ubuntu One synchronization.
1052 *
1053 * The result of the operation can be retrieved by connecting to the "folder_unsubscribed"
1054 * signal of the #SyncdaemonDaemon object.
1055 */
1056void
1057syncdaemon_daemon_unsubscribe_folder (SyncdaemonDaemon *daemon, const gchar *path)
1058{
1059 SyncdaemonInterface *interface;
1060
1061 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
1062
1063 interface = syncdaemon_daemon_get_folders_interface (daemon);
1064 if (interface != NULL)
1065 syncdaemon_folders_interface_unsubscribe (SYNCDAEMON_FOLDERS_INTERFACE (interface), path);
1066 else
1067 g_signal_emit (daemon, daemon_signals[FOLDER_UNSUBSCRIBED_SIGNAL], 0, FALSE, NULL);
1068}
1069
1070/**
1071 * syncdaemon_daemon_create_share:
1072 * @daemon: A #SyncdaemonDaemon object
1073 * @path: Full path of the folder to be shared
1074 * @usernames: List of users with whom to share the folder
1075 * @name: Name to be used for the share
1076 * @allow_modifications: Whether to allow modifications to the list of users
1077 *
1078 * Share a Ubuntu One folder with a list of users.
1079 *
1080 * The result of the operation can be retrieved by connecting to the "share_created"
1081 * signal of the #SyncdaemonDaemon object.
1082 */
1083void
1084syncdaemon_daemon_create_share (SyncdaemonDaemon *daemon,
1085 const gchar *path,
1086 GSList *usernames,
1087 const gchar *name,
1088 gboolean allow_modifications)
1089{
1090 SyncdaemonInterface *interface;
1091
1092 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
1093
1094 interface = syncdaemon_daemon_get_shares_interface (daemon);
1095 if (interface != NULL) {
1096 syncdaemon_shares_interface_create (SYNCDAEMON_SHARES_INTERFACE (interface),
1097 path,
1098 usernames,
1099 name,
1100 allow_modifications);
1101 } else
1102 g_signal_emit (daemon, daemon_signals[SHARE_CREATED_SIGNAL], 0, FALSE, NULL);
1103}
1104
1105/**
1106 * syncdaemon_daemon_delete_share:
1107 * @daemon: A #SyncdaemonDaemon object
1108 * @path: Full path of the folder to be shared
1109 *
1110 * Stop sharing a Ubuntu One folder.
1111 *
1112 * The result of the operation can be retrieved by connecting to the "share_deleted"
1113 * signal of the #SyncdaemonDaemon object.
1114 */
1115void
1116syncdaemon_daemon_delete_share (SyncdaemonDaemon *daemon, const gchar *path)
1117{
1118 SyncdaemonInterface *interface;
1119
1120 g_return_if_fail (SYNCDAEMON_IS_DAEMON (daemon));
1121
1122 interface = syncdaemon_daemon_get_shares_interface (daemon);
1123 if (interface != NULL)
1124 syncdaemon_shares_interface_delete (SYNCDAEMON_SHARES_INTERFACE (interface), path);
1125 else
1126 g_signal_emit (daemon, daemon_signals[SHARE_DELETED_SIGNAL], 0, FALSE, NULL);
1127}
1128
1129/**
1130 * syncdaemon_daemon_get_shared_folders:
1131 * @daemon: A #SyncdaemonDaemon object
1132 *
1133 * Get the list of folders shared by the user with other users.
1134 *
1135 * Return value: A GSList of #SyncdaemonShareInfo objects. When no longer needed,
1136 * the list should be freed by calling #g_slist_free.
1137 */
1138GSList *
1139syncdaemon_daemon_get_shared_folders (SyncdaemonDaemon *daemon)
1140{
1141 SyncdaemonInterface *interface;
1142
1143 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
1144
1145 interface = syncdaemon_daemon_get_shares_interface (daemon);
1146 if (interface != NULL)
1147 return syncdaemon_shares_interface_get_shared (SYNCDAEMON_SHARES_INTERFACE (interface));
1148
1149 return NULL;
1150}
1151
1152/**
1153 * syncdaemon_daemon_get_shares:
1154 * @daemon: A #SyncdaemonDaemon object
1155 *
1156 * Get the list of folders shared by other users with the current user.
1157 *
1158 * Return value: A GSList of #SyncdaemonShareInfo objects. When no longer needed,
1159 * the list should be freed by calling #g_slist_free.
1160 */
1161GSList *
1162syncdaemon_daemon_get_shares (SyncdaemonDaemon *daemon)
1163{
1164 SyncdaemonInterface *interface;
1165
1166 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
1167
1168 interface = syncdaemon_daemon_get_shares_interface (daemon);
1169 if (interface != NULL)
1170 return syncdaemon_shares_interface_get_shares (SYNCDAEMON_SHARES_INTERFACE (interface));
1171
1172 return NULL;
1173}
1174
1175/**
1176 * syncdaemon_daemon_get_current_status:
1177 * @daemon: A #SyncdaemonDaemon object
1178 *
1179 * Retrieve the current status of SyncDaemon.
1180 *
1181 * Return value: A #SyncdaemonStatusInfo object containing information about
1182 * Syncdaemon's current status. When no longer needed, it should be freed by
1183 * calling g_object_unref.
1184 */
1185SyncdaemonStatusInfo *
1186syncdaemon_daemon_get_current_status (SyncdaemonDaemon *daemon)
1187{
1188 SyncdaemonInterface *interface;
1189
1190 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
1191
1192 interface = syncdaemon_daemon_get_status_interface (daemon);
1193 if (interface != NULL)
1194 return syncdaemon_status_interface_get_current_status (SYNCDAEMON_STATUS_INTERFACE (interface));
1195
1196 return NULL;
1197}
1198
1199/**
1200 * syncdaemon_daemon_get_current_downloads:
1201 * @daemon: A #SyncdaemonDaemon object
1202 *
1203 * Retrieve the list of downloads in progress.
1204 *
1205 * Return value: A GSList of #SyncdaemonTransferInfo objects, each of which contains
1206 * information about a file download in progress. The data in the list belongs to
1207 * the library, so when no longer needed, the list should be freed by just calling
1208 * g_slist_free.
1209 */
1210GSList *
1211syncdaemon_daemon_get_current_downloads (SyncdaemonDaemon *daemon)
1212{
1213 SyncdaemonInterface *interface;
1214
1215 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
1216
1217 interface = syncdaemon_daemon_get_status_interface (daemon);
1218 if (interface != NULL)
1219 return syncdaemon_status_interface_get_current_downloads (SYNCDAEMON_STATUS_INTERFACE (interface));
1220
1221 return NULL;
1222}
1223
1224/**
1225 * syncdaemon_daemon_get_current_uploads:
1226 * @daemon: A #SyncdaemonDaemon object
1227 *
1228 * Retrieve the list of uploads in progress.
1229 *
1230 * Return value: A GSList of #SyncdaemonTransferInfo objects, each of which contains
1231 * information about a file upload in progress. The data in the list belongs to
1232 * the library, so when no longer needed, the list should be freed by just calling
1233 * g_slist_free.
1234 */
1235GSList *
1236syncdaemon_daemon_get_current_uploads (SyncdaemonDaemon *daemon)
1237{
1238 SyncdaemonInterface *interface;
1239
1240 g_return_val_if_fail (SYNCDAEMON_IS_DAEMON (daemon), NULL);
1241
1242 interface = syncdaemon_daemon_get_status_interface (daemon);
1243 if (interface != NULL)
1244 return syncdaemon_status_interface_get_current_uploads (SYNCDAEMON_STATUS_INTERFACE (interface));
1245
1246 return NULL;
1247}
1248
729typedef SyncdaemonInterface * (* SDINewFunc) (SyncdaemonDaemon * daemon);1249typedef SyncdaemonInterface * (* SDINewFunc) (SyncdaemonDaemon * daemon);
7301250
731static SyncdaemonInterface *1251static SyncdaemonInterface *
7321252
=== modified file 'libsyncdaemon/syncdaemon-daemon.h'
--- libsyncdaemon/syncdaemon-daemon.h 2010-09-29 11:12:35 +0000
+++ libsyncdaemon/syncdaemon-daemon.h 2010-10-22 07:46:49 +0000
@@ -27,6 +27,7 @@
27#include "syncdaemon-file-info.h"27#include "syncdaemon-file-info.h"
28#include "syncdaemon-folder-info.h"28#include "syncdaemon-folder-info.h"
29#include "syncdaemon-interface.h"29#include "syncdaemon-interface.h"
30#include "syncdaemon-metadata.h"
30#include "syncdaemon-share-info.h"31#include "syncdaemon-share-info.h"
31#include "syncdaemon-status-info.h"32#include "syncdaemon-status-info.h"
32#include "syncdaemon-transfer-info.h"33#include "syncdaemon-transfer-info.h"
@@ -95,10 +96,50 @@
95gboolean syncdaemon_daemon_has_network (SyncdaemonDaemon *daemon);96gboolean syncdaemon_daemon_has_network (SyncdaemonDaemon *daemon);
96SyncdaemonAuthentication *syncdaemon_daemon_get_authentication (SyncdaemonDaemon *daemon);97SyncdaemonAuthentication *syncdaemon_daemon_get_authentication (SyncdaemonDaemon *daemon);
9798
99/* Configuration */
100gboolean syncdaemon_daemon_get_bandwidth_throttling (SyncdaemonDaemon *daemon);
101void syncdaemon_daemon_set_bandwidth_throttling (SyncdaemonDaemon *daemon, gboolean enabled);
102gboolean syncdaemon_daemon_get_files_sync (SyncdaemonDaemon *daemon);
103void syncdaemon_daemon_set_files_sync (SyncdaemonDaemon *daemon, gboolean enabled);
104void syncdaemon_daemon_get_throttling_limits (SyncdaemonDaemon *daemon, gint *download, gint *upload);
105void syncdaemon_daemon_set_throttling_limits (SyncdaemonDaemon *daemon, gint download, gint upload);
106gboolean syncdaemon_daemon_get_udf_autosubscribe (SyncdaemonDaemon *daemon);
107void syncdaemon_daemon_set_udf_autosubscribe (SyncdaemonDaemon *daemon, gboolean enabled);
108
109/* File system operations */
110SyncdaemonMetadata *syncdaemon_daemon_get_metadata (SyncdaemonDaemon *daemon,
111 const gchar *path,
112 gboolean with_subtree_sync_check);
113
114
98/* Folders operations */115/* Folders operations */
116GSList *syncdaemon_daemon_get_folders (SyncdaemonDaemon *daemon);
117SyncdaemonFolderInfo*syncdaemon_daemon_get_folder_info (SyncdaemonDaemon *daemon, const gchar *path);
99gboolean syncdaemon_daemon_is_folder_enabled (SyncdaemonDaemon *daemon,118gboolean syncdaemon_daemon_is_folder_enabled (SyncdaemonDaemon *daemon,
100 const gchar *path,119 const gchar *path,
101 gboolean *is_root);120 gboolean *is_root);
121void syncdaemon_daemon_create_folder (SyncdaemonDaemon *daemon, const gchar *path);
122void syncdaemon_daemon_delete_folder (SyncdaemonDaemon *daemon, const gchar *path);
123void syncdaemon_daemon_subscribe_folder (SyncdaemonDaemon *daemon, const gchar *path);
124void syncdaemon_daemon_unsubscribe_folder (SyncdaemonDaemon *daemon, const gchar *path);
125
126/* Public files operations */
127/* FIXME: need nautilus-refactor branch landed first */
128
129/* Shares operations */
130void syncdaemon_daemon_create_share (SyncdaemonDaemon *daemon,
131 const gchar *path,
132 GSList *usernames,
133 const gchar *name,
134 gboolean allow_modifications);
135void syncdaemon_daemon_delete_share (SyncdaemonDaemon *daemon, const gchar *path);
136GSList *syncdaemon_daemon_get_shared_folders (SyncdaemonDaemon *daemon);
137GSList *syncdaemon_daemon_get_shares (SyncdaemonDaemon *daemon);
138
139/* Status operations */
140SyncdaemonStatusInfo*syncdaemon_daemon_get_current_status (SyncdaemonDaemon *daemon);
141GSList *syncdaemon_daemon_get_current_downloads (SyncdaemonDaemon *daemon);
142GSList *syncdaemon_daemon_get_current_uploads (SyncdaemonDaemon *daemon);
102143
103/*144/*
104 * Low level DBus interface access145 * Low level DBus interface access
105146
=== modified file 'libsyncdaemon/test-libsyncdaemon.c'
--- libsyncdaemon/test-libsyncdaemon.c 2010-10-04 18:47:52 +0000
+++ libsyncdaemon/test-libsyncdaemon.c 2010-10-22 07:46:49 +0000
@@ -58,33 +58,29 @@
58static void58static void
59test_config (void)59test_config (void)
60{60{
61 SyncdaemonConfigInterface *config;
62 gboolean orig_enabled, enabled;61 gboolean orig_enabled, enabled;
6362
64 config = (SyncdaemonConfigInterface *) syncdaemon_daemon_get_config_interface (the_daemon);
65 g_assert (SYNCDAEMON_IS_CONFIG_INTERFACE (config));
66
67 /* Test set/get_throttling_enabled */63 /* Test set/get_throttling_enabled */
68 orig_enabled = syncdaemon_config_interface_get_bandwidth_throttling (config);64 orig_enabled = syncdaemon_daemon_get_bandwidth_throttling (the_daemon);
69 syncdaemon_config_interface_set_bandwidth_throttling (config, !orig_enabled);65 syncdaemon_daemon_set_bandwidth_throttling (the_daemon, !orig_enabled);
70 enabled = syncdaemon_config_interface_get_bandwidth_throttling (config);66 enabled = syncdaemon_daemon_get_bandwidth_throttling (the_daemon);
71 g_assert (orig_enabled != enabled);67 g_assert (orig_enabled != enabled);
7268
73 syncdaemon_config_interface_set_bandwidth_throttling (config, orig_enabled);69 syncdaemon_daemon_set_bandwidth_throttling (the_daemon, orig_enabled);
74 enabled = syncdaemon_config_interface_get_bandwidth_throttling (config);70 enabled = syncdaemon_daemon_get_bandwidth_throttling (the_daemon);
75 g_assert (orig_enabled == enabled);71 g_assert (orig_enabled == enabled);
7672
77 /* FIXME: we don't test get/set_files_sync since disabling it means the73 /* FIXME: we don't test get/set_files_sync since disabling it means the
78 syncdaemon quits and doesn't start anymore */74 syncdaemon quits and doesn't start anymore */
7975
80 /* Test set/get_udf_autosubscribe */76 /* Test set/get_udf_autosubscribe */
81 orig_enabled = syncdaemon_config_interface_get_udf_autosubscribe (config);77 orig_enabled = syncdaemon_daemon_get_udf_autosubscribe (the_daemon);
82 syncdaemon_config_interface_set_udf_autosubscribe (config, !orig_enabled);78 syncdaemon_daemon_set_udf_autosubscribe (the_daemon, !orig_enabled);
83 enabled = syncdaemon_config_interface_get_udf_autosubscribe (config);79 enabled = syncdaemon_daemon_get_udf_autosubscribe (the_daemon);
84 g_assert (orig_enabled != enabled);80 g_assert (orig_enabled != enabled);
8581
86 syncdaemon_config_interface_set_udf_autosubscribe (config, orig_enabled);82 syncdaemon_daemon_set_udf_autosubscribe (the_daemon, orig_enabled);
87 enabled = syncdaemon_config_interface_get_udf_autosubscribe (config);83 enabled = syncdaemon_daemon_get_udf_autosubscribe (the_daemon);
88 g_assert (orig_enabled == enabled);84 g_assert (orig_enabled == enabled);
89}85}
9086
@@ -192,13 +188,9 @@
192test_folders (void)188test_folders (void)
193{189{
194 GSList *folders_list, *l;190 GSList *folders_list, *l;
195 SyncdaemonFoldersInterface *folders;
196
197 folders = (SyncdaemonFoldersInterface *) syncdaemon_daemon_get_folders_interface (the_daemon);
198 g_assert (SYNCDAEMON_IS_FOLDERS_INTERFACE (folders));
199191
200 /* Get list of UDFs */192 /* Get list of UDFs */
201 folders_list = syncdaemon_folders_interface_get_folders (folders);193 folders_list = syncdaemon_daemon_get_folders (the_daemon);
202 g_assert (g_slist_length (folders_list) >= 1);194 g_assert (g_slist_length (folders_list) >= 1);
203 195
204 for (l = folders_list; l != NULL; l = l->next) {196 for (l = folders_list; l != NULL; l = l->next) {
@@ -335,13 +327,9 @@
335test_shares (void)327test_shares (void)
336{328{
337 GSList *list;329 GSList *list;
338 SyncdaemonSharesInterface *shares;
339
340 shares = (SyncdaemonSharesInterface *) syncdaemon_daemon_get_shares_interface (the_daemon);
341 g_assert (SYNCDAEMON_IS_SHARES_INTERFACE (shares));
342330
343 /* Get shared folders */331 /* Get shared folders */
344 list = syncdaemon_shares_interface_get_shared (shares);332 list = syncdaemon_daemon_get_shared_folders (the_daemon);
345 while (list != NULL) {333 while (list != NULL) {
346 SyncdaemonShareInfo *share_info = list->data;334 SyncdaemonShareInfo *share_info = list->data;
347335
@@ -352,7 +340,7 @@
352 }340 }
353341
354 /* Get shares */342 /* Get shares */
355 list = syncdaemon_shares_interface_get_shares (shares);343 list = syncdaemon_daemon_get_shares (the_daemon);
356 while (list != NULL) {344 while (list != NULL) {
357 SyncdaemonShareInfo *share_info = list->data;345 SyncdaemonShareInfo *share_info = list->data;
358346
@@ -367,13 +355,9 @@
367test_status (void)355test_status (void)
368{356{
369 GSList *list;357 GSList *list;
370 SyncdaemonStatusInterface *status;
371
372 status = (SyncdaemonStatusInterface *) syncdaemon_daemon_get_status_interface (the_daemon);
373 g_assert (SYNCDAEMON_IS_STATUS_INTERFACE (status));
374358
375 /* Test getting current downloads */359 /* Test getting current downloads */
376 list = syncdaemon_status_interface_get_current_downloads (status);360 list = syncdaemon_daemon_get_current_downloads (the_daemon);
377 while (list != NULL) {361 while (list != NULL) {
378 SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data;362 SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data;
379363
@@ -382,7 +366,7 @@
382 }366 }
383367
384 /* Test getting current uploads */368 /* Test getting current uploads */
385 list = syncdaemon_status_interface_get_current_uploads (status);369 list = syncdaemon_daemon_get_current_uploads (the_daemon);
386 while (list != NULL) {370 while (list != NULL) {
387 SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data;371 SyncdaemonTransferInfo *tinfo = (SyncdaemonTransferInfo *) list->data;
388372

Subscribers

People subscribed via source and target branches