Class

GioFileOutputStream

Description [src]

class Gio.FileOutputStream : Gio.OutputStream {
  parent_instance: GOutputStream
}

GFileOutputStream provides output streams that write their content to a file.

GFileOutputStream implements GSeekable, which allows the output stream to jump to arbitrary positions in the file and to truncate the file, provided the filesystem of the file supports these operations.

To find the position of a file output stream, use g_seekable_tell(). To find out if a file output stream supports seeking, use g_seekable_can_seek().To position a file output stream, use g_seekable_seek(). To find out if a file output stream supports truncating, use g_seekable_can_truncate(). To truncate a file output stream, use g_seekable_truncate().

Hierarchy

hierarchy this GFileOutputStream implements_0 GSeekable this--implements_0 ancestor_0 GOutputStream ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

Implements

Instance methods

g_file_output_stream_get_etag

Gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing.

g_file_output_stream_query_info

Queries a file output stream for the given attributes. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_output_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with G_IO_ERROR_PENDING.

g_file_output_stream_query_info_async

Asynchronously queries the stream for a GFileInfo. When completed, callback will be called with a GAsyncResult which can be used to finish the operation with g_file_output_stream_query_info_finish().

g_file_output_stream_query_info_finish

Finalizes the asynchronous query started by g_file_output_stream_query_info_async().

Methods inherited from GOutputStream (31)
g_output_stream_clear_pending

Clears the pending flag on stream.

g_output_stream_close

Closes the stream, releasing resources related to it.

g_output_stream_close_async

Requests an asynchronous close of the stream, releasing resources related to it. When the operation is finished callback will be called. You can then call g_output_stream_close_finish() to get the result of the operation.

g_output_stream_close_finish

Closes an output stream.

g_output_stream_flush

Forces a write of all user-space buffered data for the given stream. Will block during the operation. Closing the stream will implicitly cause a flush.

g_output_stream_flush_async

Forces an asynchronous write of all user-space buffered data for the given stream. For behaviour details see g_output_stream_flush().

g_output_stream_flush_finish

Finishes flushing an output stream.

g_output_stream_has_pending

Checks if an output stream has pending actions.

g_output_stream_is_closed

Checks if an output stream has already been closed.

g_output_stream_is_closing

Checks if an output stream is being closed. This can be used inside e.g. a flush implementation to see if the flush (or other i/o operation) is called from within the closing operation.

Available since: 2.24

g_output_stream_printf

This is a utility function around g_output_stream_write_all(). It uses g_strdup_vprintf() to turn format and @… into a string that is then written to stream.

Available since: 2.40

g_output_stream_set_pending

Sets stream to have actions pending. If the pending flag is already set or stream is closed, it will return FALSE and set error.

g_output_stream_splice

Splices an input stream into an output stream.

g_output_stream_splice_async

Splices a stream asynchronously. When the operation is finished callback will be called. You can then call g_output_stream_splice_finish() to get the result of the operation.

g_output_stream_splice_finish

Finishes an asynchronous stream splice operation.

g_output_stream_vprintf

This is a utility function around g_output_stream_write_all(). It uses g_strdup_vprintf() to turn format and args into a string that is then written to stream.

Available since: 2.40

g_output_stream_write

Tries to write count bytes from buffer into the stream. Will block during the operation.

g_output_stream_write_all

Tries to write count bytes from buffer into the stream. Will block during the operation.

g_output_stream_write_all_async

Request an asynchronous write of count bytes from buffer into the stream. When the operation is finished callback will be called. You can then call g_output_stream_write_all_finish() to get the result of the operation.

Available since: 2.44

g_output_stream_write_all_finish

Finishes an asynchronous stream write operation started with g_output_stream_write_all_async().

Available since: 2.44

g_output_stream_write_async

Request an asynchronous write of count bytes from buffer into the stream. When the operation is finished callback will be called. You can then call g_output_stream_write_finish() to get the result of the operation.

g_output_stream_write_bytes

A wrapper function for g_output_stream_write() which takes a GBytes as input. This can be more convenient for use by language bindings or in other cases where the refcounted nature of GBytes is helpful over a bare pointer interface.

g_output_stream_write_bytes_async

This function is similar to g_output_stream_write_async(), but takes a GBytes as input. Due to the refcounted nature of GBytes, this allows the stream to avoid taking a copy of the data.

