| // Copyright (c) 2012 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. | |
| #ifndef PPAPI_CPP_PRIVATE_FLASH_FILE_H_ | |
| #define PPAPI_CPP_PRIVATE_FLASH_FILE_H_ | |
| #include <stdint.h> | |
| #include <string> | |
| #include <vector> | |
| #include "ppapi/c/private/ppb_flash_file.h" | |
| namespace pp { | |
| class FileRef; | |
| class InstanceHandle; | |
| namespace flash { | |
| // FileModuleLocal ------------------------------------------------------------- | |
| class FileModuleLocal { | |
| public: | |
| // Returns true if the required interface is available. | |
| static bool IsAvailable(); | |
| // Returns |PP_kInvalidFileHandle| on error. | |
| static PP_FileHandle OpenFile(const InstanceHandle& instance, | |
| const std::string& path, | |
| int32_t mode); | |
| static bool RenameFile(const InstanceHandle& instance, | |
| const std::string& path_from, | |
| const std::string& path_to); | |
| static bool DeleteFileOrDir(const InstanceHandle& instance, | |
| const std::string& path, | |
| bool recursive); | |
| static bool CreateDir(const InstanceHandle& instance, | |
| const std::string& path); | |
| static bool QueryFile(const InstanceHandle& instance, | |
| const std::string& path, | |
| PP_FileInfo* info); | |
| // Note that, unlike the C interface, no |FreeDirContents()| is needed. | |
| struct DirEntry { | |
| std::string name; | |
| bool is_dir; | |
| }; | |
| static bool GetDirContents(const InstanceHandle& instance, | |
| const std::string& path, | |
| std::vector<DirEntry>* dir_contents); | |
| // Returns |PP_kInvalidFileHandle| on error. | |
| static PP_FileHandle CreateTemporaryFile(const InstanceHandle& instance); | |
| }; | |
| // FileFileRef ----------------------------------------------------------------- | |
| class FileFileRef { | |
| public: | |
| // Returns true if the required interface is available. | |
| static bool IsAvailable(); | |
| // Returns |PP_kInvalidFileHandle| on error. | |
| static PP_FileHandle OpenFile(const pp::FileRef& resource, | |
| int32_t mode); | |
| static bool QueryFile(const pp::FileRef& resource, | |
| PP_FileInfo* info); | |
| }; | |
| } // namespace flash | |
| } // namespace pp | |
| #endif // PPAPI_CPP_PRIVATE_FLASH_FILE_H_ |