libshevek
Public Member Functions | Static Public Member Functions | List of all members
shevek::file Class Reference

Use normal files with the fd class. More...

#include <file.hh>

Inheritance diagram for shevek::file:
shevek::fd shevek::refbase

Public Member Functions

void open (std::string name, bool read, bool write)
 Open a new file in the object.
void close ()
 Close the file.
- Public Member Functions inherited from shevek::fd
void read_custom (read_custom_t cb)
 Poll for read with a custom callback to poll.
void read_priority_custom (read_custom_t cb)
 Poll for priority read with a custom callback to poll.
void read (read_t cb)
 Poll for read and set read callback (resets custom callback)
void read_priority (read_t cb)
 Poll for priority read and set read callback (resets custom callback)
void read_lines (read_lines_t cb)
 Poll for read and set read lines callback (resets custom and read callback). Polls for priority read as well.
void unread (bool flush_buffer=false, flush_t cb=flush_t())
 Stop polling for read (including priority read).
void write (std::string const &data, write_done_t cb=write_done_t())
 Write data and set a callback (defaults to none).
void write_raw (std::string const &data, write_done_t cb=write_done_t())
 Write data, ignoring the filter, and set a callback (defaults to none).
bool write_block (relative_time timeout=relative_time(-1, 0))
 Block until write buffer is empty.
std::string & read_block (relative_time timeout=relative_time(-1, 0))
 Block until data is read, try writing if there is a write buffer.
std::string read_line_block (relative_time timeout=relative_time(-1, 0))
 Call read_block until a line has been read, or the timeout expires.
void set_fd (int fd)
 Change file descriptor.
void in_filter (filter_t cb)
 If set, incoming data is filtered through this callback before it is put into the buffer.
void out_filter (filter_t cb)
 If set, outgoing data is filtered through this callback before it is sent to the file descriptor.
void set_error (error_t cb)
 Set a callback for all error types at once.
void set_poll_error (error_t cb)
 Callback for errors from poll.
void set_read_error (error_t cb)
 Callback for errors from read.
void set_write_error (error_t cb)
 Callback for errors from write.
void set_eof (error_t cb)
 Callback for end of file.
void read_reset ()
 Stop reading, delete the buffer.
void write_reset ()
 Stop writing, delete the buffer.
void reset ()
 Stop reading and writing, delete the buffers.
int get_fd () const
 Get the fd. This function should mostly be used by derived classes.
Glib::RefPtr< Glib::MainContext > get_main_context ()
 Get the main context. Also mostly used by derived classes.
- Public Member Functions inherited from shevek::refbase
template<typename _T >
Glib::RefPtr< _T > cast_dynamic ()
 Identical to GLib::RefPtr <>::cast_dynamic, but nicer to type.

Static Public Member Functions

static Glib::RefPtr< filecreate (Glib::RefPtr< Glib::MainContext > main=Glib::MainContext::get_default())
 Create a new file object.
- Static Public Member Functions inherited from shevek::fd
static Glib::RefPtr< fdcreate (int value=-1, Glib::RefPtr< Glib::MainContext > main=Glib::MainContext::get_default())
 Create a new fd.

Additional Inherited Members

- Public Types inherited from shevek::fd
typedef sigc::slot0< void > read_custom_t
 Function pointer to call when data is read from fd.
typedef sigc::slot1< bool,
std::string & > 
read_t
 Function pointer to call when fd is ready for reading.
typedef sigc::slot1< void,
std::string const & > 
read_lines_t
 Function pointer to call when a complete line has arrived.
typedef sigc::slot0< void > error_t
 Function pointer to call when an error occurs.
typedef sigc::slot0< void > write_done_t
 Function pointer to call when data has been written.
typedef sigc::slot1< void,
std::string & > 
filter_t
 Function pointer to filter in and outgoing data.
typedef sigc::slot0< void > flush_t
 Function pointer to signal that all data is flushed after unread ()
- Protected Member Functions inherited from shevek::fd
 fd (int value, Glib::RefPtr< Glib::MainContext > main)
 Constructor.
 ~fd ()
 Destructor.

Detailed Description

Use normal files with the fd class.


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