// 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. #ifndef PPAPI_CPP_FILE_SYSTEM_H_ #define PPAPI_CPP_FILE_SYSTEM_H_ #include "ppapi/c/pp_file_info.h" #include "ppapi/c/pp_instance.h" #include "ppapi/c/pp_stdint.h" #include "ppapi/c/pp_time.h" #include "ppapi/cpp/instance.h" #include "ppapi/cpp/resource.h" /// @file /// This file defines the API to create a file system associated with a file. namespace pp { class CompletionCallback; /// The FileSystem class identifies the file system type /// associated with a file. class FileSystem : public Resource { public: /// Constructs an is_null() filesystem resource. If you use this constructor, /// you will have to assign it to a "real" FileSystem object before you can /// use it. FileSystem(); /// This constructor creates a file system object of the given type. /// /// @param[in] instance The instance with which this resource will be /// associated. /// /// @param[in] type A file system type as defined by /// PP_FileSystemType enum. FileSystem(const InstanceHandle& instance, PP_FileSystemType type); /// Open() opens the file system. A file system must be opened before running /// any other operation on it. /// /// @param[in] expected_size The expected size of the file system. /// @param[in] cc A PP_CompletionCallback to be called upon /// completion of Open(). /// /// @return An int32_t containing an error code from pp_errors.h. int32_t Open(int64_t expected_size, const CompletionCallback& cc); }; } // namespace pp #endif // PPAPI_CPP_FILE_SYSTEM_H_