Index: chrome/browser/sync_file_system/local_file_sync_service.h |
diff --git a/chrome/browser/sync_file_system/local_file_sync_service.h b/chrome/browser/sync_file_system/local_file_sync_service.h |
index 7a559587ff250a6ee284157e38a8957a967d5c35..044a0048701844ebf10680a2d4d513eb793fe6d3 100644 |
--- a/chrome/browser/sync_file_system/local_file_sync_service.h |
+++ b/chrome/browser/sync_file_system/local_file_sync_service.h |
@@ -8,6 +8,7 @@ |
#include "base/basictypes.h" |
#include "base/callback_forward.h" |
#include "base/memory/ref_counted.h" |
+#include "chrome/browser/sync_file_system/remote_change_processor.h" |
#include "webkit/fileapi/syncable/sync_status_code.h" |
class GURL; |
@@ -19,14 +20,20 @@ class LocalFileSyncContext; |
namespace sync_file_system { |
+class LocalChangeProcessor; |
+ |
// Maintains local file change tracker and sync status. |
// Owned by SyncFileSystemService (which is a per-profile object). |
-class LocalFileSyncService { |
+class LocalFileSyncService : public RemoteChangeProcessor { |
public: |
typedef base::Callback<void(fileapi::SyncStatusCode)> StatusCallback; |
+ typedef base::Callback< |
+ void(fileapi::SyncStatusCode status, fileapi::FileSystemURL& url)> |
+ SyncCompletionCallback; |
+ |
LocalFileSyncService(); |
- ~LocalFileSyncService(); |
+ virtual ~LocalFileSyncService(); |
void Shutdown(); |
@@ -35,6 +42,21 @@ class LocalFileSyncService { |
fileapi::FileSystemContext* file_system_context, |
const StatusCallback& callback); |
+ // Synchronize one local change (to the remote server) using |processor|. |
+ // |processor| must have same or longer lifetime than this service. |
+ void ProcessChange(LocalChangeProcessor* processor, |
+ const SyncCompletionCallback& callback); |
+ |
+ // RemoteChangeProcessor overrides. |
+ virtual void PrepareForProcessRemoteChange( |
+ const fileapi::FileSystemURL& url, |
+ const PrepareChangeCallback& callback) OVERRIDE; |
+ virtual void ApplyRemoteChange( |
+ const fileapi::FileChange& change, |
+ const FilePath& local_path, |
+ const fileapi::FileSystemURL& url, |
+ const StatusCallback& callback) OVERRIDE; |
+ |
private: |
scoped_refptr<fileapi::LocalFileSyncContext> sync_context_; |