glibmm: Gio::DataOutputStream Class Reference

An implementation of BufferedOutputStream that allows for high-level data manipulation of arbitrary data (including binary operations). More...

#include <giomm/dataoutputstream.h>

Inheritance diagram for Gio::DataOutputStream:

Public Member Functions

DataOutputStream ( DataOutputStream && src) noexcept
DataOutputStream & operator= ( DataOutputStream && src) noexcept
~DataOutputStream () noexceptoverride
GDataOutputStream* gobj ()
Provides access to the underlying C GObject. More...

const GDataOutputStream* gobj () const
Provides access to the underlying C GObject. More...

GDataOutputStream* gobj_copy ()
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

void set_byte_order ( DataStreamByteOrder order)
Sets the byte order of the data output stream to order . More...

DataStreamByteOrder get_byte_order () const
Gets the byte order for the stream. More...

bool put_byte (guchar data, const Glib::RefPtr < Cancellable >& cancellable)
Puts a byte into the output stream. More...

bool put_byte (guchar data)
A put_byte() convenience overload. More...

bool put_int16 (gint16 data, const Glib::RefPtr < Cancellable >& cancellable)
Puts a signed 16-bit integer into the output stream. More...

bool put_int16 (gint16 data)
A put_int16() convenience overload. More...

bool put_uint16 (guint16 data, const Glib::RefPtr < Cancellable >& cancellable)
Puts an unsigned 16-bit integer into the output stream. More...

bool put_uint16 (guint16 data)
A put_uint16() convenience overload. More...

bool put_int32 (gint32 data, const Glib::RefPtr < Cancellable >& cancellable)
Puts a signed 32-bit integer into the output stream. More...

bool put_int32 (gint32 data)
A put_int32() convenience overload. More...

bool put_uint32 (guint32 data, const Glib::RefPtr < Cancellable >& cancellable)
Puts an unsigned 32-bit integer into the stream. More...

bool put_uint32 (guint32 data)
A put_uint32() convenience overload. More...

bool put_int64 (gint64 data, const Glib::RefPtr < Cancellable >& cancellable)
Puts a signed 64-bit integer into the stream. More...

bool put_int64 (gint64 data)
A put_int64() convenience overload. More...

bool put_uint64 (guint64 data, const Glib::RefPtr < Cancellable >& cancellable)
Puts an unsigned 64-bit integer into the stream. More...

bool put_uint64 (guint64 data)
A put_uint64() convenience overload. More...

bool put_string ( std::string str, const Glib::RefPtr < Cancellable >& cancellable)
Puts a string into the output stream. More...

bool put_string ( std::string str)
A put_string() convenience overload. More...

Glib::PropertyProxy < DataStreamByteOrder > property_byte_order ()
Determines the byte ordering that is used when writing multi-byte entities (such as integers) to the stream. More...

Glib::PropertyProxy_ReadOnly < DataStreamByteOrder > property_byte_order () const
Determines the byte ordering that is used when writing multi-byte entities (such as integers) to the stream. More...

- Public Member Functions inherited from Gio::BufferedOutputStream
BufferedOutputStream ( BufferedOutputStream && src) noexcept
BufferedOutputStream & operator= ( BufferedOutputStream && src) noexcept
~BufferedOutputStream () noexceptoverride
GBufferedOutputStream* gobj ()
Provides access to the underlying C GObject. More...

const GBufferedOutputStream* gobj () const
Provides access to the underlying C GObject. More...

GBufferedOutputStream* gobj_copy ()
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

gsize get_buffer_size () const
Gets the size of the buffer in the stream . More...

void set_buffer_size (gsize size )
Sets the size of the internal buffer to size . More...

void set_auto_grow (bool auto_grow=true)
Sets whether or not the stream's buffer should automatically grow. More...

bool get_auto_grow () const
Checks if the buffer automatically grows as data is added. More...

Glib::PropertyProxy < guint > property_buffer_size ()
The size of the backend buffer. More...

Glib::PropertyProxy_ReadOnly < guint > property_buffer_size () const
The size of the backend buffer. More...

Glib::PropertyProxy < bool > property_auto_grow ()
Whether the buffer should automatically grow. More...

Glib::PropertyProxy_ReadOnly < bool > property_auto_grow () const
Whether the buffer should automatically grow. More...

- Public Member Functions inherited from Gio::FilterOutputStream
FilterOutputStream ( FilterOutputStream && src) noexcept
FilterOutputStream & operator= ( FilterOutputStream && src) noexcept
~FilterOutputStream () noexceptoverride
GFilterOutputStream* gobj ()
Provides access to the underlying C GObject. More...

const GFilterOutputStream* gobj () const
Provides access to the underlying C GObject. More...

GFilterOutputStream* gobj_copy ()
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

Glib::RefPtr < OutputStream > get_base_stream ()
Gets the base stream for the filter stream. More...

Glib::RefPtr < const OutputStream > get_base_stream () const
Gets the base stream for the filter stream. More...

bool get_close_base_stream () const
Returns whether the base stream will be closed when stream is closed. More...

void set_close_base_stream (bool close_base=true)
Sets whether the base stream will be closed when stream is closed. More...

Glib::PropertyProxy_ReadOnly < Glib::RefPtr < InputStream > > property_base_stream () const
The underlying base stream on which the io ops will be done. More...

Glib::PropertyProxy_ReadOnly < bool > property_close_base_stream () const
If the base stream should be closed when the filter stream is closed. More...

- Public Member Functions inherited from Gio::OutputStream
OutputStream ( OutputStream && src) noexcept
OutputStream & operator= ( OutputStream && src) noexcept
~OutputStream () noexceptoverride
GOutputStream* gobj ()
Provides access to the underlying C GObject. More...

const GOutputStream* gobj () const
Provides access to the underlying C GObject. More...

GOutputStream* gobj_copy ()
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...

gssize write (const void* buffer, gsize count , const Glib::RefPtr < Cancellable >& cancellable)
Tries to write count bytes from buffer into the stream. More...

gssize write (const void* buffer, gsize count )
A write() convenience overload. More...

gssize write (const std::string & buffer, const Glib::RefPtr < Cancellable >& cancellable)
Tries to write count bytes from buffer into the stream. More...

gssize write (const std::string & buffer)
Tries to write count bytes from buffer into the stream. More...

bool write_all (const void* buffer, gsize count , gsize& bytes_written, const Glib::RefPtr < Cancellable >& cancellable)
Tries to write count bytes from buffer into the stream. More...

bool write_all (const void* buffer, gsize count , gsize& bytes_written)
A write_all() convenience overload. More...

bool write_all (const std::string & buffer, gsize& bytes_written, const Glib::RefPtr < Cancellable >& cancellable)
Tries to write count bytes from buffer into the stream. More...

bool write_all (const std::string & buffer, gsize& bytes_written)
Tries to write count bytes from buffer into the stream. More...

gssize write_bytes (const Glib::RefPtr < const Glib::Bytes >& bytes, const Glib::RefPtr < Cancellable >& cancellable)
A wrapper function for g_output_stream_write() which takes a Bytes as input. More...

gssize write_bytes (const Glib::RefPtr < const Glib::Bytes >& bytes)
A write_bytes() convenience overload. More...

void write_bytes_async (const Glib::RefPtr < const Glib::Bytes >& bytes, const SlotAsyncReady & slot, const Glib::RefPtr < Cancellable >& cancellable, int io_priority= Glib::PRIORITY_DEFAULT )
Request an asynchronous write of the data in bytes to the stream. More...

void write_bytes_async (const Glib::RefPtr < const Glib::Bytes >& bytes, const SlotAsyncReady & slot, int io_priority= Glib::PRIORITY_DEFAULT )
Request an asynchronous write of the data in bytes to the stream. More...

gssize write_bytes_finish (const Glib::RefPtr < AsyncResult >& result)
Finishes a stream write-from-Bytes operation. More...

gssize splice (const Glib::RefPtr < InputStream >& source, const Glib::RefPtr < Cancellable >& cancellable, OutputStreamSpliceFlags flags= OUTPUT_STREAM_SPLICE_NONE )
Splices an input stream into an output stream. More...

gssize splice (const Glib::RefPtr < InputStream >& source, OutputStreamSpliceFlags flags= OUTPUT_STREAM_SPLICE_NONE )
Splices an input stream into an output stream. More...

bool flush (const Glib::RefPtr < Cancellable >& cancellable)
Flushed any outstanding buffers in the stream. More...

bool flush ()
A flush() convenience overload. More...

bool close (const Glib::RefPtr < Cancellable >& cancellable)
Closes the stream, releasing resources related to it. More...

bool close ()
A close() convenience overload. More...

void write_async (const void* buffer, gsize count , const SlotAsyncReady & slot, const Glib::RefPtr < Cancellable >& cancellable, int io_priority= Glib::PRIORITY_DEFAULT )
Request an asynchronous write of count bytes from buffer into the stream. More...

