// Copyright 2015 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. module filesystem; import "components/filesystem/public/interfaces/directory.mojom"; import "components/filesystem/public/interfaces/types.mojom"; // Callback interface for FileSystem. When we call OpenFileSystem, we supply a // client to receive and handle the shutdown signal. Just because the shell has // closed the application connection to the FileSystem doesn't mean that we // should immediately kill all connections to our clients. We notify them that // we are shutting down so that they can flush any data and cleanly shutdown. // // Actual connection lifetime is controlled by the lifetime of the |directory| // object. interface FileSystemClient { OnFileSystemShutdown(); }; interface FileSystem { // Opens the root directory for the file system with the given name; null // yields the default file system, if any. OpenFileSystem(string? file_system, Directory& directory, FileSystemClient client) => (FileError error); };