![]() |
![]() |
![]() |
GIO Reference Manual | ![]() |
---|---|---|---|---|
#include <gio.h> GFileOutputStream; GFileInfo* g_file_output_stream_query_info (GFileOutputStream *stream, char *attributes, GCancellable *cancellable, GError **error); void g_file_output_stream_query_info_async (GFileOutputStream *stream, char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GFileInfo* g_file_output_stream_query_info_finish (GFileOutputStream *stream, GAsyncResult *result, GError **error); char* g_file_output_stream_get_etag (GFileOutputStream *stream); goffset g_file_output_stream_tell (GFileOutputStream *stream); gboolean g_file_output_stream_can_seek (GFileOutputStream *stream); gboolean g_file_output_stream_seek (GFileOutputStream *stream, goffset offset, GSeekType type, GCancellable *cancellable, GError **error); gboolean g_file_output_stream_can_truncate (GFileOutputStream *stream); gboolean g_file_output_stream_truncate (GFileOutputStream *stream, goffset size, GCancellable *cancellable, GError **error);
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. In addition to the generic g_seekable_ API,
GFileOutputStream has its own API for seeking and positioning.
To find the position of a file output stream, use
g_file_output_stream_tell()
. To find out if a file output
stream supports seeking, use g_file_output_stream_can_seek()
.
To position a file output stream, use g_file_output_stream_seek()
.
To find out if a file output stream supports truncating, use
g_file_output_stream_can_truncate()
. To truncate a file output
stream, use g_file_output_stream_truncate()
.
typedef struct _GFileOutputStream GFileOutputStream;
A subclass of GOutputStream for opened files. This adds a few file-specific operations and seeking and truncating.
GFileOutputStream implements GSeekable.
GFileInfo* g_file_output_stream_query_info (GFileOutputStream *stream, char *attributes, GCancellable *cancellable, GError **error);
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
.
Can fail if the stream was already closed (with error
being set to
G_IO_ERROR_CLOSED
), the stream has pending operations (with error
being
set to G_IO_ERROR_PENDING
), or if querying info is not supported for
the stream's interface (with error
being set to G_IO_ERROR_NOT_SUPPORTED
). In
all cases of failure, NULL
will be returned.
If cancellable
is not NULL
, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error G_IO_ERROR_CANCELLED
will be set, and NULL
will
be returned.
|
a GFileOutputStream. |
|
a file attribute query string. |
|
optional GCancellable object, NULL to ignore.
|
|
a GError, NULL to ignore.
|
Returns : |
a GFileInfo for the stream , or NULL on error.
|
void g_file_output_stream_query_info_async (GFileOutputStream *stream, char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
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()
.
For the synchronous version of this function, see
g_file_output_stream_query_info()
.
|
a GFileOutputStream. |
|
a file attribute query string. |
|
the I/O priority of the request. |
|
optional GCancellable object, NULL to ignore.
|
|
callback to call when the request is satisfied |
|
the data to pass to callback function |
GFileInfo* g_file_output_stream_query_info_finish (GFileOutputStream *stream, GAsyncResult *result, GError **error);
Finalizes the asynchronous query started
by g_file_output_stream_query_info_async()
.
|
a GFileOutputStream. |
|
a GAsyncResult. |
|
a GError, NULL to ignore.
|
Returns : |
A GFileInfo for the finished query. |
char* g_file_output_stream_get_etag (GFileOutputStream *stream);
Gets the entity tag for the file when its been written. This must be called after the stream has been written and closed. As the etag can change while writing.
|
a GFileOutputStream. |
Returns : |
the entity tag for the stream. |
goffset g_file_output_stream_tell (GFileOutputStream *stream);
Gets the current location within the stream.
|
a GFileOutputStream. |
Returns : |
a goffset of the location within the stream. |
gboolean g_file_output_stream_can_seek (GFileOutputStream *stream);
Checks if the stream can be seeked.
|
a GFileOutputStream. |
Returns : |
TRUE if seeking is supported by the stream.
|
gboolean g_file_output_stream_seek (GFileOutputStream *stream, goffset offset, GSeekType type, GCancellable *cancellable, GError **error);
Seeks to a location in a file output stream.
|
a GFileOutputStream. |
|
a goffset to seek. |
|
a GSeekType. |
|
optional GCancellable object, NULL to ignore.
|
|
a GError, NULL to ignore.
|
Returns : |
TRUE if the seek was successful. FALSE otherwise.
|
gboolean g_file_output_stream_can_truncate (GFileOutputStream *stream);
Checks if the stream can be truncated.
|
a GFileOutputStream. |
Returns : |
TRUE if stream can be truncated.
|
gboolean g_file_output_stream_truncate (GFileOutputStream *stream, goffset size, GCancellable *cancellable, GError **error);
Truncates a file output stream.
|
a GFileOutputStream. |
|
a goffset to truncate the stream at. |
|
optional GCancellable object, NULL to ignore.
|
|
a GError, NULL to ignore.
|
Returns : |
TRUE if stream is truncated successfully.
|