blob: 5078486f13c8f4896e798ab3a04215d2e62f551c [file] [log] [blame]
Ryan Cairnsea6505f2011-04-10 19:54:53 -07001// Copyright (c) 2011 The Chromium OS 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
Ben Chanbdc39742011-05-11 17:51:26 -07005#include "cros-disks/disk.h"
Ryan Cairnsea6505f2011-04-10 19:54:53 -07006
Ben Chan29be9152011-07-25 14:39:48 -07007#include <algorithm>
8
Anand K Mistry40cff452019-07-30 10:24:48 +10009namespace cros_disks {
Ben Chan460439f2011-09-13 09:16:28 -070010namespace {
Ryan Cairnsea6505f2011-04-10 19:54:53 -070011
Ben Chanec4eaab2012-02-05 23:26:58 -080012const char kUSBDriveName[] = "USB Drive";
13const char kSDCardName[] = "SD Card";
14const char kOpticalDiscName[] = "Optical Disc";
15const char kMobileDeviceName[] = "Mobile Device";
Ben Chan7d8f9f72012-05-02 10:02:20 -070016const char kDVDName[] = "DVD";
Ben Chanec4eaab2012-02-05 23:26:58 -080017const char kFallbackPresentationName[] = "External Drive";
Ben Chan29be9152011-07-25 14:39:48 -070018
Ben Chan460439f2011-09-13 09:16:28 -070019} // namespace
20
Ben Chan213c6d92019-04-10 16:21:52 -070021std::string Disk::GetPresentationName() const {
Ben Chanff92fa32017-10-17 16:17:15 -070022 if (!label.empty()) {
Ben Chan213c6d92019-04-10 16:21:52 -070023 std::string name = label;
Ben Chanec4eaab2012-02-05 23:26:58 -080024 std::replace(name.begin(), name.end(), '/', '_');
25 return name;
26 }
Ben Chan29be9152011-07-25 14:39:48 -070027
Ben Chanff92fa32017-10-17 16:17:15 -070028 switch (media_type) {
Ben Chanec4eaab2012-02-05 23:26:58 -080029 case DEVICE_MEDIA_USB:
30 return kUSBDriveName;
31 case DEVICE_MEDIA_SD:
32 return kSDCardName;
33 case DEVICE_MEDIA_OPTICAL_DISC:
34 return kOpticalDiscName;
35 case DEVICE_MEDIA_MOBILE:
36 return kMobileDeviceName;
Ben Chan7d8f9f72012-05-02 10:02:20 -070037 case DEVICE_MEDIA_DVD:
38 return kDVDName;
Ben Chanec4eaab2012-02-05 23:26:58 -080039 default:
40 return kFallbackPresentationName;
41 }
Ben Chan29be9152011-07-25 14:39:48 -070042}
43
Ben Chanbdc39742011-05-11 17:51:26 -070044} // namespace cros_disks