GFileInputStream

GFileInputStream — File input streaming operations

Synopsis


#include <gio/gio.h>

                    GFileInputStream;
GFileInfo *         g_file_input_stream_query_info      (GFileInputStream *stream,
                                                         const char *attributes,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                g_file_input_stream_query_info_async
                                                        (GFileInputStream *stream,
                                                         const char *attributes,
                                                         int io_priority,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
GFileInfo *         g_file_input_stream_query_info_finish
                                                        (GFileInputStream *stream,
                                                         GAsyncResult *result,
                                                         GError **error);

Object Hierarchy

  GObject
   +----GInputStream
         +----GFileInputStream

Implemented Interfaces

GFileInputStream implements GSeekable.

Description

GFileInputStream provides input streams that take their content from a file.

GFileInputStream implements GSeekable, which allows the input stream to jump to arbitrary positions in the file, provided the filesystem of the file allows it. In addition to the generic g_seekable_ API, GFileInputStream has its own API for seeking and positioning. To find the position of a file input stream, use g_file_input_stream_tell(). To find out if a file input stream supports seeking, use g_file_input_stream_can_seek(). To position a file input stream, use g_file_input_stream_seek().

Details

GFileInputStream

typedef struct _GFileInputStream GFileInputStream;

A subclass of GInputStream for opened files. This adds a few file-specific operations and seeking.

GFileInputStream implements GSeekable.


g_file_input_stream_query_info ()

GFileInfo *         g_file_input_stream_query_info      (GFileInputStream *stream,
                                                         const char *attributes,
                                                         GCancellable *cancellable,
                                                         GError **error);

Queries a file input stream the given attributes. This function blocks while querying the stream. For the asynchronous (non-blocking) version of this function, see g_file_input_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.

stream :

a GFileInputStream.

attributes :

a file attribute query string.

cancellable :

optional GCancellable object, NULL to ignore.

error :

a GError location to store the error occuring, or NULL to ignore.

Returns :

a GFileInfo, or NULL on error.

g_file_input_stream_query_info_async ()

void                g_file_input_stream_query_info_async
                                                        (GFileInputStream *stream,
                                                         const char *attributes,
                                                         int io_priority,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Queries the stream information asynchronously. When the operation is finished callback will be called. You can then call g_file_input_stream_query_info_finish() to get the result of the operation.

For the synchronous version of this function, see g_file_input_stream_query_info().

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

stream :

a GFileInputStream.

attributes :

a file attribute query string.

io_priority :

the I/O priority of the request.

cancellable :

optional GCancellable object, NULL to ignore.

callback :

callback to call when the request is satisfied

user_data :

the data to pass to callback function

g_file_input_stream_query_info_finish ()

GFileInfo *         g_file_input_stream_query_info_finish
                                                        (GFileInputStream *stream,
                                                         GAsyncResult *result,
                                                         GError **error);

Finishes an asynchronous info query operation.

stream :

a GFileInputStream.

result :

a GAsyncResult.

error :

a GError location to store the error occuring, or NULL to ignore.

Returns :

GFileInfo.

See Also

#GInputStream, GDataInputStream, GSeekable