Crashpad

Public Member Functions | List of all members
crashpad::WeakStdioFileReader Class Reference

A file reader backed by a standard input/output `FILE*`. More...

`#include "util/file/file_reader.h"`

Inheritance diagram for crashpad::WeakStdioFileReader:

## Public Member Functions
| WeakStdioFileReader (FILE *file)
FileOperationResult | Read (void *data, size_t size) override
| Wraps ReadFile(), or provides an implementation with identical semantics. More...
FileOffset | Seek (FileOffset offset, int whence) override
| Wraps LoggingSeekFile() or provides an alternate implementation with identical semantics. More...
Public Member Functions inherited from crashpad::FileReaderInterface
bool | ReadExactly (void *data, size_t size)
| Wraps Read(), ensuring that the read succeeded and exactly size bytes were read. More...
Public Member Functions inherited from crashpad::FileSeekerInterface
FileOffset | SeekGet ()
| Wraps Seek(), using `SEEK_CUR` to obtain the file’s current position. More...
bool | SeekSet (FileOffset offset)
| Wraps Seek(), using `SEEK_SET`, ensuring that the seek succeeded and the file is positioned as desired. More...

## Detailed Description

A file reader backed by a standard input/output `FILE*`.

This class accepts an already-open `FILE*`. It is not responsible for opening or closing this `FILE*`. Users of this class must ensure that the `FILE*` is closed appropriately elsewhere. Objects of this class may be used to read from `FILE*` objects not associated with filesystem-based files, although special attention should be paid to the Seek() method, which may not function on `FILE*` objects that do not refer to disk-based files.

This class is expected to be used when other code is responsible for opening `FILE*` objects and already provides `FILE*` objects. A good use would be a WeakStdioFileReader for `stdin`.

## Member Function Documentation

## ◆ Read()

FileOperationResult crashpad::WeakStdioFileReader::Read | ( | void * | data,
|  | size_t | size
| ) |  |
| override virtual

Wraps ReadFile(), or provides an implementation with identical semantics.

Returns
  The number of bytes actually read if the operation succeeded, which may be `0` or any positive value less than or equal to size. `-1` if the operation failed, with an error message logged.

Implements crashpad::FileReaderInterface.

## ◆ Seek()

FileOffset crashpad::WeakStdioFileReader::Seek | ( | FileOffset | offset,
|  | int | whence
| ) |  |
| override virtual

Wraps LoggingSeekFile() or provides an alternate implementation with identical semantics.

Returns
  The return value of LoggingSeekFile(). `-1` on failure, with an error message logged.

Note
  This method is only guaranteed to function on `FILE*` objects referring to disk-based files.

Implements crashpad::FileSeekerInterface.

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

- util/file/file_reader.h
- util/file/file_reader.cc