10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 20529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Use of this source code is governed by a BSD-style license that can be 30529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// found in the LICENSE file. 40529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INFO_H_ 60529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INFO_H_ 70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include <string> 90529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "base/files/file_path.h" 110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 120529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace chromeos { 130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace file_system_provider { 140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Contains information about the provided file system instance. 160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass ProvidedFileSystemInfo { 170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch public: 180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch ProvidedFileSystemInfo(); 190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch ProvidedFileSystemInfo(const std::string& extension_id, 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const std::string& file_system_id, 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& display_name, 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const bool writable, 230529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch const base::FilePath& mount_path); 240529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 250529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch ~ProvidedFileSystemInfo(); 260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 270529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch const std::string& extension_id() const { return extension_id_; } 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const std::string& file_system_id() const { return file_system_id_; } 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& display_name() const { return display_name_; } 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch bool writable() const { return writable_; } 310529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch const base::FilePath& mount_path() const { return mount_path_; } 320529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 330529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch private: 340529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch // ID of the extension providing this file system. 350529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch std::string extension_id_; 360529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // ID of the file system. 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) std::string file_system_id_; 390529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 400529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch // Name of the file system, can be rendered in the UI. 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch std::string display_name_; 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Whether the file system is writable or just read-only. 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch bool writable_; 450529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 460529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch // Mount path of the underlying file system. 470529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch base::FilePath mount_path_; 480529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}; 490529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 500529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch} // namespace file_system_provider 510529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch} // namespace chromeos 520529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 530529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_PROVIDED_FILE_SYSTEM_INFO_H_ 54