| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/gtk-doc/html/gio/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GFileIOStream</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GIO Reference Manual">
<link rel="up" href="streaming.html" title="Streaming I/O">
<link rel="prev" href="GFileOutputStream.html" title="GFileOutputStream">
<link rel="next" href="GFilterInputStream.html" title="GFilterInputStream">
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="pt01.html" title="Part I. GIO Overview">
<link rel="chapter" href="ch01.html" title="Introduction">
<link rel="chapter" href="ch02.html" title="Compiling GIO applications">
<link rel="chapter" href="ch03.html" title="Running GIO applications">
<link rel="chapter" href="extending-gio.html" title="Extending GIO">
<link rel="part" href="pt02.html" title="Part II. API Reference">
<link rel="chapter" href="file_ops.html" title="File Operations">
<link rel="chapter" href="file_mon.html" title="File System Monitoring">
<link rel="chapter" href="async.html" title="Asynchronous I/O">
<link rel="chapter" href="streaming.html" title="Streaming I/O">
<link rel="chapter" href="types.html" title="File types and applications">
<link rel="chapter" href="volume_mon.html" title="Volumes and Drives">
<link rel="chapter" href="icons.html" title="Icons">
<link rel="chapter" href="failable_initialization.html" title="Failable Initialization">
<link rel="chapter" href="networking.html" title="Lowlevel platform-independent network support">
<link rel="chapter" href="resolver.html" title="DNS resolution">
<link rel="chapter" href="highlevel-socket.html" title="Highlevel network functionallity">
<link rel="chapter" href="utils.html" title="Utilities">
<link rel="chapter" href="extending.html" title="Extending GIO">
<link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
<link rel="chapter" href="ch18.html" title="Migrating from POSIX to GIO">
<link rel="chapter" href="ch19.html" title="Migrating from GnomeVFS to GIO">
<link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
<link rel="index" href="ix01.html" title="Index">
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
<link rel="index" href="ix03.html" title="Index of new symbols in 2.18">
<link rel="index" href="ix04.html" title="Index of new symbols in 2.20">
<link rel="index" href="ix05.html" title="Index of new symbols in 2.22">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="GFileOutputStream.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="streaming.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GIO Reference Manual</th>
<td><a accesskey="n" href="GFilterInputStream.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#GFileIOStream.synopsis" class="shortcut">Top</a>
|
<a href="#GFileIOStream.description" class="shortcut">Description</a>
|
<a href="#GFileIOStream.object-hierarchy" class="shortcut">Object Hierarchy</a>
|
<a href="#GFileIOStream.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
</td></tr>
</table>
<div class="refentry" title="GFileIOStream">
<a name="GFileIOStream"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GFileIOStream.top_of_page"></a>GFileIOStream</span></h2>
<p>GFileIOStream — File read and write streaming operations</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="GFileIOStream.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include <gio/gio.h>
<a class="link" href="GFileIOStream.html#GFileIOStream-struct" title="GFileIOStream">GFileIOStream</a>;
char * <a class="link" href="GFileIOStream.html#g-file-io-stream-get-etag" title="g_file_io_stream_get_etag ()">g_file_io_stream_get_etag</a> (<a class="link" href="GFileIOStream.html" title="GFileIOStream">GFileIOStream</a> *stream);
<a class="link" href="GFileInfo.html" title="GFileInfo">GFileInfo</a> * <a class="link" href="GFileIOStream.html#g-file-io-stream-query-info" title="g_file_io_stream_query_info ()">g_file_io_stream_query_info</a> (<a class="link" href="GFileIOStream.html" title="GFileIOStream">GFileIOStream</a> *stream,
const char *attributes,
<a class="link" href="GCancellable.html" title="GCancellable">GCancellable</a> *cancellable,
<a
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
>GError</a> **error);
void <a class="link" href="GFileIOStream.html#g-file-io-stream-query-info-async" title="g_file_io_stream_query_info_async ()">g_file_io_stream_query_info_async</a> (<a class="link" href="GFileIOStream.html" title="GFileIOStream">GFileIOStream</a> *stream,
const char *attributes,
int io_priority,
<a class="link" href="GCancellable.html" title="GCancellable">GCancellable</a> *cancellable,
<a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()">GAsyncReadyCallback</a> callback,
<a
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);
<a class="link" href="GFileInfo.html" title="GFileInfo">GFileInfo</a> * <a class="link" href="GFileIOStream.html#g-file-io-stream-query-info-finish" title="g_file_io_stream_query_info_finish ()">g_file_io_stream_query_info_finish</a> (<a class="link" href="GFileIOStream.html" title="GFileIOStream">GFileIOStream</a> *stream,
<a class="link" href="GAsyncResult.html" title="GAsyncResult">GAsyncResult</a> *result,
<a
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
>GError</a> **error);
</pre>
</div>
<div class="refsect1" title="Object Hierarchy">
<a name="GFileIOStream.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
<a
href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
>GObject</a>
+----<a class="link" href="GIOStream.html" title="GIOStream">GIOStream</a>
+----GFileIOStream
</pre>
</div>
<div class="refsect1" title="Implemented Interfaces">
<a name="GFileIOStream.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GFileIOStream implements
<a class="link" href="GSeekable.html" title="GSeekable">GSeekable</a>.</p>
</div>
<div class="refsect1" title="Description">
<a name="GFileIOStream.description"></a><h2>Description</h2>
<p>
GFileIOStream provides io streams that both read and write to the same
file handle.
</p>
<p>
GFileIOStream implements <a class="link" href="GSeekable.html" title="GSeekable"><span class="type">GSeekable</span></a>, which allows the io
stream to jump to arbitrary positions in the file and to truncate
the file, provided the filesystem of the file supports these
operations.
</p>
<p>
To find the position of a file io stream, use
<a class="link" href="GSeekable.html#g-seekable-tell" title="g_seekable_tell ()"><code class="function">g_seekable_tell()</code></a>.
</p>
<p>
To find out if a file io stream supports seeking, use <a class="link" href="GSeekable.html#g-seekable-can-seek" title="g_seekable_can_seek ()"><code class="function">g_seekable_can_seek()</code></a>.
To position a file io stream, use <a class="link" href="GSeekable.html#g-seekable-seek" title="g_seekable_seek ()"><code class="function">g_seekable_seek()</code></a>.
To find out if a file io stream supports truncating, use
<a class="link" href="GSeekable.html#g-seekable-can-truncate" title="g_seekable_can_truncate ()"><code class="function">g_seekable_can_truncate()</code></a>. To truncate a file io
stream, use <a class="link" href="GSeekable.html#g-seekable-truncate" title="g_seekable_truncate ()"><code class="function">g_seekable_truncate()</code></a>.
</p>
<p>
The default implementation of all the <a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="type">GFileIOStream</span></a> operations
and the implementation of <a class="link" href="GSeekable.html" title="GSeekable"><span class="type">GSeekable</span></a> just call into the same operations
on the output stream.</p>
<p>
</p>
</div>
<div class="refsect1" title="Details">
<a name="GFileIOStream.details"></a><h2>Details</h2>
<div class="refsect2" title="GFileIOStream">
<a name="GFileIOStream-struct"></a><h3>GFileIOStream</h3>
<pre class="programlisting">typedef struct _GFileIOStream GFileIOStream;</pre>
<p>
A subclass of GIOStream for opened files. This adds
a few file-specific operations and seeking and truncating.
</p>
<p>
<a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="type">GFileIOStream</span></a> implements GSeekable.</p>
<p>
</p>
</div>
<hr>
<div class="refsect2" title="g_file_io_stream_get_etag ()">
<a name="g-file-io-stream-get-etag"></a><h3>g_file_io_stream_get_etag ()</h3>
<pre class="programlisting">char * g_file_io_stream_get_etag (<a class="link" href="GFileIOStream.html" title="GFileIOStream">GFileIOStream</a> *stream);</pre>
<p>
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.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
<td> a <a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="type">GFileIOStream</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the entity tag for the stream.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_file_io_stream_query_info ()">
<a name="g-file-io-stream-query-info"></a><h3>g_file_io_stream_query_info ()</h3>
<pre class="programlisting"><a class="link" href="GFileInfo.html" title="GFileInfo">GFileInfo</a> * g_file_io_stream_query_info (<a class="link" href="GFileIOStream.html" title="GFileIOStream">GFileIOStream</a> *stream,
const char *attributes,
<a class="link" href="GCancellable.html" title="GCancellable">GCancellable</a> *cancellable,
<a
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Queries a file io stream for the given <em class="parameter"><code>attributes</code></em>.
This function blocks while querying the stream. For the asynchronous
version of this function, see <a class="link" href="GFileIOStream.html#g-file-io-stream-query-info-async" title="g_file_io_stream_query_info_async ()"><code class="function">g_file_io_stream_query_info_async()</code></a>.
While the stream is blocked, the stream will set the pending flag
internally, and any other operations on the stream will fail with
<a class="link" href="gio-GIOError.html#G-IO-ERROR-PENDING--CAPS"><code class="literal">G_IO_ERROR_PENDING</code></a>.
</p>
<p>
Can fail if the stream was already closed (with <em class="parameter"><code>error</code></em> being set to
<a class="link" href="gio-GIOError.html#G-IO-ERROR-CLOSED--CAPS"><code class="literal">G_IO_ERROR_CLOSED</code></a>), the stream has pending operations (with <em class="parameter"><code>error</code></em> being
set to <a class="link" href="gio-GIOError.html#G-IO-ERROR-PENDING--CAPS"><code class="literal">G_IO_ERROR_PENDING</code></a>), or if querying info is not supported for
the stream's interface (with <em class="parameter"><code>error</code></em> being set to <a class="link" href="gio-GIOError.html#G-IO-ERROR-NOT-SUPPORTED--CAPS"><code class="literal">G_IO_ERROR_NOT_SUPPORTED</code></a>). I
all cases of failure, <a
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a> will be returned.
</p>
<p>
If <em class="parameter"><code>cancellable</code></em> is not <a
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error <a class="link" href="gio-GIOError.html#G-IO-ERROR-CANCELLED--CAPS"><code class="literal">G_IO_ERROR_CANCELLED</code></a> will be set, and <a
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a> will
be returned.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
<td> a <a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="type">GFileIOStream</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>attributes</code></em> :</span></p></td>
<td> a file attribute query string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
<td> optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a> to ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td> a <a
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
><span class="type">GError</span></a>, <a
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a> to ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a <a class="link" href="GFileInfo.html" title="GFileInfo"><span class="type">GFileInfo</span></a> for the <em class="parameter"><code>stream</code></em>, or <a
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a> on error.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_file_io_stream_query_info_async ()">
<a name="g-file-io-stream-query-info-async"></a><h3>g_file_io_stream_query_info_async ()</h3>
<pre class="programlisting">void g_file_io_stream_query_info_async (<a class="link" href="GFileIOStream.html" title="GFileIOStream">GFileIOStream</a> *stream,
const char *attributes,
int io_priority,
<a class="link" href="GCancellable.html" title="GCancellable">GCancellable</a> *cancellable,
<a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()">GAsyncReadyCallback</a> callback,
<a
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);</pre>
<p>
Asynchronously queries the <em class="parameter"><code>stream</code></em> for a <a class="link" href="GFileInfo.html" title="GFileInfo"><span class="type">GFileInfo</span></a>. When completed,
<em class="parameter"><code>callback</code></em> will be called with a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> which can be used to
finish the operation with <a class="link" href="GFileIOStream.html#g-file-io-stream-query-info-finish" title="g_file_io_stream_query_info_finish ()"><code class="function">g_file_io_stream_query_info_finish()</code></a>.
</p>
<p>
For the synchronous version of this function, see
<a class="link" href="GFileIOStream.html#g-file-io-stream-query-info" title="g_file_io_stream_query_info ()"><code class="function">g_file_io_stream_query_info()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
<td> a <a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="type">GFileIOStream</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>attributes</code></em> :</span></p></td>
<td> a file attribute query string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>io_priority</code></em> :</span></p></td>
<td> the <a class="link" href="gio-GIOScheduler.html" title="GIOScheduler">I/O priority</a>
of the request.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
<td> optional <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> object, <a
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a> to ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
<td> callback to call when the request is satisfied
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td> the data to pass to callback function
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
<hr>
<div class="refsect2" title="g_file_io_stream_query_info_finish ()">
<a name="g-file-io-stream-query-info-finish"></a><h3>g_file_io_stream_query_info_finish ()</h3>
<pre class="programlisting"><a class="link" href="GFileInfo.html" title="GFileInfo">GFileInfo</a> * g_file_io_stream_query_info_finish (<a class="link" href="GFileIOStream.html" title="GFileIOStream">GFileIOStream</a> *stream,
<a class="link" href="GAsyncResult.html" title="GAsyncResult">GAsyncResult</a> *result,
<a
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Finalizes the asynchronous query started
by <a class="link" href="GFileIOStream.html#g-file-io-stream-query-info-async" title="g_file_io_stream_query_info_async ()"><code class="function">g_file_io_stream_query_info_async()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
<td> a <a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="type">GFileIOStream</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
<td> a <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td> a <a
href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"
><span class="type">GError</span></a>, <a
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a> to ignore.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A <a class="link" href="GFileInfo.html" title="GFileInfo"><span class="type">GFileInfo</span></a> for the finished query.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.22</p>
</div>
</div>
<div class="refsect1" title="See Also">
<a name="GFileIOStream.see-also"></a><h2>See Also</h2>
#GIOStream, <a class="link" href="GFileInputStream.html" title="GFileInputStream"><span class="type">GFileInputStream</span></a>, <a class="link" href="GFileOutputStream.html" title="GFileOutputStream"><span class="type">GFileOutputStream</span></a>, <a class="link" href="GSeekable.html" title="GSeekable"><span class="type">GSeekable</span></a>
</div>
</div>
<div class="footer">
<hr>
Generated by GTK-Doc V1.11</div>
</body>
</html>