diff options
Diffstat (limited to 'ppapi/c/ppb_file_ref.h')
-rw-r--r-- | ppapi/c/ppb_file_ref.h | 78 |
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; /** * @} */ |