glibmm 2.66.8
Gio::Seekable Class Reference

Stream seeking interface. More...

#include <giomm/seekable.h>

Inheritance diagram for Gio::Seekable:

Public Member Functions

 Seekable (Seekable && src) noexcept
 
Seekableoperator= (Seekable && src) noexcept
 
 ~Seekable () noexcept override
 
GSeekable * gobj ()
 Provides access to the underlying C GObject.
 
const GSeekable * gobj () const
 Provides access to the underlying C GObject.
 
goffset tell () const
 Tells the current position within the stream.
 
bool can_seek () const
 Tests if the stream supports the SeekableIface.
 
bool seek (goffset offset, Glib::SeekType type, const Glib::RefPtr< Cancellable > & cancellable)
 Seeks in the stream by the given offset, modified by type.
 
bool seek (goffset offset, Glib::SeekType type)
 A seek() convenience overload.
 
bool can_truncate () const
 Tests if the length of the stream can be adjusted with g_seekable_truncate().
 
bool truncate (goffset offset, const Glib::RefPtr< Cancellable > & cancellable)
 Truncates a stream with a given #offset.
 
bool truncate (goffset offset)
 A truncate() convenience overload.
 
- Public Member Functions inherited from Glib::Interface
 Interface ()
 A Default constructor.
 
 Interface (Interface && src) noexcept
 
Interfaceoperator= (Interface && src) noexcept
 
 Interface (const Glib::Interface_Class & interface_class)
 Called by constructors of derived classes.
 
 Interface (GObject * castitem)
 Called by constructors of derived classes.
 
 ~Interface () noexcept override
 
 Interface (const Interface &)=delete
 
Interfaceoperator= (const Interface &)=delete
 
GObject * gobj ()
 
const GObject * gobj () const
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (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.
 
void get_property_value (const Glib::ustring & property_name, Glib::ValueBase & value) const
 You probably want to use a specific property_*() accessor method instead.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
void freeze_notify ()
 Increases the freeze count on object.
 
void thaw_notify ()
 Reverts the effect of a previous call to freeze_notify().
 
virtual void reference () const
 Increment the reference count for this object.
 
virtual void unreference () const
 Decrement the reference count for this object.
 
GObject * gobj ()
 Provides access to the underlying C GObject.
 
const GObject * gobj () const
 Provides access to the underlying C GObject.
 
GObject * gobj_copy () const
 Give a ref-ed copy to someone. Use for direct struct access.
 

Static Public Member Functions

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

Protected Member Functions

 Seekable ()
 You should derive from this class to use it.
 
- 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.
 
 ObjectBase (const char * custom_type_name)
 A derived constructor always overrides this choice.
 
 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.
 
 ObjectBase (ObjectBase && src) noexcept
 
ObjectBaseoperator= (ObjectBase && src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject * castitem)
 
void initialize_move (GObject * castitem, Glib::ObjectBase * previous_wrapper)
 

Related Symbols

(Note that these are not member symbols.)

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

Detailed Description

Stream seeking interface.

Seekable is implemented by streams (implementations of InputStream or OutputStream) that support seeking. To find the position of a stream, use tell(). To find out if a stream supports seeking, use can_seek(). To position a stream, use seek(). To find out if a stream supports truncating, use can_truncate(). To truncate a stream, use truncate().

Since glibmm 2.16

Constructor & Destructor Documentation

◆ Seekable() [1/2]

Gio::Seekable::Seekable ( )
protected

You should derive from this class to use it.

◆ Seekable() [2/2]

Gio::Seekable::Seekable ( Seekable && src)
noexcept

◆ ~Seekable()

Gio::Seekable::~Seekable ( )
overridenoexcept

Member Function Documentation

◆ add_interface()

static void Gio::Seekable::add_interface ( GType gtype_implementer)
static

◆ can_seek()

bool Gio::Seekable::can_seek ( ) const

Tests if the stream supports the SeekableIface.

Returns
true if seekable can be seeked. false otherwise.

◆ can_truncate()

bool Gio::Seekable::can_truncate ( ) const

Tests if the length of the stream can be adjusted with g_seekable_truncate().

Returns
true if the stream can be truncated, false otherwise.

◆ get_type()

static GType Gio::Seekable::get_type ( )
static

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

◆ gobj() [1/2]

GSeekable * Gio::Seekable::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GSeekable * Gio::Seekable::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ operator=()

Seekable & Gio::Seekable::operator= ( Seekable && src)
noexcept

◆ seek() [1/2]

bool Gio::Seekable::seek ( goffset offset,
Glib::SeekType type )

A seek() convenience overload.

◆ seek() [2/2]

bool Gio::Seekable::seek ( goffset offset,
Glib::SeekType type,
const Glib::RefPtr< Cancellable > & cancellable )

Seeks in the stream by the given offset, modified by type.

The operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, a Gio::Error will be thrown with CANCELLED.

Parameters
offsetA #goffset.
typeA SeekType.
cancellableCancellable object.
Returns
true if successful. If an error has occurred, this function will return false and set error appropriately if present.
Exceptions
Glib::Error

◆ tell()

goffset Gio::Seekable::tell ( ) const

Tells the current position within the stream.

Returns
The offset from the beginning of the buffer.

◆ truncate() [1/2]

bool Gio::Seekable::truncate ( goffset offset)

A truncate() convenience overload.

◆ truncate() [2/2]

bool Gio::Seekable::truncate ( goffset offset,
const Glib::RefPtr< Cancellable > & cancellable )

Truncates a stream with a given #offset.

The operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, a Gio::Error will be thrown with CANCELLED. If an operation was partially finished when the operation was cancelled the partial result will be returned, without an error.

Parameters
offsetA #goffset.
cancellableCancellable object.
Returns
true if successful. If an error has occurred, this function will return false and set error appropriately if present.
Exceptions
Glib::Error

Friends And Related Symbol Documentation

◆ wrap()

Glib::RefPtr< Gio::Seekable > wrap ( GSeekable * object,
bool take_copy = false )
related

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

Parameters
objectThe C instance.
take_copyFalse 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.