1// Copyright 2014 The Chromium 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
5#ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INFO_H_
6#define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INFO_H_
7
8#include <string>
9
10#include "base/files/file_path.h"
11
12namespace chromeos {
13namespace file_system_provider {
14
15// Contains information about the provided file system instance.
16class ProvidedFileSystemInfo {
17 public:
18  ProvidedFileSystemInfo();
19  ProvidedFileSystemInfo(const std::string& extension_id,
20                         const std::string& file_system_id,
21                         const std::string& display_name,
22                         const bool writable,
23                         const base::FilePath& mount_path);
24
25  ~ProvidedFileSystemInfo();
26
27  const std::string& extension_id() const { return extension_id_; }
28  const std::string& file_system_id() const { return file_system_id_; }
29  const std::string& display_name() const { return display_name_; }
30  bool writable() const { return writable_; }
31  const base::FilePath& mount_path() const { return mount_path_; }
32
33 private:
34  // ID of the extension providing this file system.
35  std::string extension_id_;
36
37  // ID of the file system.
38  std::string file_system_id_;
39
40  // Name of the file system, can be rendered in the UI.
41  std::string display_name_;
42
43  // Whether the file system is writable or just read-only.
44  bool writable_;
45
46  // Mount path of the underlying file system.
47  base::FilePath mount_path_;
48};
49
50}  // namespace file_system_provider
51}  // namespace chromeos
52
53#endif  // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INFO_H_
54