summaryrefslogtreecommitdiff
path: root/chromium/components/arc/volume_mounter/volume_mounter_struct_traits.h
blob: e235db29637afd8ad4746066e3a8605303e61e05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_ARC_VOLUME_MOUNTER_VOLUME_MOUNTER_STRUCT_TRAITS_H_
#define COMPONENTS_ARC_VOLUME_MOUNTER_VOLUME_MOUNTER_STRUCT_TRAITS_H_

#include "chromeos/disks/disk_mount_manager.h"
#include "components/arc/common/volume_mounter.mojom.h"

namespace mojo {

template <>
struct EnumTraits<arc::mojom::DeviceType, chromeos::DeviceType> {
  static arc::mojom::DeviceType ToMojom(chromeos::DeviceType device_type);
  static bool FromMojom(arc::mojom::DeviceType input,
                        chromeos::DeviceType* out);
};

template <>
struct EnumTraits<arc::mojom::MountEvent,
                  chromeos::disks::DiskMountManager::MountEvent> {
  static arc::mojom::MountEvent ToMojom(
      chromeos::disks::DiskMountManager::MountEvent mount_event);
  static bool FromMojom(arc::mojom::MountEvent input,
                        chromeos::disks::DiskMountManager::MountEvent* out);
};

}  // namespace mojo

#endif  // COMPONENTS_ARC_VOLUME_MOUNTER_VOLUME_MOUNTER_STRUCT_TRAITS_H_