• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_FILE_SYSTEM_OPERATION_OBSERVER_H_
6 #define CHROME_BROWSER_CHROMEOS_DRIVE_FILE_SYSTEM_OPERATION_OBSERVER_H_
7 
8 namespace base {
9 class FilePath;
10 }
11 
12 namespace drive {
13 namespace file_system {
14 
15 // Error type of sync client.
16 // Keep it synced with "DriveSyncErrorType" in file_manager_private.idl.
17 enum DriveSyncErrorType {
18   // Request to delete a file without permission.
19   DRIVE_SYNC_ERROR_DELETE_WITHOUT_PERMISSION,
20   // Google Drive is temporary unavailable.
21   DRIVE_SYNC_ERROR_SERVICE_UNAVAILABLE,
22   // Errors other than above ones. No fallback is provided for the error.
23   DRIVE_SYNC_ERROR_MISC,
24 };
25 
26 // Passes notifications from Drive operations back to the file system.
27 class OperationObserver {
28  public:
29   // Sent when a content of a directory has been changed.
30   // |directory_path| is a virtual directory path representing the
31   // changed directory.
32   virtual void OnDirectoryChangedByOperation(
33       const base::FilePath& directory_path) = 0;
34 
35   // Sent when an entry is updated and sync is needed.
OnEntryUpdatedByOperation(const std::string & local_id)36   virtual void OnEntryUpdatedByOperation(const std::string& local_id) {}
37 
38   // Sent when a specific drive sync error occurred.
39   // |local_id| is the local ID of the resource entry.
OnDriveSyncError(DriveSyncErrorType type,const std::string & local_id)40   virtual void OnDriveSyncError(DriveSyncErrorType type,
41                                 const std::string& local_id) {}
42 };
43 
44 }  // namespace file_system
45 }  // namespace drive
46 
47 #endif  // CHROME_BROWSER_CHROMEOS_DRIVE_FILE_SYSTEM_OPERATION_OBSERVER_H_
48