void write_async (const void* buffer, gsize count , const SlotAsyncReady & slot, int io_priority= Glib::PRIORITY_DEFAULT )
Request an asynchronous write of count bytes from buffer into the stream. More...

gssize write_finish (const Glib::RefPtr < AsyncResult >& result)
Finishes a stream write operation. More...

void write_all_async (const void* buffer, gsize count , const SlotAsyncReady & slot, const Glib::RefPtr < Cancellable >& cancellable, int io_priority= Glib::PRIORITY_DEFAULT )
Request an asynchronous write of count bytes from buffer into the stream. More...

void write_all_async (const void* buffer, gsize count , const SlotAsyncReady & slot, int io_priority= Glib::PRIORITY_DEFAULT )
Request an asynchronous write of count bytes from buffer into the stream. More...

bool write_all_finish (const Glib::RefPtr < AsyncResult >& result, gsize& bytes_written)
Finishes an asynchronous stream write operation started with g_output_stream_write_all_async(). More...

void splice_async (const Glib::RefPtr < InputStream >& source, const SlotAsyncReady & slot, const Glib::RefPtr < Cancellable >& cancellable, OutputStreamSpliceFlags flags= OUTPUT_STREAM_SPLICE_NONE , int io_priority= Glib::PRIORITY_DEFAULT )
Splices a stream asynchronously. More...

void splice_async (const Glib::RefPtr < InputStream >& source, const SlotAsyncReady & slot, OutputStreamSpliceFlags flags= OUTPUT_STREAM_SPLICE_NONE , int io_priority= Glib::PRIORITY_DEFAULT )
Splices a stream asynchronously. More...

gssize splice_finish (const Glib::RefPtr < AsyncResult >& result)
Finishes an asynchronous stream splice operation. More...

void flush_async (const SlotAsyncReady & slot, const Glib::RefPtr < Cancellable >& cancellable, int io_priority= Glib::PRIORITY_DEFAULT )
Flushes a stream asynchronously. More...

void flush_async (const SlotAsyncReady & slot, int io_priority= Glib::PRIORITY_DEFAULT )
Flushes a stream asynchronously. More...

bool flush_finish (const Glib::RefPtr < AsyncResult >& result)
Finishes flushing an output stream. More...

void close_async (const SlotAsyncReady & slot, const Glib::RefPtr < Cancellable >& cancellable, int io_priority= Glib::PRIORITY_DEFAULT )
Requests an asynchronous close of the stream, releasing resources related to it. More...

void close_async (const SlotAsyncReady & slot, int io_priority= Glib::PRIORITY_DEFAULT )
Requests an asynchronous close of the stream, releasing resources related to it. More...

bool close_finish (const Glib::RefPtr < AsyncResult >& result)
Closes an output stream. More...

- Public Member Functions inherited from Glib::Object
Object (const Object &)=delete
Object & operator= (const Object &)=delete
Object ( Object && src) noexcept
Object & operator= ( Object && src) noexcept
void* get_data (const QueryQuark & key)
void set_data (const Quark & key, void* data)
void set_data (const Quark & key, void* data, DestroyNotify notify)
void remove_data (const QueryQuark & quark)
void* steal_data (const QueryQuark & quark)
- Public Member Functions inherited from Glib::ObjectBase
ObjectBase (const ObjectBase &)=delete
ObjectBase & operator= (const ObjectBase &)=delete
void set_property_value (const Glib::ustring & property_name, const Glib::ValueBase & value)
You probably want to use a specific property_*() accessor method instead. More...

void get_property_value (const Glib::ustring & property_name, Glib::ValueBase & value) const
You probably want to use a specific property_*() accessor method instead. More...

template<class PropertyType >
void set_property (const Glib::ustring & property_name, const PropertyType& value)
You probably want to use a specific property_*() accessor method instead. More...

template<class PropertyType >
void get_property (const Glib::ustring & property_name, PropertyType& value) const
You probably want to use a specific property_*() accessor method instead. More...

void connect_property_changed (const Glib::ustring & property_name, const sigc::slot < void >& slot)
You can use the signal_changed() signal of the property proxy instead. More...

void connect_property_changed (const Glib::ustring & property_name, sigc::slot < void >&& slot)
You can use the signal_changed() signal of the property proxy instead. More...

sigc::connection connect_property_changed_with_return (const Glib::ustring & property_name, const sigc::slot < void >& slot)
You can use the signal_changed() signal of the property proxy instead. More...

