provided_file_system.h revision effb81e5f8246d0db0270817048dc992db66e9fb
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_H_
6#define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_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 ProvidedFileSystem {
17 public:
18  ProvidedFileSystem();
19  ProvidedFileSystem(const std::string& extension_id,
20                     int file_system_id,
21                     const std::string& file_system_name,
22                     const base::FilePath& mount_path);
23
24  ~ProvidedFileSystem();
25
26  const std::string& extension_id() const { return extension_id_; }
27  int file_system_id() const { return file_system_id_; }
28  const std::string& file_system_name() const { return file_system_name_; }
29  const base::FilePath& mount_path() const { return mount_path_; }
30
31 private:
32  // ID of the extension providing this file system.
33  std::string extension_id_;
34
35  // ID of the file system, used internally.
36  int file_system_id_;
37
38  // Name of the file system, can be rendered in the UI.
39  std::string file_system_name_;
40
41  // Mount path of the underlying file system.
42  base::FilePath mount_path_;
43};
44
45}  // namespace file_system_provider
46}  // namespace chromeos
47
48#endif  // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_H_
49