Update the IDL

Final update of the IDL so that we can switch to using
generated code for ppapi/c/ and ppapi/c/trusted.


BUG= http://code.google.com/p/chromium/issues/detail?id=74634
TEST= tryserver
TBR= [email protected]
Review URL: http://codereview.chromium.org/7390023

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92805 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ppapi/api/ppb_file_system.idl b/ppapi/api/ppb_file_system.idl
new file mode 100644
index 0000000..7a5abe7
--- /dev/null
+++ b/ppapi/api/ppb_file_system.idl
@@ -0,0 +1,77 @@
+/* Copyright (c) 2011 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.
+ */
+
+/**
+ * This file defines the API to create a file system associated with a file.
+ */
+
+label Chrome {
+  M13 = 0.7,
+  M14 = 1.0
+};
+
+/**
+ * The <code>PPB_FileSystem</code> struct identifies the file system type
+ * associated with a file.
+ */
+[version=0.7]
+interface PPB_FileSystem {
+  /** Create() creates a file system object of the given type.
+   *
+   * @param[in] instance A <code>PP_Instance</code> indentifying the instance
+   * with the file.
+   * @param[in] type A file system type as defined by
+   * <code>PP_FileSystemType</code> enum.
+   *
+   * @return A <code>PP_Resource</code> corresponding to a file system if
+   * successful.
+   */
+  PP_Resource Create([in] PP_Instance instance, [in] PP_FileSystemType type);
+
+  /**
+   * IsFileSystem() determines if the provided resource is a file system.
+   *
+   * @param[in] resource A <code>PP_Resource</code> corresponding to a file
+   * system.
+   *
+   * @return <code>PP_TRUE</code> if the resource is a
+   * <code>PPB_FileSystem</code>, <code>PP_FALSE</code> if the resource is
+   * invalid or some type other than <code>PPB_FileSystem</code>.
+   */
+  PP_Bool IsFileSystem([in] PP_Resource resource);
+
+  /**
+   * Open() opens the file system. A file system must be opened before running
+   * any other operation on it.
+   *
+   * @param[in] file_system A <code>PP_Resource</code> corresponding to a file
+   * system.
+   * @param[in] expected_size The expected size of the file system.
+   * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
+   * completion of Open().
+   *
+   * @return An int32_t containing an error code from <code>pp_errors.h</code>.
+   *
+   * TODO(brettw) clarify whether this must have completed before a file can
+   * be opened in it. Clarify what it means to be "completed."
+   */
+  int32_t Open([in] PP_Resource file_system,
+               [in] int64_t expected_size,
+               [in] PP_CompletionCallback callback);
+
+  /**
+   * GetType() returns the type of the provided file system.
+   *
+   * @param[in] file_system A <code>PP_Resource</code> corresponding to a file
+   * system.
+   *
+   * @return A <code>PP_FileSystemType</code> with the file system type if
+   * valid or <code>PP_FILESYSTEMTYPE_INVALID</code> if the provided resource
+   * is not a valid file system. It is valid to call this function even before
+   * Open() completes.
+   */
+  PP_FileSystemType GetType([in] PP_Resource file_system);
+};
+