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.
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_
10 #include "base/files/file_path.h"
13 namespace file_system_provider {
15 // Options for creating the provided file system info.
19 // Only mandatory fields.
20 MountOptions(const std::string& file_system_id,
21 const std::string& display_name);
23 std::string file_system_id;
24 std::string display_name;
26 bool supports_notify_tag;
29 // Contains information about the provided file system instance.
30 class ProvidedFileSystemInfo {
32 ProvidedFileSystemInfo();
34 ProvidedFileSystemInfo(const std::string& extension_id,
35 const MountOptions& mount_options,
36 const base::FilePath& mount_path);
38 ~ProvidedFileSystemInfo();
40 const std::string& extension_id() const { return extension_id_; }
41 const std::string& file_system_id() const { return file_system_id_; }
42 const std::string& display_name() const { return display_name_; }
43 bool writable() const { return writable_; }
44 bool supports_notify_tag() const { return supports_notify_tag_; }
45 const base::FilePath& mount_path() const { return mount_path_; }
48 // ID of the extension providing this file system.
49 std::string extension_id_;
51 // ID of the file system.
52 std::string file_system_id_;
54 // Name of the file system, can be rendered in the UI.
55 std::string display_name_;
57 // Whether the file system is writable or just read-only.
60 // Supports tags for file/directory change notifications.
61 bool supports_notify_tag_;
63 // Mount path of the underlying file system.
64 base::FilePath mount_path_;
67 } // namespace file_system_provider
68 } // namespace chromeos
70 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INFO_H_