Exiv2
Classes | Public Types | Public Member Functions | Public Attributes

Exiv2::FileIo::Impl Class Reference

Internal Pimpl structure of class FileIo. More...

Collaboration diagram for Exiv2::FileIo::Impl:

List of all members.

Classes

struct  StructStat
 Simple struct stat wrapper for internal use. More...

Public Types

enum  OpMode { opRead, opWrite, opSeek }
 

Mode of operation.


Public Member Functions

 Impl (const std::string &path)
 Constructor.
int switchMode (OpMode opMode)
 Switch to a new access mode, reopening the file if needed. Optimized to only reopen the file when it is really necessary.
int stat (StructStat &buf) const
 stat wrapper for internal use

Public Attributes

std::string path_
 (Standard) path
std::string openMode_
 File open mode.
FILE * fp_
 File stream pointer.
OpMode opMode_
 File open mode.
bytepMappedArea_
 Pointer to the memory-mapped area.
size_t mappedLength_
 Size of the memory-mapped area.
bool isMalloced_
 Is the mapped area allocated?
bool isWriteable_
 Can the mapped area be written to?

Detailed Description

Internal Pimpl structure of class FileIo.


Member Function Documentation

int Exiv2::FileIo::Impl::switchMode ( OpMode  opMode)

Switch to a new access mode, reopening the file if needed. Optimized to only reopen the file when it is really necessary.

Parameters:
opModeThe mode to switch to.
Returns:
0 if successful

Referenced by Exiv2::FileIo::getb(), Exiv2::FileIo::mmap(), Exiv2::FileIo::munmap(), Exiv2::FileIo::putb(), Exiv2::FileIo::read(), Exiv2::FileIo::seek(), and Exiv2::FileIo::write().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines