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);
+};
+