// Copyright 2016 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 file.mojom;

import "components/filesystem/public/interfaces/directory.mojom";
import "components/filesystem/public/interfaces/types.mojom";

// Provide access to various directories within the requesting user's directory.
interface FileSystem {
  // Returns the user's directory.
  GetDirectory(filesystem.mojom.Directory& dir) => ();

  // Returns a subdirectory under the user's dir. Returns a filesystem error
  // when we fail to create the subdirectory.
  GetSubDirectory(string dir_path, filesystem.mojom.Directory& dir)
      => (filesystem.mojom.FileError err);
};
