logo top
Main Page   Widgets   glibmm Namespaces   Book  

Gio::BufferedInputStream Class Reference

Inheritance diagram for Gio::BufferedInputStream:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ~BufferedInputStream ()
GBufferedInputStream* gobj ()
 Provides access to the underlying C GObject.
const GBufferedInputStream* gobj () const
 Provides access to the underlying C GObject.
GBufferedInputStream* gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
gsize get_buffer_size () const
 Gets the size of the input buffer.
void set_buffer_size (gsize size)
 Sets the size of the internal buffer of stream to size, or to the size of the contents of the buffer.
gsize get_available () const
 Gets the size of the available data within the stream.
gsize peek (void* buffer, gsize offset, gsize count) const
 Peeks in the buffer, copying data of size count into buffer, offset offset bytes.
const void* peek_buffer (gsize& count) const
 Returns: read-only buffer.
gssize fill (gssize count, const Glib::RefPtr<Cancellable>& cancellable)
 Tries to read count bytes from the stream into the buffer.
gssize fill (gssize count)
 non-cancellable version of fill()
void fill_async (const SlotAsyncReady& slot, gssize count, const Glib::RefPtr<Cancellable>& cancellable, int io_priority=Glib::PRIORITY_DEFAULT)
 Reads data into the stream's buffer asynchronously, up to count size.
void fill_async (const SlotAsyncReady& slot, gssize count, int io_priority=Glib::PRIORITY_DEFAULT)
 Reads data into the stream's buffer asynchronously, up to count size.
gssize fill_finish (const Glib::RefPtr<AsyncResult>& result)
 Finishes an asynchronous read.
int read_byte (const Glib::RefPtr<Cancellable>& cancellable)
 Tries to read a single byte from the stream or the buffer.
int read_byte ()
 Non-cancellable version of read_byte.

Static Public Member Functions

static Glib::RefPtr<BufferedInputStreamcreate (const Glib::RefPtr<InputStream>& base_stream)
static Glib::RefPtr<BufferedInputStreamcreate_sized (const Glib::RefPtr<InputStream>& base_stream, gsize size)

Protected Member Functions

 BufferedInputStream (const Glib::RefPtr<InputStream>& base_stream)
 BufferedInputStream (const Glib::RefPtr<InputStream>& base_stream, gsize size)

Related Functions

(Note that these are not member functions.)

Glib::RefPtr<Gio::BufferedInputStreamwrap (GBufferedInputStream* object, bool take_copy=false)
 A Glib::wrap() method for this object.

Constructor & Destructor Documentation

virtual Gio::BufferedInputStream::~BufferedInputStream (  )  [virtual]

Gio::BufferedInputStream::BufferedInputStream ( const Glib::RefPtr<InputStream>&  base_stream  )  [explicit, protected]

Gio::BufferedInputStream::BufferedInputStream ( const Glib::RefPtr<InputStream>&  base_stream,
gsize  size 
) [explicit, protected]


Member Function Documentation

GBufferedInputStream* Gio::BufferedInputStream::gobj (  )  [inline]

Provides access to the underlying C GObject.

Reimplemented from Gio::FilterInputStream.

Reimplemented in Gio::DataInputStream.

const GBufferedInputStream* Gio::BufferedInputStream::gobj (  )  const [inline]

Provides access to the underlying C GObject.

Reimplemented from Gio::FilterInputStream.

Reimplemented in Gio::DataInputStream.

GBufferedInputStream* Gio::BufferedInputStream::gobj_copy (  ) 

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

Reimplemented from Gio::FilterInputStream.

Reimplemented in Gio::DataInputStream.

static Glib::RefPtr<BufferedInputStream> Gio::BufferedInputStream::create ( const Glib::RefPtr<InputStream>&  base_stream  )  [static]

Reimplemented in Gio::DataInputStream.

static Glib::RefPtr<BufferedInputStream> Gio::BufferedInputStream::create_sized ( const Glib::RefPtr<InputStream>&  base_stream,
gsize  size 
) [static]

gsize Gio::BufferedInputStream::get_buffer_size (  )  const

Gets the size of the input buffer.

Returns:
The current buffer size.

void Gio::BufferedInputStream::set_buffer_size ( gsize  size  ) 

