| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_LOCAL_FILE_SYNC_SERVICE_H_ | 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_LOCAL_FILE_SYNC_SERVICE_H_ |
| 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_LOCAL_FILE_SYNC_SERVICE_H_ | 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_LOCAL_FILE_SYNC_SERVICE_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 // This is called when there're one or more local changes available. | 45 // This is called when there're one or more local changes available. |
| 46 // |pending_changes_hint| indicates the pending queue length to help sync | 46 // |pending_changes_hint| indicates the pending queue length to help sync |
| 47 // scheduling but the value may not be accurately reflect the real-time | 47 // scheduling but the value may not be accurately reflect the real-time |
| 48 // value. | 48 // value. |
| 49 virtual void OnLocalChangeAvailable(int64 pending_changes_hint) = 0; | 49 virtual void OnLocalChangeAvailable(int64 pending_changes_hint) = 0; |
| 50 | 50 |
| 51 private: | 51 private: |
| 52 DISALLOW_COPY_AND_ASSIGN(Observer); | 52 DISALLOW_COPY_AND_ASSIGN(Observer); |
| 53 }; | 53 }; |
| 54 | 54 |
| 55 typedef base::Callback<void(bool has_pending_changes)> |
| 56 HasPendingLocalChangeCallback; |
| 57 |
| 55 LocalFileSyncService(); | 58 LocalFileSyncService(); |
| 56 virtual ~LocalFileSyncService(); | 59 virtual ~LocalFileSyncService(); |
| 57 | 60 |
| 58 void Shutdown(); | 61 void Shutdown(); |
| 59 | 62 |
| 60 void MaybeInitializeFileSystemContext( | 63 void MaybeInitializeFileSystemContext( |
| 61 const GURL& app_origin, | 64 const GURL& app_origin, |
| 62 const std::string& service_name, | 65 const std::string& service_name, |
| 63 fileapi::FileSystemContext* file_system_context, | 66 fileapi::FileSystemContext* file_system_context, |
| 64 const fileapi::SyncStatusCallback& callback); | 67 const fileapi::SyncStatusCallback& callback); |
| 65 | 68 |
| 66 void AddChangeObserver(Observer* observer); | 69 void AddChangeObserver(Observer* observer); |
| 67 | 70 |
| 68 // Registers |url| to wait until sync is enabled for |url|. | 71 // Registers |url| to wait until sync is enabled for |url|. |
| 69 // |on_syncable_callback| is to be called when |url| becomes syncable | 72 // |on_syncable_callback| is to be called when |url| becomes syncable |
| 70 // (i.e. when we have no pending writes and the file is successfully locked | 73 // (i.e. when we have no pending writes and the file is successfully locked |
| 71 // for sync). | 74 // for sync). |
| 72 // Calling this method again while this already has another URL waiting | 75 // Calling this method again while this already has another URL waiting |
| 73 // for sync will overwrite the previously registered URL. | 76 // for sync will overwrite the previously registered URL. |
| 74 void RegisterURLForWaitingSync(const fileapi::FileSystemURL& url, | 77 void RegisterURLForWaitingSync(const fileapi::FileSystemURL& url, |
| 75 const base::Closure& on_syncable_callback); | 78 const base::Closure& on_syncable_callback); |
| 76 | 79 |
| 77 // Synchronize one (or a set of) local change(s) to the remote server | 80 // Synchronize one (or a set of) local change(s) to the remote server |
| 78 // using |processor|. | 81 // using |processor|. |
| 79 // |processor| must have same or longer lifetime than this service. | 82 // |processor| must have same or longer lifetime than this service. |
| 80 void ProcessLocalChange(LocalChangeProcessor* processor, | 83 void ProcessLocalChange(LocalChangeProcessor* processor, |
| 81 const fileapi::SyncFileCallback& callback); | 84 const fileapi::SyncFileCallback& callback); |
| 82 | 85 |
| 86 // Returns true via |callback| if the given file |url| has local pending |
| 87 // changes. |
| 88 void HasPendingLocalChanges( |
| 89 const fileapi::FileSystemURL& url, |
| 90 const HasPendingLocalChangeCallback& callback); |
| 91 |
| 83 // Returns the metadata of a remote file pointed by |url|. | 92 // Returns the metadata of a remote file pointed by |url|. |
| 84 virtual void GetLocalFileMetadata( | 93 virtual void GetLocalFileMetadata( |
| 85 const fileapi::FileSystemURL& url, | 94 const fileapi::FileSystemURL& url, |
| 86 const fileapi::SyncFileMetadataCallback& callback); | 95 const fileapi::SyncFileMetadataCallback& callback); |
| 87 | 96 |
| 88 // RemoteChangeProcessor overrides. | 97 // RemoteChangeProcessor overrides. |
| 89 virtual void PrepareForProcessRemoteChange( | 98 virtual void PrepareForProcessRemoteChange( |
| 90 const fileapi::FileSystemURL& url, | 99 const fileapi::FileSystemURL& url, |
| 91 const PrepareChangeCallback& callback) OVERRIDE; | 100 const PrepareChangeCallback& callback) OVERRIDE; |
| 92 virtual void ApplyRemoteChange( | 101 virtual void ApplyRemoteChange( |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 fileapi::SyncFileCallback local_sync_callback_; | 168 fileapi::SyncFileCallback local_sync_callback_; |
| 160 | 169 |
| 161 ObserverList<Observer> change_observers_; | 170 ObserverList<Observer> change_observers_; |
| 162 | 171 |
| 163 DISALLOW_COPY_AND_ASSIGN(LocalFileSyncService); | 172 DISALLOW_COPY_AND_ASSIGN(LocalFileSyncService); |
| 164 }; | 173 }; |
| 165 | 174 |
| 166 } // namespace sync_file_system | 175 } // namespace sync_file_system |
| 167 | 176 |
| 168 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_LOCAL_FILE_SYNC_SERVICE_H_ | 177 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_LOCAL_FILE_SYNC_SERVICE_H_ |
| OLD | NEW |