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

Unified Diff: chrome/browser/chromeos/cros/mount_library.h

Issue 7457001: Adding support for mount point different from removable devices to MountLibrary (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/cros/mock_mount_library.cc ('k') | chrome/browser/chromeos/cros/mount_library.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/cros/mount_library.h
===================================================================
--- chrome/browser/chromeos/cros/mount_library.h (revision 93731)
+++ chrome/browser/chromeos/cros/mount_library.h (working copy)
@@ -6,8 +6,8 @@
#define CHROME_BROWSER_CHROMEOS_CROS_MOUNT_LIBRARY_H_
#pragma once
+#include <map>
#include <string>
-#include <map>
#include "base/memory/singleton.h"
#include "base/observer_list.h"
@@ -32,6 +32,10 @@
// library class like this: chromeos::CrosLibrary::Get()->GetMountLibrary()
class MountLibrary {
public:
+ enum MountEvent {
+ MOUNTING,
+ UNMOUNTING
+ };
// Used to house an instance of each found mount device.
class Disk {
public:
@@ -97,6 +101,22 @@
};
typedef std::map<std::string, Disk*> DiskMap;
+ // MountPointInfo: {mount_path, mount_type}.
+ struct MountPointInfo {
+ std::string source_path;
+ std::string mount_path;
+ MountType mount_type;
+
+ MountPointInfo(const char* source, const char* mount, const MountType type)
+ : source_path(source ? source : ""),
+ mount_path(mount ? mount : ""),
+ mount_type(type) {
+ }
+ };
+
+ // MountPointMap key is source_path.
+ typedef std::map<std::string, MountPointInfo> MountPointMap;
+
typedef void(*UnmountDeviceRecursiveCallbackType)(void*, bool);
class Observer {
@@ -107,16 +127,26 @@
const Disk* disk) = 0;
virtual void DeviceChanged(MountLibraryEventType event,
const std::string& device_path ) = 0;
+ virtual void MountCompleted(MountEvent event_type,
+ MountError error_code,
+ const MountPointInfo& mount_info) = 0;
};
virtual ~MountLibrary() {}
virtual void AddObserver(Observer* observer) = 0;
virtual void RemoveObserver(Observer* observer) = 0;
virtual const DiskMap& disks() const = 0;
+ virtual const MountPointMap& mount_points() const = 0;
+ virtual std::string MountTypeToString(MountType type) const = 0;
+ virtual MountType MountTypeFromString(const std::string& type_str) const = 0;
+
virtual void RequestMountInfoRefresh() = 0;
- virtual void MountPath(const char* device_path) = 0;
- virtual void UnmountPath(const char* device_path) = 0;
+ virtual void MountPath(const char* source_path,
+ MountType type,
+ const MountPathOptions& options) = 0;
+ // |path| may be source od mount path.
+ virtual void UnmountPath(const char* path) = 0;
// Unmounts device_poath and all of its known children.
virtual void UnmountDeviceRecursive(const char* device_path,
« no previous file with comments | « chrome/browser/chromeos/cros/mock_mount_library.cc ('k') | chrome/browser/chromeos/cros/mount_library.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698