sigc::connection connect_property_changed_with_return (const Glib::ustring & property_name, sigc::slot < void >&& slot)
You can use the signal_changed() signal of the property proxy instead. More...

void freeze_notify ()
Increases the freeze count on object. More...

void thaw_notify ()
Reverts the effect of a previous call to freeze_notify() . More...

virtual void reference () const
Increment the reference count for this object. More...

virtual void unreference () const
Decrement the reference count for this object. More...

GObject* gobj ()
Provides access to the underlying C GObject. More...

const GObject* gobj () const
Provides access to the underlying C GObject. More...

GObject* gobj_copy () const
Give a ref-ed copy to someone. Use for direct struct access. More...

- Public Member Functions inherited from sigc::trackable
trackable () noexcept
trackable (const trackable &src) noexcept
trackable ( trackable &&src)
~trackable ()
void add_destroy_notify_callback (void *data, func_destroy_notify func) const
void notify_callbacks ()
trackable & operator= (const trackable &src)
trackable & operator= ( trackable &&src)
void remove_destroy_notify_callback (void *data) const

Static Public Member Functions

static GType get_type ()
Get the GType for this class, for use with the underlying GObject type system. More...

static Glib::RefPtr < DataOutputStream > create (const Glib::RefPtr < OutputStream >& base_stream)
- Static Public Member Functions inherited from Gio::BufferedOutputStream
static GType get_type ()
Get the GType for this class, for use with the underlying GObject type system. More...

static Glib::RefPtr < BufferedOutputStream > create (const Glib::RefPtr < OutputStream >& base_stream)
Creates a new buffered output stream for a base stream. More...

static Glib::RefPtr < BufferedOutputStream > create_sized (const Glib::RefPtr < OutputStream >& base_stream, gsize buffer_size)
Creates a new buffered output stream with a given buffer size. More...

- Static Public Member Functions inherited from Gio::FilterOutputStream
static GType get_type ()
Get the GType for this class, for use with the underlying GObject type system. More...

- Static Public Member Functions inherited from Gio::OutputStream
static GType get_type ()
Get the GType for this class, for use with the underlying GObject type system. More...

Protected Member Functions

DataOutputStream (const Glib::RefPtr < OutputStream >& base_stream)
- Protected Member Functions inherited from Gio::BufferedOutputStream
BufferedOutputStream (const Glib::RefPtr < OutputStream >& base_stream)
BufferedOutputStream (const Glib::RefPtr < OutputStream >& base_stream, gsize buffer_size)
- Protected Member Functions inherited from Glib::Object
Object ()
Object (const Glib::ConstructParams& construct_params)
Object (GObject* castitem)
~Object () noexceptoverride
- Protected Member Functions inherited from Glib::ObjectBase
ObjectBase ()
This default constructor is called implicitly from the constructor of user-derived classes, even if, for instance, Gtk::Button calls a different ObjectBase constructor. More...

ObjectBase (const char* custom_type_name)
A derived constructor always overrides this choice. More...

ObjectBase (const std::type_info & custom_type_info)
This constructor is a special feature to allow creation of derived types on the fly, without having to use g_object_new() manually. More...

ObjectBase ( ObjectBase && src) noexcept
ObjectBase & operator= ( ObjectBase && src) noexcept
virtual ~ObjectBase () noexcept=0
void initialize (GObject* castitem)
void initialize_move (GObject* castitem, Glib::ObjectBase * previous_wrapper)

Related Functions

(Note that these are not member functions.)

Glib::RefPtr < Gio::DataOutputStream > wrap (GDataOutputStream* object, bool take_copy=false)
A Glib::wrap() method for this object. More...

Additional Inherited Members

- Public Types inherited from Glib::Object
using DestroyNotify = void(*)(gpointer data)
- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify

Detailed Description

An implementation of BufferedOutputStream that allows for high-level data manipulation of arbitrary data (including binary operations).

Since glibmm 2.16:

Constructor & Destructor Documentation

Gio::DataOutputStream::DataOutputStream ( DataOutputStream && src )
noexcept
Gio::DataOutputStream::~DataOutputStream ( )
override noexcept
Gio::DataOutputStream::DataOutputStream ( const Glib::RefPtr < OutputStream >& base_stream )
explicit protected

Member Function Documentation

static Glib::RefPtr < DataOutputStream > Gio::DataOutputStream::create ( const Glib::RefPtr < OutputStream >& base_stream )
static
DataStreamByteOrder Gio::DataOutputStream::get_byte_order ( ) const

Gets the byte order for the stream.

Returns
The DataStreamByteOrder for the stream .
static GType Gio::DataOutputStream::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

