summaryrefslogtreecommitdiffstats
path: root/ppapi/c/ppb_file_ref.h
diff options
context:
space:
mode:
Diffstat (limited to 'ppapi/c/ppb_file_ref.h')
-rw-r--r--ppapi/c/ppb_file_ref.h78
1 files changed, 63 insertions, 15 deletions
diff --git a/ppapi/c/ppb_file_ref.h b/ppapi/c/ppb_file_ref.h
index 873ef18..035e3ee 100644
--- a/ppapi/c/ppb_file_ref.h
+++ b/ppapi/c/ppb_file_ref.h
@@ -3,7 +3,7 @@
* found in the LICENSE file.
*/
-/* From ppb_file_ref.idl modified Thu Aug 15 10:50:43 2013. */
+/* From ppb_file_ref.idl modified Wed Jan 8 12:40:12 2014. */
#ifndef PPAPI_C_PPB_FILE_REF_H_
#define PPAPI_C_PPB_FILE_REF_H_
@@ -20,6 +20,7 @@
#define PPB_FILEREF_INTERFACE_1_0 "PPB_FileRef;1.0"
#define PPB_FILEREF_INTERFACE_1_1 "PPB_FileRef;1.1"
+#define PPB_FILEREF_INTERFACE_1_2 "PPB_FileRef;1.2" /* dev */
#define PPB_FILEREF_INTERFACE PPB_FILEREF_INTERFACE_1_1
/**
@@ -30,6 +31,28 @@
/**
+ * @addtogroup Enums
+ * @{
+ */
+/**
+ * The <code>PP_MakeDirectoryFlags</code> enum contains flags used to control
+ * behavior of <code>PPB_FileRef.MakeDirectory()</code>.
+ */
+typedef enum {
+ PP_MAKEDIRECTORYFLAG_NONE = 0 << 0,
+ /** Requests that ancestor directories are created if they do not exist. */
+ PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS = 1 << 0,
+ /**
+ * Requests that the PPB_FileRef.MakeDirectory() call fails if the directory
+ * already exists.
+ */
+ PP_MAKEDIRECTORYFLAG_EXCLUSIVE = 1 << 1
+} PP_MakeDirectoryFlags;
+/**
+ * @}
+ */
+
+/**
* @addtogroup Interfaces
* @{
*/
@@ -38,7 +61,7 @@
* a file system. This struct contains a <code>PP_FileSystemType</code>
* identifier and a file path string.
*/
-struct PPB_FileRef_1_1 {
+struct PPB_FileRef_1_2 { /* dev */
/**
* Create() creates a weak pointer to a file in the given file system. File
* paths are POSIX style.
@@ -110,24 +133,22 @@ struct PPB_FileRef_1_1 {
*/
PP_Resource (*GetParent)(PP_Resource file_ref);
/**
- * MakeDirectory() makes a new directory in the file system as well as any
- * parent directories if the <code>make_ancestors</code> argument is
- * <code>PP_TRUE</code>. It is not valid to make a directory in the external
- * file system.
+ * MakeDirectory() makes a new directory in the file system according to the
+ * given <code>make_directory_flags</code>, which is a bit-mask of the
+ * <code>PP_MakeDirectoryFlags</code> values. It is not valid to make a
+ * directory in the external file system.
*
* @param[in] file_ref A <code>PP_Resource</code> corresponding to a file
* reference.
- * @param[in] make_ancestors A <code>PP_Bool</code> set to
- * <code>PP_TRUE</code> to make ancestor directories or <code>PP_FALSE</code>
- * if ancestor directories are not needed.
+ * @param[in] make_directory_flags A bit-mask of the
+ * <code>PP_MakeDirectoryFlags</code> values.
+ * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
+ * completion of MakeDirectory().
*
* @return An int32_t containing an error code from <code>pp_errors.h</code>.
- * Succeeds if the directory already exists. Fails if ancestor directories
- * do not exist and <code>make_ancestors</code> was passed as
- * <code>PP_FALSE</code>.
*/
int32_t (*MakeDirectory)(PP_Resource directory_ref,
- PP_Bool make_ancestors,
+ int32_t make_directory_flags,
struct PP_CompletionCallback callback);
/**
* Touch() Updates time stamps for a file. You must have write access to the
@@ -212,8 +233,6 @@ struct PPB_FileRef_1_1 {
struct PP_CompletionCallback callback);
};
-typedef struct PPB_FileRef_1_1 PPB_FileRef;
-
struct PPB_FileRef_1_0 {
PP_Resource (*Create)(PP_Resource file_system, const char* path);
PP_Bool (*IsFileRef)(PP_Resource resource);
@@ -234,6 +253,35 @@ struct PPB_FileRef_1_0 {
PP_Resource new_file_ref,
struct PP_CompletionCallback callback);
};
+
+struct PPB_FileRef_1_1 {
+ PP_Resource (*Create)(PP_Resource file_system, const char* path);
+ PP_Bool (*IsFileRef)(PP_Resource resource);
+ PP_FileSystemType (*GetFileSystemType)(PP_Resource file_ref);
+ struct PP_Var (*GetName)(PP_Resource file_ref);
+ struct PP_Var (*GetPath)(PP_Resource file_ref);
+ PP_Resource (*GetParent)(PP_Resource file_ref);
+ int32_t (*MakeDirectory)(PP_Resource directory_ref,
+ PP_Bool make_ancestors,
+ struct PP_CompletionCallback callback);
+ int32_t (*Touch)(PP_Resource file_ref,
+ PP_Time last_access_time,
+ PP_Time last_modified_time,
+ struct PP_CompletionCallback callback);
+ int32_t (*Delete)(PP_Resource file_ref,
+ struct PP_CompletionCallback callback);
+ int32_t (*Rename)(PP_Resource file_ref,
+ PP_Resource new_file_ref,
+ struct PP_CompletionCallback callback);
+ int32_t (*Query)(PP_Resource file_ref,
+ struct PP_FileInfo* info,
+ struct PP_CompletionCallback callback);
+ int32_t (*ReadDirectoryEntries)(PP_Resource file_ref,
+ struct PP_ArrayOutput output,
+ struct PP_CompletionCallback callback);
+};
+
+typedef struct PPB_FileRef_1_1 PPB_FileRef;
/**
* @}
*/