Sets the size of the internal buffer of stream to size, or to the size of the contents of the buffer.

The buffer can never be resized smaller than its current contents.

Parameters:
size A gsize.

gsize Gio::BufferedInputStream::get_available (  )  const

Gets the size of the available data within the stream.

Returns:
Size of the available stream.

gsize Gio::BufferedInputStream::peek ( void *  buffer,
gsize  offset,
gsize  count 
) const

Peeks in the buffer, copying data of size count into buffer, offset offset bytes.

Parameters:
buffer A pointer to an allocated chunk of memory.
offset A gsize.
count A gsize.
Returns:
A gsize of the number of bytes peeked, or -1 on error.

const void* Gio::BufferedInputStream::peek_buffer ( gsize &  count  )  const

Returns: read-only buffer.

Parameters:
count A gsize to get the number of bytes available in the buffer.
Returns:
Read-only buffer.

gssize Gio::BufferedInputStream::fill ( gssize  count,
const Glib::RefPtr<Cancellable>&  cancellable 
)

Tries to read count bytes from the stream into the buffer.

Will block during this read.

If count is zero, returns zero and does nothing. A value of count larger than MAXSSIZE will cause a IO_ERROR_INVALID_ARGUMENT error.

On success, the number of bytes read into the buffer is returned. It is not an error if this is not the same as the requested size, as it can happen e.g. near the end of a file. Zero is returned on end of file (or if count is zero), but never otherwise.

If cancellable is not 0, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error.

On error -1 is returned and error is set accordingly.

For the asynchronous, non-blocking, version of this function, see g_buffered_input_stream_fill_async().

Parameters:
count The number of bytes that will be read from the stream.
cancellable Optional Cancellable object, 0 to ignore.
Returns:
The number of bytes read into stream's buffer, up to count, or -1 on error.

gssize Gio::BufferedInputStream::fill ( gssize  count  ) 

non-cancellable version of fill()

void Gio::BufferedInputStream::fill_async ( const SlotAsyncReady slot,
gssize  count,
const Glib::RefPtr<Cancellable>&  cancellable,
int  io_priority = Glib::PRIORITY_DEFAULT 
)

Reads data into the stream's buffer asynchronously, up to count size.

io_priority can be used to prioritize reads. For the synchronous version of this function, see fill().

Parameters:
slot A AsyncReadyCallback.
count The number of bytes to read.
cancellable Cancellable object.
io_priority the I/O priority of the request.

void Gio::BufferedInputStream::fill_async ( const SlotAsyncReady slot,
gssize  count,
int  io_priority = Glib::PRIORITY_DEFAULT 
)

Reads data into the stream's buffer asynchronously, up to count size.

io_priority can be used to prioritize reads. For the synchronous version of this function, see fill().

Parameters:
slot A AsyncReadyCallback.
count The number of bytes to read.
io_priority the I/O priority of the request.

gssize Gio::BufferedInputStream::fill_finish ( const Glib::RefPtr<AsyncResult>&  result  ) 

Finishes an asynchronous read.

Parameters:
result A AsyncResult.
Returns:
A gssize of the read stream, or -1 on an error.

int Gio::BufferedInputStream::read_byte ( const Glib::RefPtr<Cancellable>&  cancellable  ) 

Tries to read a single byte from the stream or the buffer.

Will block during this read.

On success, the byte read from the stream is returned. On end of stream -1 is returned but it's not an exceptional error and error is not set.

If cancellable is not 0, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error IO_ERROR_CANCELLED will be returned. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error.

On error -1 is returned and error is set accordingly.

Parameters:
cancellable Optional Cancellable object, 0 to ignore.
Returns:
The byte read from the stream, or -1 on end of stream or error.

Reimplemented in Gio::DataInputStream.

int Gio::BufferedInputStream::read_byte (  ) 

Non-cancellable version of read_byte.

Reimplemented in Gio::DataInputStream.


Friends And Related Function Documentation

Glib::RefPtr<Gio::BufferedInputStream> wrap ( GBufferedInputStream *  object,
bool  take_copy = false 
) [related]

A Glib::wrap() method for this object.

Parameters:
object The C instance.
take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns:
A C++ instance that wraps this C instance.


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

Generated for glibmm 2.4 by Doxygen 1.5.1 © 1997-2001