| Index: chrome/browser/sync_file_system/drive_file_sync_service.h
|
| diff --git a/chrome/browser/sync_file_system/drive_file_sync_service.h b/chrome/browser/sync_file_system/drive_file_sync_service.h
|
| index 9446130382c69e132665629b4ccf9b79f98cde17..0c09d3b4a418f35951a25e53a542effe7c66f91f 100644
|
| --- a/chrome/browser/sync_file_system/drive_file_sync_service.h
|
| +++ b/chrome/browser/sync_file_system/drive_file_sync_service.h
|
| @@ -23,6 +23,7 @@
|
| #include "chrome/browser/sync_file_system/local_sync_operation_resolver.h"
|
| #include "chrome/browser/sync_file_system/remote_change_handler.h"
|
| #include "chrome/browser/sync_file_system/remote_file_sync_service.h"
|
| +#include "chrome/browser/sync_file_system/sync_file_system.pb.h"
|
| #include "webkit/fileapi/syncable/file_change.h"
|
| #include "webkit/fileapi/syncable/sync_action.h"
|
| #include "webkit/fileapi/syncable/sync_callbacks.h"
|
| @@ -41,6 +42,10 @@ class Location;
|
|
|
| namespace sync_file_system {
|
|
|
| +namespace drive {
|
| +class ApplyLocalChangeDelegate;
|
| +}
|
| +
|
| class DriveFileSyncTaskManager;
|
|
|
| // Maintains remote file changes.
|
| @@ -52,6 +57,12 @@ class DriveFileSyncService : public RemoteFileSyncService,
|
| public base::SupportsWeakPtr<DriveFileSyncService>,
|
| public google_apis::DriveNotificationObserver {
|
| public:
|
| + enum ConflictResolutionResult {
|
| + CONFLICT_RESOLUTION_MARK_CONFLICT,
|
| + CONFLICT_RESOLUTION_LOCAL_WIN,
|
| + CONFLICT_RESOLUTION_REMOTE_WIN,
|
| + };
|
| +
|
| typedef base::Callback<void(const SyncStatusCallback& callback)> Task;
|
|
|
| static const char kServiceName[];
|
| @@ -127,8 +138,15 @@ class DriveFileSyncService : public RemoteFileSyncService,
|
| SyncStatusCode sync_status,
|
| google_apis::GDataErrorCode gdata_error);
|
|
|
| + static std::string PathToTitle(const base::FilePath& path);
|
| + static base::FilePath TitleToPath(const std::string& title);
|
| + static DriveMetadata::ResourceType SyncFileTypeToDriveMetadataResourceType(
|
| + SyncFileType file_type);
|
| +
|
| private:
|
| friend class DriveFileSyncTaskManager;
|
| + friend class drive::ApplyLocalChangeDelegate;
|
| +
|
| friend class DriveFileSyncServiceMockTest;
|
| friend class DriveFileSyncServiceSyncTest;
|
| struct ApplyLocalChangeParam;
|
| @@ -193,57 +211,11 @@ class DriveFileSyncService : public RemoteFileSyncService,
|
| // Resolves LocalSync operation type. If non-null |param| is given
|
| // the method also populates param->has_drive_metadata and
|
| // param->drive_metadata fields.
|
| - void ApplyLocalChangeInternal(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - SyncStatusCode status,
|
| - const std::string& resource_id);
|
| - void DidDeleteForResolveToLocalForLocalSync(
|
| - const std::string& origin_resource_id,
|
| - const base::FilePath& local_file_path,
|
| - const fileapi::FileSystemURL& url,
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - google_apis::GDataErrorCode error);
|
| - void DidApplyLocalChange(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - const google_apis::GDataErrorCode error,
|
| - SyncStatusCode status);
|
| - void DidResolveConflictToRemoteChange(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - SyncStatusCode status);
|
| - void DidUploadNewFileForLocalSync(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - google_apis::GDataErrorCode error,
|
| - const std::string& resource_id,
|
| - const std::string& file_md5);
|
| - void DidCreateDirectoryForLocalSync(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - google_apis::GDataErrorCode error,
|
| - const std::string& resource_id);
|
| - void DidUploadExistingFileForLocalSync(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - google_apis::GDataErrorCode error,
|
| - const std::string& resource_id,
|
| - const std::string& file_md5);
|
| - void DidDeleteFileForLocalSync(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - google_apis::GDataErrorCode error);
|
| - void HandleConflictForLocalSync(
|
| - scoped_ptr<ApplyLocalChangeParam> param);
|
| - void ResolveConflictForLocalSync(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - const base::Time& remote_updated_time,
|
| + ConflictResolutionResult ResolveConflictForLocalSync(
|
| + SyncFileType local_file_type,
|
| + const base::Time& local_update_time,
|
| SyncFileType remote_file_type,
|
| - SyncStatusCode status);
|
| - void StartOverLocalSync(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - SyncStatusCode status);
|
| - void ResolveConflictToRemoteForLocalSync(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - SyncFileType remote_file_type);
|
| - void DidEnsureOriginRootForUploadNewFile(
|
| - scoped_ptr<ApplyLocalChangeParam> param,
|
| - SyncStatusCode status,
|
| - const std::string& parent_resource_id);
|
| + const base::Time& remote_update_time);
|
|
|
| void UpdateRegisteredOrigins();
|
|
|
|
|