Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(463)

Side by Side Diff: chrome/browser/chromeos/extensions/file_browser_event_router.h

Issue 10834115: Drive: Mount/Unmount GoogleDrive on Files App when the file system is mounted/unmounted. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebase Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_CHROMEOS_EXTENSIONS_FILE_BROWSER_EVENT_ROUTER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_BROWSER_EVENT_ROUTER_H_
6 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_BROWSER_EVENT_ROUTER_H_ 6 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_BROWSER_EVENT_ROUTER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 // CrosDisksClient events are being observed. 45 // CrosDisksClient events are being observed.
46 void ObserveFileSystemEvents(); 46 void ObserveFileSystemEvents();
47 47
48 // File watch setup routines. 48 // File watch setup routines.
49 bool AddFileWatch(const FilePath& file_path, 49 bool AddFileWatch(const FilePath& file_path,
50 const FilePath& virtual_path, 50 const FilePath& virtual_path,
51 const std::string& extension_id); 51 const std::string& extension_id);
52 void RemoveFileWatch(const FilePath& file_path, 52 void RemoveFileWatch(const FilePath& file_path,
53 const std::string& extension_id); 53 const std::string& extension_id);
54 54
55 // Mounts Drive on File browser. |callback| will be called after raising a
56 // mount request event to file manager on JS-side.
57 void MountDrive(const base::Closure& callback);
58
55 // CrosDisksClient::Observer overrides. 59 // CrosDisksClient::Observer overrides.
56 virtual void DiskChanged(chromeos::disks::DiskMountManagerEventType event, 60 virtual void DiskChanged(chromeos::disks::DiskMountManagerEventType event,
57 const chromeos::disks::DiskMountManager::Disk* disk) 61 const chromeos::disks::DiskMountManager::Disk* disk)
58 OVERRIDE; 62 OVERRIDE;
59 virtual void DeviceChanged(chromeos::disks::DiskMountManagerEventType event, 63 virtual void DeviceChanged(chromeos::disks::DiskMountManagerEventType event,
60 const std::string& device_path) OVERRIDE; 64 const std::string& device_path) OVERRIDE;
61 virtual void MountCompleted( 65 virtual void MountCompleted(
62 chromeos::disks::DiskMountManager::MountEvent event_type, 66 chromeos::disks::DiskMountManager::MountEvent event_type,
63 chromeos::MountError error_code, 67 chromeos::MountError error_code,
64 const chromeos::disks::DiskMountManager::MountPointInfo& mount_info) 68 const chromeos::disks::DiskMountManager::MountPointInfo& mount_info)
(...skipping 10 matching lines...) Expand all
75 79
76 // GDataOperationRegistry::Observer overrides. 80 // GDataOperationRegistry::Observer overrides.
77 virtual void OnProgressUpdate( 81 virtual void OnProgressUpdate(
78 const std::vector<gdata::GDataOperationRegistry::ProgressStatus>& list) 82 const std::vector<gdata::GDataOperationRegistry::ProgressStatus>& list)
79 OVERRIDE; 83 OVERRIDE;
80 virtual void OnAuthenticationFailed() OVERRIDE; 84 virtual void OnAuthenticationFailed() OVERRIDE;
81 85
82 // gdata::GDataFileSystemInterface::Observer overrides. 86 // gdata::GDataFileSystemInterface::Observer overrides.
83 virtual void OnDirectoryChanged(const FilePath& directory_path) OVERRIDE; 87 virtual void OnDirectoryChanged(const FilePath& directory_path) OVERRIDE;
84 virtual void OnDocumentFeedFetched(int num_accumulated_entries) OVERRIDE; 88 virtual void OnDocumentFeedFetched(int num_accumulated_entries) OVERRIDE;
89 virtual void OnFileSystemMounted() OVERRIDE;
90 virtual void OnFileSystemUnmounting() OVERRIDE;
85 91
86 private: 92 private:
87 friend class FileBrowserEventRouterFactory; 93 friend class FileBrowserEventRouterFactory;
88 94
89 // Helper class for passing through file watch notification events. 95 // Helper class for passing through file watch notification events.
90 class FileWatcherDelegate : public base::files::FilePathWatcher::Delegate { 96 class FileWatcherDelegate : public base::files::FilePathWatcher::Delegate {
91 public: 97 public:
92 explicit FileWatcherDelegate(FileBrowserEventRouter* router); 98 explicit FileWatcherDelegate(FileBrowserEventRouter* router);
93 99
94 protected: 100 protected:
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 // Returns the GDataFileSystem for the current profile. 185 // Returns the GDataFileSystem for the current profile.
180 gdata::GDataFileSystemInterface* GetRemoteFileSystem() const; 186 gdata::GDataFileSystemInterface* GetRemoteFileSystem() const;
181 187
182 // Handles requests to start and stop periodic updates on remote file system. 188 // Handles requests to start and stop periodic updates on remote file system.
183 // When |start| is set to true, this function starts periodic updates only if 189 // When |start| is set to true, this function starts periodic updates only if
184 // it is not yet started; when |start| is set to false, this function stops 190 // it is not yet started; when |start| is set to false, this function stops
185 // periodic updates only if the number of outstanding update requests reaches 191 // periodic updates only if the number of outstanding update requests reaches
186 // zero. 192 // zero.
187 void HandleRemoteUpdateRequestOnUIThread(bool start); 193 void HandleRemoteUpdateRequestOnUIThread(bool start);
188 194
195 // Used to implement MountDrive(). Called after the authentication.
196 void OnAuthenticated(const base::Closure& callback,
197 gdata::GDataErrorCode error,
198 const std::string& tokeni);
199
189 scoped_refptr<FileWatcherDelegate> delegate_; 200 scoped_refptr<FileWatcherDelegate> delegate_;
190 WatcherMap file_watchers_; 201 WatcherMap file_watchers_;
191 scoped_ptr<FileBrowserNotifications> notifications_; 202 scoped_ptr<FileBrowserNotifications> notifications_;
192 scoped_ptr<PrefChangeRegistrar> pref_change_registrar_; 203 scoped_ptr<PrefChangeRegistrar> pref_change_registrar_;
193 Profile* profile_; 204 Profile* profile_;
194 base::Lock lock_; 205 base::Lock lock_;
195 206
196 bool current_gdata_operation_failed_; 207 bool current_gdata_operation_failed_;
197 int last_active_gdata_operation_count_; 208 int last_active_gdata_operation_count_;
198 209
(...skipping 24 matching lines...) Expand all
223 234
224 FileBrowserEventRouterFactory(); 235 FileBrowserEventRouterFactory();
225 virtual ~FileBrowserEventRouterFactory(); 236 virtual ~FileBrowserEventRouterFactory();
226 237
227 // ProfileKeyedServiceFactory: 238 // ProfileKeyedServiceFactory:
228 virtual scoped_refptr<RefcountedProfileKeyedService> BuildServiceInstanceFor( 239 virtual scoped_refptr<RefcountedProfileKeyedService> BuildServiceInstanceFor(
229 Profile* profile) const OVERRIDE; 240 Profile* profile) const OVERRIDE;
230 }; 241 };
231 242
232 #endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_BROWSER_EVENT_ROUTER_H_ 243 #endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_BROWSER_EVENT_ROUTER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698