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

Side by Side Diff: chrome/browser/storage_monitor/storage_info.h

Issue 19489006: Media Galleries: Move gallery name generation back to StorageMonitor. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: rebase Created 7 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 | Annotate | Revision Log
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_STORAGE_MONITOR_STORAGE_INFO_H_ 5 #ifndef CHROME_BROWSER_STORAGE_MONITOR_STORAGE_INFO_H_
6 #define CHROME_BROWSER_STORAGE_MONITOR_STORAGE_INFO_H_ 6 #define CHROME_BROWSER_STORAGE_MONITOR_STORAGE_INFO_H_
7 7
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/strings/string16.h" 9 #include "base/strings/string16.h"
10 10
11 namespace chrome { 11 namespace chrome {
12 12
13 struct StorageInfo { 13 class StorageInfo {
14 public: 14 public:
15 enum Type { 15 enum Type {
16 // A removable mass storage device with a DCIM directory. 16 // A removable mass storage device with a DCIM directory.
17 REMOVABLE_MASS_STORAGE_WITH_DCIM, 17 REMOVABLE_MASS_STORAGE_WITH_DCIM,
18 // A removable mass storage device without a DCIM directory. 18 // A removable mass storage device without a DCIM directory.
19 REMOVABLE_MASS_STORAGE_NO_DCIM, 19 REMOVABLE_MASS_STORAGE_NO_DCIM,
20 // A fixed mass storage device. 20 // A fixed mass storage device.
21 FIXED_MASS_STORAGE, 21 FIXED_MASS_STORAGE,
22 // A MTP or PTP device. 22 // A MTP or PTP device.
23 MTP_OR_PTP, 23 MTP_OR_PTP,
24 // A Mac ImageCapture device. 24 // A Mac ImageCapture device.
25 MAC_IMAGE_CAPTURE, 25 MAC_IMAGE_CAPTURE,
26 // An iTunes library. 26 // An iTunes library.
27 ITUNES, 27 ITUNES,
28 // A Picasa database. 28 // A Picasa database.
29 PICASA, 29 PICASA,
30 }; 30 };
31 31
32 StorageInfo(); 32 StorageInfo();
33 // Note: |device_id_in| should be constructed with MakeDeviceId. 33 // Note: |device_id_in| should be constructed with MakeDeviceId.
34 StorageInfo(const std::string& device_id_in, 34 StorageInfo(const std::string& device_id_in,
35 const string16& device_name,
36 const base::FilePath::StringType& device_location, 35 const base::FilePath::StringType& device_location,
37 const string16& label, 36 const string16& label,
38 const string16& vendor, 37 const string16& vendor,
39 const string16& model, 38 const string16& model,
40 uint64 size_in_bytes); 39 uint64 size_in_bytes);
41 ~StorageInfo(); 40 ~StorageInfo();
42 41
43 // Returns a device id given properties of the device. A prefix dependent on 42 // Returns a device id given properties of the device. A prefix dependent on
44 // |type| is added so |unique_id| need only be unique within the given type. 43 // |type| is added so |unique_id| need only be unique within the given type.
45 // Returns an empty string if an invalid type is passed in. 44 // Returns an empty string if an invalid type is passed in.
(...skipping 13 matching lines...) Expand all
59 static bool IsRemovableDevice(const std::string& device_id); 58 static bool IsRemovableDevice(const std::string& device_id);
60 59
61 // Looks inside |device_id| to determine if it is a mass storage device 60 // Looks inside |device_id| to determine if it is a mass storage device
62 // (type isn't MTP_OR_PTP). 61 // (type isn't MTP_OR_PTP).
63 static bool IsMassStorageDevice(const std::string& device_id); 62 static bool IsMassStorageDevice(const std::string& device_id);
64 63
65 static bool IsITunesDevice(const std::string& device_id); 64 static bool IsITunesDevice(const std::string& device_id);
66 65
67 static bool IsPicasaDevice(const std::string& device_id); 66 static bool IsPicasaDevice(const std::string& device_id);
68 67
68 // Get the display name for the removable device represented by this
69 // StorageInfo. Include the size for removable devices if |with_size| is true.
70 base::string16 GetDisplayName(bool with_size) const;
71
72 // Same as GetDisplayName(), but may be overridden by |override_display_name|.
73 base::string16 GetDisplayNameWithOverride(
74 const base::string16& override_display_name, bool with_size) const;
75
69 const std::string& device_id() const { return device_id_; } 76 const std::string& device_id() const { return device_id_; }
70 const string16& name() const { return name_; }
71 const base::FilePath::StringType& location() const { return location_; } 77 const base::FilePath::StringType& location() const { return location_; }
72 const string16& storage_label() const { return storage_label_; } 78 const string16& storage_label() const { return storage_label_; }
73 const string16& vendor_name() const { return vendor_name_; } 79 const string16& vendor_name() const { return vendor_name_; }
74 const string16& model_name() const { return model_name_; } 80 const string16& model_name() const { return model_name_; }
75 uint64 total_size_in_bytes() const { return total_size_in_bytes_; } 81 uint64 total_size_in_bytes() const { return total_size_in_bytes_; }
76 82
77 void set_device_id(const std::string& device_id) { device_id_ = device_id; } 83 void set_device_id(const std::string& device_id) { device_id_ = device_id; }
78 void set_name(const string16& name) { name_ = name; }
79 void set_location(const base::FilePath::StringType& location) { 84 void set_location(const base::FilePath::StringType& location) {
80 location_ = location; 85 location_ = location;
81 } 86 }
82 87
83 private: 88 private:
84 // Unique device id - persists between device attachments. 89 // Unique device id - persists between device attachments.
85 // This is the string that should be used as the label for a particular 90 // This is the string that should be used as the label for a particular
86 // storage device when interacting with the API. Clients should treat 91 // storage device when interacting with the API. Clients should treat
87 // this as an opaque string. 92 // this as an opaque string.
88 std::string device_id_; 93 std::string device_id_;
89 94
90 // Human readable removable storage device name.
91 string16 name_;
92
93 // Current attached removable storage device location. 95 // Current attached removable storage device location.
94 base::FilePath::StringType location_; 96 base::FilePath::StringType location_;
95 97
96 // Label given to this storage device by the user. 98 // Label given to this storage device by the user.
97 // May be empty if not found or the device is unlabeled. 99 // May be empty if not found or the device is unlabeled.
98 string16 storage_label_; 100 string16 storage_label_;
99 101
100 // Vendor name for the removable device. (Human readable) 102 // Vendor name for the removable device. (Human readable)
101 // May be empty if not collected. 103 // May be empty if not collected.
102 string16 vendor_name_; 104 string16 vendor_name_;
103 105
104 // Model name for the removable device. (Human readable) 106 // Model name for the removable device. (Human readable)
105 // May be empty if not collected. 107 // May be empty if not collected.
106 string16 model_name_; 108 string16 model_name_;
107 109
108 // Size of the removable device in bytes. 110 // Size of the removable device in bytes.
109 // Zero if not collected or unknown. 111 // Zero if not collected or unknown.
110 uint64 total_size_in_bytes_; 112 uint64 total_size_in_bytes_;
111 }; 113 };
112 114
113 } // namespace chrome 115 } // namespace chrome
114 116
115 #endif // CHROME_BROWSER_STORAGE_MONITOR_STORAGE_INFO_H_ 117 #endif // CHROME_BROWSER_STORAGE_MONITOR_STORAGE_INFO_H_
OLDNEW
« no previous file with comments | « chrome/browser/storage_monitor/portable_device_watcher_win.cc ('k') | chrome/browser/storage_monitor/storage_info.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698