Methods inherited from GObject (43)
Methods inherited from GSeekable (5)
g_seekable_can_seek

Tests if the stream supports the GSeekableIface.

g_seekable_can_truncate

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

g_seekable_seek

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

g_seekable_tell

Tells the current position within the stream.

g_seekable_truncate

Sets the length of the stream to offset. If the stream was previously larger than offset, the extra data is discarded. If the stream was previously shorter than offset, it is extended with NUL (‘\0’) bytes.

Signals

Signals inherited from GObject (1)

Class structure

struct GioFileOutputStreamClass {
  GOutputStreamClass parent_class;
  goffset (* tell) (
    GFileOutputStream* stream
  );
  gboolean (* can_seek) (
    GFileOutputStream* stream
  );
  gboolean (* seek) (
    GFileOutputStream* stream,
    goffset offset,
    GSeekType type,
    GCancellable* cancellable,
    GError** error
  );
  gboolean (* can_truncate) (
    GFileOutputStream* stream
  );
  gboolean (* truncate_fn) (
    GFileOutputStream* stream,
    goffset size,
    GCancellable* cancellable,
    GError** error
  );
  GFileInfo* (* query_info) (
    GFileOutputStream* stream,
    const char* attributes,
    GCancellable* cancellable,
    GError** error
  );
  void (* query_info_async) (
    GFileOutputStream* stream,
    const char* attributes,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  GFileInfo* (* query_info_finish) (
    GFileOutputStream* stream,
    GAsyncResult* result,
    GError** error
  );
  char* (* get_etag) (
    GFileOutputStream* stream
  );
  void (* _g_reserved1) (
void
  );
  void (* _g_reserved2) (
void
  );
  void (* _g_reserved3) (
void
  );
  void (* _g_reserved4) (
void
  );
  void (* _g_reserved5) (
void
  );
  
}
Class members
parent_class
GOutputStreamClass
  No description available.
tell
goffset (* tell) (
    GFileOutputStream* stream
  )
  No description available.
can_seek
gboolean (* can_seek) (
    GFileOutputStream* stream
  )
  No description available.
seek
gboolean (* seek) (
    GFileOutputStream* stream,
    goffset offset,
    GSeekType type,
    GCancellable* cancellable,
    GError** error
  )
  No description available.
can_truncate
gboolean (* can_truncate) (
    GFileOutputStream* stream
  )
  No description available.
truncate_fn
gboolean (* truncate_fn) (
    GFileOutputStream* stream,
    goffset size,
    GCancellable* cancellable,
    GError** error
  )
  No description available.
query_info
GFileInfo* (* query_info) (
    GFileOutputStream* stream,
    const char* attributes,
    GCancellable* cancellable,
    GError** error
  )
  No description available.
query_info_async
void (* query_info_async) (
    GFileOutputStream* stream,
    const char* attributes,
    int io_priority,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  )
  No description available.
query_info_finish
GFileInfo* (* query_info_finish) (
    GFileOutputStream* stream,
    GAsyncResult* result,
    GError** error
  )
  No description available.
get_etag
char* (* get_etag) (
    GFileOutputStream* stream
  )
  No description available.
_g_reserved1
void (* _g_reserved1) (
void
  )
  No description available.
_g_reserved2
void (* _g_reserved2) (
void
  )
  No description available.
_g_reserved3
void (* _g_reserved3) (
void
  )
  No description available.
_g_reserved4
void (* _g_reserved4) (
void
  )
  No description available.
_g_reserved5
void (* _g_reserved5) (
void
  )
  No description available.

Virtual methods

Gio.FileOutputStreamClass.can_seek
No description available.
Gio.FileOutputStreamClass.can_truncate
No description available.
Gio.FileOutputStreamClass.get_etag

Gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing.

Gio.FileOutputStreamClass.query_info

Queries a file output stream for the given attributes. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_output_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail with G_IO_ERROR_PENDING.

Gio.FileOutputStreamClass.query_info_async

Asynchronously queries the stream for a GFileInfo. When completed, callback will be called with a GAsyncResult which can be used to finish the operation with g_file_output_stream_query_info_finish().

Gio.FileOutputStreamClass.query_info_finish

Finalizes the asynchronous query started by g_file_output_stream_query_info_async().

Gio.FileOutputStreamClass.seek
No description available.
Gio.FileOutputStreamClass.tell
No description available.
Gio.FileOutputStreamClass.truncate_fn
No description available.