| Index: ppapi/c/trusted/ppb_file_io_trusted.h
|
| ===================================================================
|
| --- ppapi/c/trusted/ppb_file_io_trusted.h (revision 0)
|
| +++ ppapi/c/trusted/ppb_file_io_trusted.h (revision 0)
|
| @@ -0,0 +1,47 @@
|
| +/* 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_C_PPB_FILE_IO_TRUSTED_H_
|
| +#define PPAPI_C_PPB_FILE_IO_TRUSTED_H_
|
| +
|
| +#include "ppapi/c/pp_resource.h"
|
| +#include "ppapi/c/pp_stdint.h"
|
| +
|
| +struct PP_CompletionCallback;
|
| +
|
| +#define PPB_FILEIOTRUSTED_INTERFACE_0_3 "PPB_FileIOTrusted(Dev);0.3"
|
| +#define PPB_FILEIOTRUSTED_INTERFACE PPB_FILEIOTRUSTED_INTERFACE_0_3
|
| +
|
| +// Available only to trusted implementations.
|
| +struct PPB_FileIOTrusted {
|
| + // Returns a file descriptor corresponding to the given FileIO object. On
|
| + // Windows, returns a HANDLE; on all other platforms, returns a POSIX file
|
| + // descriptor. The FileIO object must have been opened with a successful
|
| + // call to FileIO::Open. The file descriptor will be closed automatically
|
| + // when the FileIO object is closed or destroyed.
|
| + int32_t (*GetOSFileDescriptor)(PP_Resource file_io);
|
| +
|
| + // Notifies the browser that underlying file will be modified. This gives
|
| + // the browser the opportunity to apply quota restrictions and possibly
|
| + // return an error to indicate that the write is not allowed.
|
| + int32_t (*WillWrite)(PP_Resource file_io,
|
| + int64_t offset,
|
| + int32_t bytes_to_write,
|
| + struct PP_CompletionCallback callback);
|
| +
|
| + // Notifies the browser that underlying file will be modified. This gives
|
| + // the browser the opportunity to apply quota restrictions and possibly
|
| + // return an error to indicate that the write is not allowed.
|
| + int32_t (*WillSetLength)(PP_Resource file_io,
|
| + int64_t length,
|
| + struct PP_CompletionCallback callback);
|
| +
|
| + // TODO(darin): Maybe unify the above into a single WillChangeFileSize
|
| + // method? The above methods have the advantage of mapping to PPB_FileIO
|
| + // Write and SetLength calls. WillChangeFileSize would require the caller to
|
| + // compute the file size resulting from a Write call, which may be
|
| + // undesirable.
|
| +};
|
| +
|
| +#endif /* PPAPI_C_PPB_FILE_IO_TRUSTED_H_ */
|
|
|