source: trunk/doc/html/qdatasource.html@ 190

Last change on this file since 190 was 190, checked in by rudi, 14 years ago

reference documentation added

File size: 6.1 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncio.cpp:131 -->
3<html>
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
6<title>QDataSource Class</title>
7<style type="text/css"><!--
8fn { margin-left: 1cm; text-indent: -1cm; }
9a:link { color: #004faf; text-decoration: none }
10a:visited { color: #672967; text-decoration: none }
11body { background: #ffffff; color: black; }
12--></style>
13</head>
14<body>
15
16<table border="0" cellpadding="0" cellspacing="0" width="100%">
17<tr bgcolor="#E5E5E5">
18<td valign=center>
19 <a href="index.html">
20<font color="#004faf">Home</font></a>
21 | <a href="classes.html">
22<font color="#004faf">All&nbsp;Classes</font></a>
23 | <a href="mainclasses.html">
24<font color="#004faf">Main&nbsp;Classes</font></a>
25 | <a href="annotated.html">
26<font color="#004faf">Annotated</font></a>
27 | <a href="groups.html">
28<font color="#004faf">Grouped&nbsp;Classes</font></a>
29 | <a href="functions.html">
30<font color="#004faf">Functions</font></a>
31</td>
32<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QDataSource Class Reference<br><small>[obsolete]</small></h1>
33
34<p>The QDataSource class is an asynchronous producer of data.
35<a href="#details">More...</a>
36<p><tt>#include &lt;<a href="qasyncio-h.html">qasyncio.h</a>&gt;</tt>
37<p>Inherits <a href="qasyncio.html">QAsyncIO</a>.
38<p>Inherited by <a href="qiodevicesource.html">QIODeviceSource</a>.
39<p><a href="qdatasource-members.html">List of all member functions.</a>
40<h2>Public Members</h2>
41<ul>
42<li class=fn>virtual int <a href="#readyToSend"><b>readyToSend</b></a> () = 0</li>
43<li class=fn>virtual void <a href="#sendTo"><b>sendTo</b></a> ( QDataSink *, int&nbsp;count ) = 0</li>
44<li class=fn>void <a href="#maybeReady"><b>maybeReady</b></a> ()</li>
45<li class=fn>virtual bool <a href="#rewindable"><b>rewindable</b></a> () const</li>
46<li class=fn>virtual void <a href="#enableRewind"><b>enableRewind</b></a> ( bool&nbsp;on )</li>
47<li class=fn>virtual void <a href="#rewind"><b>rewind</b></a> ()</li>
48</ul>
49<hr><a name="details"></a><h2>Detailed Description</h2>
50
51
52<b>This class is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
53<p> The QDataSource class is an asynchronous producer of data.
54<p> A data source is an object which provides data from some source in an
55asynchronous manner. This means that at some time not determined by
56the data source, blocks of data will be taken from it for processing.
57The data source is able to limit the maximum size of such blocks which
58it is currently able to provide.
59<p> <p>See also <a href="qasyncio.html">QAsyncIO</a>, <a href="qdatasink.html">QDataSink</a>, and <a href="qdatapump.html">QDataPump</a>.
60
61<hr><h2>Member Function Documentation</h2>
62<h3 class=fn>void <a name="enableRewind"></a>QDataSource::enableRewind ( bool&nbsp;on )<tt> [virtual]</tt>
63</h3>
64If this function is called with <em>on</em> set to TRUE, and <a href="#rewindable">rewindable</a>()
65is TRUE, then the data source must take measures to allow the <a href="#rewind">rewind</a>()
66function to subsequently operate as described. If rewindable() is FALSE,
67the function should call <a href="#enableRewind">QDataSource::enableRewind</a>(), which aborts with
68a <a href="qapplication.html#qFatal">qFatal</a>() error.
69<p> For example, a network connection may choose to use a disk cache
70of input only if rewinding is enabled before the first buffer-full of
71data is discarded, returning FALSE in rewindable() if that first buffer
72is discarded.
73
74<p>Reimplemented in <a href="qiodevicesource.html#enableRewind">QIODeviceSource</a>.
75<h3 class=fn>void <a name="maybeReady"></a>QDataSource::maybeReady ()
76</h3>
77This should be called whenever <a href="#readyToSend">readyToSend</a>() might have become non-zero.
78It is merely calls <a href="qasyncio.html#ready">QAsyncIO::ready</a>() if readyToSend() is non-zero.
79
80<h3 class=fn>int <a name="readyToSend"></a>QDataSource::readyToSend ()<tt> [pure virtual]</tt>
81</h3>
82
83<p> The data source should return a value indicating how much data it is ready
84to provide. This may be 0. If the data source knows it will never be
85able to provide any more data (until after a <a href="#rewind">rewind</a>()), it may return -1.
86
87<p>Reimplemented in <a href="qiodevicesource.html#readyToSend">QIODeviceSource</a>.
88<h3 class=fn>void <a name="rewind"></a>QDataSource::rewind ()<tt> [virtual]</tt>
89</h3>
90This function rewinds the data source. This may only be called if
91<a href="#enableRewind">enableRewind</a>(TRUE) has been previously called.
92
93<p>Reimplemented in <a href="qiodevicesource.html#rewind">QIODeviceSource</a>.
94<h3 class=fn>bool <a name="rewindable"></a>QDataSource::rewindable () const<tt> [virtual]</tt>
95</h3>
96This function should return TRUE if the data source can be rewound.
97<p> The default returns FALSE.
98
99<p>Reimplemented in <a href="qiodevicesource.html#rewindable">QIODeviceSource</a>.
100<h3 class=fn>void <a name="sendTo"></a>QDataSource::sendTo ( <a href="qdatasink.html">QDataSink</a>&nbsp;*, int&nbsp;count )<tt> [pure virtual]</tt>
101</h3>
102
103<p> This function is called to extract data from the source, by sending
104it to the given data sink. The <em>count</em> will be no more than the amount
105indicated by the most recent call to <a href="#readyToSend">readyToSend</a>(). The source must
106use all the provided data, and the sink will be prepared to accept at
107least this much data.
108
109<p>Reimplemented in <a href="qiodevicesource.html#sendTo">QIODeviceSource</a>.
110<!-- eof -->
111<hr><p>
112This file is part of the <a href="index.html">Qt toolkit</a>.
113Copyright &copy; 1995-2007
114<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
115<table width=100% cellspacing=0 border=0><tr>
116<td>Copyright &copy; 2007
117<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
118<td align=right><div align=right>Qt 3.3.8</div>
119</table></div></address></body>
120</html>
Note: See TracBrowser for help on using the repository browser.