ucommon::file Class Reference

Access standard files through character protocol. More...

#include <file.h>

Inheritance diagram for ucommon::file:

Inheritance graph
[legend]
Collaboration diagram for ucommon::file:

Collaboration graph
[legend]

Public Types

typedef ::fpos_t bookmark_t

Public Member Functions

void append (void)
int cancel (void)
 Cancel pipe and close file.
void clear (void)
 Clear error state.
int close (void)
 Close an open file.
bool eof (void)
int err (void)
 file ()
 Construct an unopened file.
 file (char *path, char **argv, char *mode, char **envp=((void *) 0))
 Construct an open file based on a pipe.
 file (char *path, char *mode, size_t size=2)
 Construct an open file based on a path and mode.
 file (FILE *file)
 Construct a file from an existing FILE pointer.
void flush (void)
void get (bookmark_t &pos)
int get (void)
size_t get (void *data, size_t size)
char * gets (char *data, size_t size)
bool good (void)
 Check if file is good, no error or eof.
bool is_tty (void)
void move (long offset)
template<typename T>
void offset (long pos)
void open (char *path, char **argv, char *mode, char **envp=((void *) 0))
 Open an executable path.
void open (char *path, char *mode, size_t size=2)
 Open file path.
 operator bool ()
 Test if file is opened.
 operator FILE * ()
bool operator! ()
 Test if file is not opened.
size_t printf (char *format,...)
int push (char value)
int put (char value)
size_t put (void *data, size_t size)
int puts (char *data)
template<typename T>
size_t read (T &data)
template<typename T>
size_t read (T *data, size_t count)
void rewind (void)
size_t scanf (char *format,...)
void seek (long offset)
void set (bookmark_t &pos)
template<typename T>
size_t write (T &data)
template<typename T>
size_t write (T *data, size_t count)
 ~file ()
 Destroy object and close associated file.

Static Public Attributes

static file cerr
static file cin
static file cout

Detailed Description

Access standard files through character protocol.

This can also be used as an alternative means to access files that manages file pointers.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 59 of file file.h.


Constructor & Destructor Documentation

ucommon::file::file ( FILE *  file  ) 

Construct a file from an existing FILE pointer.

Parameters:
file to use.

ucommon::file::file ( char *  path,
char *  mode,
size_t  size = 2 
)

Construct an open file based on a path and mode.

Parameters:
path of file to open.
mode of file.
size of buffer, 0 = none, 1 = line mode, 2 = default

ucommon::file::file ( char *  path,
char **  argv,
char *  mode,
char **  envp = ((void *) 0) 
)

Construct an open file based on a pipe.

Parameters:
path of file to pipe.
argv of executable.
mode of file.
envp to give executable.


Member Function Documentation

int ucommon::file::cancel ( void   ) 

Cancel pipe and close file.

Returns:
process exit code if pipe.

int ucommon::file::close ( void   ) 

Close an open file.

Returns:
process exit code if pipe.

bool ucommon::file::good ( void   ) 

Check if file is good, no error or eof.

..

Returns:
bool if file stream is good.

void ucommon::file::open ( char *  path,
char **  argv,
char *  mode,
char **  envp = ((void *) 0) 
)

Open an executable path.

Parameters:
path of executable.
argv to pass to executable.
mode of pipe (only "r" and "w" are valid).

void ucommon::file::open ( char *  path,
char *  mode,
size_t  size = 2 
)

Open file path.

If a file is already opened, it is closed.

Parameters:
path of file to open.
mode of file to open.
size of buffering, 0 = none, 1 = line mode.

ucommon::file::operator bool (  )  [inline]

Test if file is opened.

Returns:
true if opened.

Definition at line 116 of file file.h.

bool ucommon::file::operator! (  )  [inline]

Test if file is not opened.

Returns:
true if not opened.

Definition at line 123 of file file.h.


The documentation for this class was generated from the following file:
Generated on 14 Aug 2013 for UCommon by  doxygen 1.4.7