(Mostly) merge local and cloud logging together.
[bluesky.git] / bluesky / cloudlog.c
index e1fd44a..82f0f65 100644 (file)
@@ -86,6 +86,8 @@ BlueSkyCloudLog *bluesky_cloudlog_new(BlueSkyFS *fs)
 {
     BlueSkyCloudLog *log = g_new0(BlueSkyCloudLog, 1);
 
+    log->lock = g_mutex_new();
+    log->cond = g_cond_new();
     log->fs = fs;
     log->type = LOGTYPE_UNKNOWN;
     log->id = bluesky_cloudlog_new_id();
@@ -108,14 +110,9 @@ void bluesky_cloudlog_unref(BlueSkyCloudLog *log)
 }
 
 /* Start a write of the object to the local log. */
-BlueSkyLogItem *bluesky_cloudlog_sync(BlueSkyCloudLog *log)
+void bluesky_cloudlog_sync(BlueSkyCloudLog *log)
 {
-    BlueSkyLogItem *log_item = bluesky_log_item_new();
-    log_item->key = bluesky_cloudlog_id_to_string(log->id);
-    log_item->data = log->data;
-    bluesky_string_ref(log->data);
-    bluesky_log_item_submit(log_item, log->fs->log);
-    return log_item;
+    bluesky_log_item_submit(log, log->fs->log);
 }
 
 /* Add the given entry to the global hash table containing cloud log entries.