GDataOutputStream* Gio::DataOutputStream::gobj ( )
inline

Provides access to the underlying C GObject.

const GDataOutputStream* Gio::DataOutputStream::gobj ( ) const
inline

Provides access to the underlying C GObject.

GDataOutputStream* Gio::DataOutputStream::gobj_copy ( )

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

DataOutputStream & Gio::DataOutputStream::operator= ( DataOutputStream && src )
noexcept
Glib::PropertyProxy < DataStreamByteOrder > Gio::DataOutputStream::property_byte_order ( )

Determines the byte ordering that is used when writing multi-byte entities (such as integers) to the stream.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly < DataStreamByteOrder > Gio::DataOutputStream::property_byte_order ( ) const

Determines the byte ordering that is used when writing multi-byte entities (such as integers) to the stream.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
bool Gio::DataOutputStream::put_byte ( guchar data ,
const Glib::RefPtr < Cancellable >& cancellable
)

Puts a byte into the output stream.

Parameters
data A #guchar.
cancellable Optional Cancellable object, nullptr to ignore.
Returns
true if data was successfully added to the stream .
bool Gio::DataOutputStream::put_byte ( guchar data )

A put_byte() convenience overload.

bool Gio::DataOutputStream::put_int16 ( gint16 data ,
const Glib::RefPtr < Cancellable >& cancellable
)

Puts a signed 16-bit integer into the output stream.

Parameters
data A #gint16.
cancellable Optional Cancellable object, nullptr to ignore.
Returns
true if data was successfully added to the stream .
bool Gio::DataOutputStream::put_int16 ( gint16 data )

A put_int16() convenience overload.

bool Gio::DataOutputStream::put_int32 ( gint32 data ,
const Glib::RefPtr < Cancellable >& cancellable
)

Puts a signed 32-bit integer into the output stream.

Parameters
data A #gint32.
cancellable Optional Cancellable object, nullptr to ignore.
Returns
true if data was successfully added to the stream .
bool Gio::DataOutputStream::put_int32 ( gint32 data )

A put_int32() convenience overload.

bool Gio::DataOutputStream::put_int64 ( gint64 data ,
const Glib::RefPtr < Cancellable >& cancellable
)

Puts a signed 64-bit integer into the stream.

Parameters
data A #gint64.
cancellable Optional Cancellable object, nullptr to ignore.
Returns
true if data was successfully added to the stream .
bool Gio::DataOutputStream::put_int64 ( gint64 data )

A put_int64() convenience overload.

bool Gio::DataOutputStream::put_string ( std::string str ,
const Glib::RefPtr < Cancellable >& cancellable
)

Puts a string into the output stream.

Parameters
str A string.
cancellable Optional Cancellable object, nullptr to ignore.
Returns
true if string was successfully added to the stream .
bool Gio::DataOutputStream::put_string ( std::string str )

A put_string() convenience overload.

bool Gio::DataOutputStream::put_uint16 ( guint16 data ,
const Glib::RefPtr < Cancellable >& cancellable
)

Puts an unsigned 16-bit integer into the output stream.

Parameters
data A #guint16.
cancellable Optional Cancellable object, nullptr to ignore.
Returns
true if data was successfully added to the stream .
bool Gio::DataOutputStream::put_uint16 ( guint16 data )

A put_uint16() convenience overload.

bool Gio::DataOutputStream::put_uint32 ( guint32 data ,
const Glib::RefPtr < Cancellable >& cancellable
)

Puts an unsigned 32-bit integer into the stream.

Parameters
data A #guint32.
cancellable Optional Cancellable object, nullptr to ignore.
Returns
true if data was successfully added to the stream .
bool Gio::DataOutputStream::put_uint32 ( guint32 data )

A put_uint32() convenience overload.

bool Gio::DataOutputStream::put_uint64 ( guint64 data ,
const Glib::RefPtr < Cancellable >& cancellable
)

Puts an unsigned 64-bit integer into the stream.

Parameters
data A #guint64.
cancellable Optional Cancellable object, nullptr to ignore.
Returns
true if data was successfully added to the stream .
bool Gio::DataOutputStream::put_uint64 ( guint64 data )

A put_uint64() convenience overload.

void Gio::DataOutputStream::set_byte_order ( DataStreamByteOrder order )

Sets the byte order of the data output stream to order .

Parameters
order A DataStreamByteOrder.

Friends And Related Function Documentation

Glib::RefPtr < Gio::DataOutputStream > wrap ( GDataOutputStream * 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.