Native Client

pp::FileIO Class Reference

The FileIO class represents a regular file. More...

Inheritance diagram for pp::FileIO:

List of all members.

Public Functions

 FileIO ()
 FileIO (const InstanceHandle &instance)
 FileIO (const FileIO &other)
int32_t Open (const FileRef &file_ref, int32_t open_flags, const CompletionCallback &cc)
int32_t Query (PP_FileInfo *result_buf, const CompletionCallback &cc)
int32_t Touch (PP_Time last_access_time, PP_Time last_modified_time, const CompletionCallback &cc)
int32_t Read (int64_t offset, char *buffer, int32_t bytes_to_read, const CompletionCallback &cc)
int32_t Write (int64_t offset, const char *buffer, int32_t bytes_to_write, const CompletionCallback &cc)
int32_t SetLength (int64_t length, const CompletionCallback &cc)
int32_t Flush (const CompletionCallback &cc)
void Close ()

Detailed Description

The FileIO class represents a regular file.


Constructor and Destructor Details

pp::FileIO::FileIO ( )

Default constructor for creating an is_null() FileIO object.

pp::FileIO::FileIO ( const InstanceHandle instance) [explicit]

A constructor used to create a FileIO and associate it with the provided Instance.

Parameters:
[in]instanceThe instance with which this resource will be associated.
pp::FileIO::FileIO ( const FileIO other)

The copy constructor for FileIO.

Parameters:
[in]otherA pointer to a FileIO.

Function Details

void pp::FileIO::Close ( )

Close() cancels any IO that may be pending, and closes the FileIO object.

Any pending callbacks will still run, reporting PP_ERROR_ABORTED if pending IO was interrupted. It is not valid to call Open() again after a call to this method.

Note: If the FileIO object is destroyed, and it is still open, then it will be implicitly closed, so you are not required to call Close().

int32_t pp::FileIO::Flush ( const CompletionCallback cc)

Flush() flushes changes to disk.

This call can be very expensive!

Parameters:
[in]ccA CompletionCallback to be called upon completion of Flush().
Returns:
An int32_t containing an error code from pp_errors.h.
int32_t pp::FileIO::Open ( const FileRef file_ref,
int32_t  open_flags,
const CompletionCallback cc 
)

Open() opens the specified regular file for I/O according to the given open flags, which is a bit-mask of the PP_FileOpenFlags values.

Upon success, the corresponding file is classified as "in use" by this FileIO object until such time as the FileIO object is closed or destroyed.

Parameters:
[in]file_refA PP_Resource corresponding to a file reference.
[in]open_flagsA bit-mask of the PP_FileOpenFlags values.
[in]ccA CompletionCallback to be called upon completion of Open().
Returns:
An int32_t containing an error code from pp_errors.h.
int32_t pp::FileIO::Query ( PP_FileInfo *  result_buf,
const CompletionCallback cc 
)

Query() queries info about the file opened by this FileIO object.

This function will fail if the FileIO object has not been opened.

Parameters:
[in]result_bufThe PP_FileInfo structure representing all information about the file.
[in]ccA CompletionCallback to be called upon completion of Query().
Returns:
An int32_t containing an error code from pp_errors.h.
int32_t pp::FileIO::Read ( int64_t  offset,
char *  buffer,
int32_t  bytes_to_read,
const CompletionCallback cc 
)

Read() reads from an offset in the file.

The size of the buffer must be large enough to hold the specified number of bytes to read. This function might perform a partial read.

Parameters:
[in]offsetThe offset into the file.
[in]bufferThe buffer to hold the specified number of bytes read.
[in]bytes_to_readThe number of bytes to read from offset.
[in]ccA CompletionCallback to be called upon completion of Read().
Returns:
An The number of bytes read an error code from pp_errors.h. If the return value is 0, then end-of-file was reached. It is valid to call Read() multiple times with a completion callback to queue up parallel reads from the file at different offsets.
int32_t pp::FileIO::SetLength ( int64_t  length,
const CompletionCallback cc 
)

SetLength() sets the length of the file.

If the file size is extended, then the extended area of the file is zero-filled. The FileIO object must have been opened with write access.

Parameters:
[in]lengthThe length of the file to be set.
[in]ccA CompletionCallback to be called upon completion of SetLength().
Returns:
An int32_t containing an error code from pp_errors.h.
int32_t pp::FileIO::Touch ( PP_Time  last_access_time,
PP_Time  last_modified_time,
const CompletionCallback cc 
)

Touch() Updates time stamps for the file opened by this FileIO object.

This function will fail if the FileIO object has not been opened.

Parameters:
[in]last_access_timeThe last time the FileIO was accessed.
[in]last_modified_timeThe last time the FileIO was modified.
[in]ccA CompletionCallback to be called upon completion of Touch().
Returns:
An int32_t containing an error code from pp_errors.h.
int32_t pp::FileIO::Write ( int64_t  offset,
const char *  buffer,
int32_t  bytes_to_write,
const CompletionCallback cc 
)

Write() writes to an offset in the file.

This function might perform a partial write. The FileIO object must have been opened with write access.

Parameters:
[in]offsetThe offset into the file.
[in]bufferThe buffer to hold the specified number of bytes read.
[in]bytes_to_writeThe number of bytes to write to offset.
[in]ccA CompletionCallback to be called upon completion of Write().
Returns:
An The number of bytes written or an error code from pp_errors.h. If the return value is 0, then end-of-file was reached. It is valid to call Write() multiple times with a completion callback to queue up parallel writes to the file at different offsets.

The documentation for this class was generated from the following file:

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.