74
77
<a name="l00060"></a>00060
75
78
<a name="l00061"></a>00061 <span class="keyword">namespace </span>QCA {
76
79
<a name="l00062"></a>00062
77
<a name="l00063"></a>00063 <span class="comment">// unbuffered direct pipe</span>
78
<a name="l00064"></a>00064 <span class="keyword">class </span>QCA_EXPORT QPipeDevice : <span class="keyword">public</span> <a class="codeRef" doxygen="qt.tag:" href="qobject.html">QObject</a>
79
<a name="l00065"></a>00065 {
80
<a name="l00066"></a>00066 Q_OBJECT
81
<a name="l00067"></a>00067 <span class="keyword">public</span>:
82
<a name="l00068"></a>00068 <span class="keyword">enum</span> Type
83
<a name="l00069"></a>00069 {
84
<a name="l00070"></a>00070 Read,
85
<a name="l00071"></a>00071 Write
86
<a name="l00072"></a>00072 };
87
<a name="l00073"></a>00073
88
<a name="l00074"></a>00074 QPipeDevice(<a class="codeRef" doxygen="qt.tag:" href="qobject.html">QObject</a> *parent = 0);
89
<a name="l00075"></a>00075 ~QPipeDevice();
90
<a name="l00076"></a>00076
91
<a name="l00077"></a>00077 Type type() <span class="keyword">const</span>; <span class="comment">// Read or Write</span>
92
<a name="l00078"></a>00078 <span class="keywordtype">bool</span> isValid() <span class="keyword">const</span>; <span class="comment">// indicates if a pipe is held</span>
93
<a name="l00079"></a>00079 Q_PIPE_ID id() <span class="keyword">const</span>; <span class="comment">// pipe id (Win=HANDLE, Unix=int)</span>
94
<a name="l00080"></a>00080 <span class="keywordtype">int</span> idAsInt() <span class="keyword">const</span>; <span class="comment">// pipe id turned into an integer</span>
95
<a name="l00081"></a>00081
96
<a name="l00082"></a>00082 <span class="keywordtype">void</span> take(Q_PIPE_ID <span class="keywordtype">id</span>, Type t); <span class="comment">// take over the pipe id, close the old</span>
97
<a name="l00083"></a>00083 <span class="keywordtype">void</span> enable(); <span class="comment">// enables usage (read/write) of the pipe</span>
98
<a name="l00084"></a>00084 <span class="keywordtype">void</span> close(); <span class="comment">// close the pipe</span>
99
<a name="l00085"></a>00085 <span class="keywordtype">void</span> release(); <span class="comment">// let go of the pipe but don't close</span>
100
<a name="l00086"></a>00086 <span class="keywordtype">bool</span> setInheritable(<span class="keywordtype">bool</span> enabled); <span class="comment">// note: on windows, this operation changes the id</span>
101
<a name="l00087"></a>00087
102
<a name="l00088"></a>00088 <span class="keywordtype">int</span> bytesAvailable() <span class="keyword">const</span>; <span class="comment">// bytes available to read</span>
103
<a name="l00089"></a>00089 <span class="keywordtype">int</span> read(<span class="keywordtype">char</span> *data, <span class="keywordtype">int</span> maxsize); <span class="comment">// return number read, 0 = EOF, -1 = error</span>
104
<a name="l00090"></a>00090 <span class="keywordtype">int</span> write(<span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keywordtype">int</span> size); <span class="comment">// return number taken, ptr must stay valid. -1 on error</span>
105
<a name="l00091"></a>00091 <span class="keywordtype">int</span> writeResult(<span class="keywordtype">int</span> *written) <span class="keyword">const</span>; <span class="comment">// 0 = success (wrote all), -1 = error (see written)</span>
106
<a name="l00092"></a>00092
107
<a name="l00093"></a>00093 Q_SIGNALS:
108
<a name="l00094"></a>00094 <span class="keywordtype">void</span> notify(); <span class="comment">// can read or can write, depending on type</span>
109
<a name="l00095"></a>00095
110
<a name="l00096"></a>00096 <span class="keyword">private</span>:
111
<a name="l00097"></a>00097 Q_DISABLE_COPY(QPipeDevice)
112
<a name="l00098"></a>00098
113
<a name="l00099"></a>00099 class Private;
114
<a name="l00100"></a>00100 friend class Private;
115
<a name="l00101"></a>00101 Private *d;
116
<a name="l00102"></a>00102 };
117
<a name="l00103"></a>00103
118
<a name="l00104"></a>00104 <span class="comment">// buffered higher-level pipe. use this one.</span>
119
<a name="l00105"></a>00105 class QCA_EXPORT QPipeEnd : public <a class="codeRef" doxygen="qt.tag:" href="qobject.html">QObject</a>
120
<a name="l00106"></a>00106 {
121
<a name="l00107"></a>00107 Q_OBJECT
122
<a name="l00108"></a>00108 <span class="keyword">public</span>:
123
<a name="l00109"></a>00109 <span class="keyword">enum</span> Error
124
<a name="l00110"></a>00110 {
125
<a name="l00111"></a>00111 ErrorEOF,
126
<a name="l00112"></a>00112 ErrorBroken
127
<a name="l00113"></a>00113 };
128
<a name="l00114"></a>00114
129
<a name="l00115"></a>00115 QPipeEnd(QObject *parent = 0);
130
<a name="l00116"></a>00116 ~QPipeEnd();
131
<a name="l00117"></a>00117
132
<a name="l00118"></a>00118 <span class="keywordtype">void</span> reset();
133
<a name="l00119"></a>00119
134
<a name="l00120"></a>00120 QPipeDevice::Type type() <span class="keyword">const</span>;
135
<a name="l00121"></a>00121 <span class="keywordtype">bool</span> isValid() <span class="keyword">const</span>;
136
<a name="l00122"></a>00122 Q_PIPE_ID id() <span class="keyword">const</span>;
80
<a name="l00063"></a>00063
81
<a name="l00074"></a><a class="code" href="classQCA_1_1QPipeDevice.html">00074</a> <span class="keyword">class </span>QCA_EXPORT QPipeDevice : <span class="keyword">public</span> <a class="codeRef" doxygen="qt.tag:" href="qobject.html">QObject</a>
82
<a name="l00075"></a>00075 {
83
<a name="l00076"></a>00076 Q_OBJECT
84
<a name="l00077"></a>00077 <span class="keyword">public</span>:
85
<a name="l00081"></a><a class="code" href="classQCA_1_1QPipeDevice.html#f42b2c4eb7cadb652c2b5da976c48fbb">00081</a> <span class="keyword">enum</span> <a class="code" href="classQCA_1_1QPipeDevice.html#f42b2c4eb7cadb652c2b5da976c48fbb" title="The type of device.">Type</a>
86
<a name="l00082"></a>00082 {
87
<a name="l00083"></a><a class="code" href="classQCA_1_1QPipeDevice.html#f42b2c4eb7cadb652c2b5da976c48fbbcdfedf9df12f4ca2460eb38740b485f3">00083</a> Read,
88
<a name="l00084"></a><a class="code" href="classQCA_1_1QPipeDevice.html#f42b2c4eb7cadb652c2b5da976c48fbb2a8cda1c936f310b0ae9ae5f4cb4c29e">00084</a> Write
89
<a name="l00085"></a>00085 };
90
<a name="l00086"></a>00086
91
<a name="l00092"></a>00092 QPipeDevice(<a class="codeRef" doxygen="qt.tag:" href="qobject.html">QObject</a> *parent = 0);
92
<a name="l00093"></a>00093 ~QPipeDevice();
93
<a name="l00094"></a>00094
94
<a name="l00098"></a>00098 Type type() <span class="keyword">const</span>;
95
<a name="l00099"></a>00099
96
<a name="l00103"></a>00103 <span class="keywordtype">bool</span> isValid() <span class="keyword">const</span>;
97
<a name="l00104"></a>00104
98
<a name="l00114"></a>00114 Q_PIPE_ID id() <span class="keyword">const</span>;
99
<a name="l00115"></a>00115
137
100
<a name="l00123"></a>00123 <span class="keywordtype">int</span> idAsInt() <span class="keyword">const</span>;
138
101
<a name="l00124"></a>00124
139
<a name="l00125"></a>00125 <span class="keywordtype">void</span> take(Q_PIPE_ID <span class="keywordtype">id</span>, QPipeDevice::Type t);
140
<a name="l00126"></a>00126 <span class="preprocessor">#ifdef QPIPE_SECURE</span>
141
<a name="l00127"></a>00127 <span class="preprocessor"></span> <span class="keywordtype">void</span> setSecurityEnabled(<span class="keywordtype">bool</span> secure);
142
<a name="l00128"></a>00128 <span class="preprocessor">#endif</span>
143
<a name="l00129"></a>00129 <span class="preprocessor"></span> <span class="keywordtype">void</span> enable();
144
<a name="l00130"></a>00130 <span class="keywordtype">void</span> close();
145
<a name="l00131"></a>00131 <span class="keywordtype">void</span> release();
146
<a name="l00132"></a>00132 <span class="keywordtype">bool</span> setInheritable(<span class="keywordtype">bool</span> enabled);
147
<a name="l00133"></a>00133
148
<a name="l00134"></a>00134 <span class="keywordtype">void</span> finalize(); <span class="comment">// do an immediate read, and invalidate</span>
149
<a name="l00135"></a>00135 <span class="keywordtype">void</span> finalizeAndRelease(); <span class="comment">// same as above, but don't close pipe</span>
150
<a name="l00136"></a>00136
151
<a name="l00137"></a>00137 <span class="keywordtype">int</span> bytesAvailable() <span class="keyword">const</span>;
152
<a name="l00138"></a>00138 <span class="keywordtype">int</span> bytesToWrite() <span class="keyword">const</span>;
153
<a name="l00139"></a>00139
154
<a name="l00140"></a>00140 <span class="comment">// normal i/o</span>
155
<a name="l00141"></a>00141 <a class="codeRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> read(<span class="keywordtype">int</span> bytes = -1);
156
<a name="l00142"></a>00142 <span class="keywordtype">void</span> write(<span class="keyword">const</span> <a class="codeRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> &a);
157
<a name="l00143"></a>00143
158
<a name="l00144"></a>00144 <span class="preprocessor">#ifdef QPIPE_SECURE</span>
159
<a name="l00145"></a>00145 <span class="preprocessor"></span> <span class="comment">// secure i/o</span>
160
<a name="l00146"></a>00146 SecureArray readSecure(<span class="keywordtype">int</span> bytes = -1);
161
<a name="l00147"></a>00147 <span class="keywordtype">void</span> writeSecure(<span class="keyword">const</span> SecureArray &a);
162
<a name="l00148"></a>00148 <span class="preprocessor">#endif</span>
163
<a name="l00149"></a>00149 <span class="preprocessor"></span>
164
<a name="l00150"></a>00150 <a class="codeRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> takeBytesToWrite();
165
<a name="l00151"></a>00151
166
<a name="l00152"></a>00152 <span class="preprocessor">#ifdef QPIPE_SECURE</span>
167
<a name="l00153"></a>00153 <span class="preprocessor"></span> SecureArray takeBytesToWriteSecure();
168
<a name="l00154"></a>00154 <span class="preprocessor">#endif</span>
169
<a name="l00155"></a>00155 <span class="preprocessor"></span>
170
<a name="l00156"></a>00156 Q_SIGNALS:
171
<a name="l00157"></a>00157 <span class="keywordtype">void</span> readyRead();
172
<a name="l00158"></a>00158 <span class="keywordtype">void</span> bytesWritten(<span class="keywordtype">int</span> bytes);
173
<a name="l00159"></a>00159 <span class="keywordtype">void</span> closed();
174
<a name="l00160"></a>00160 <span class="keywordtype">void</span> error(QCA::QPipeEnd::Error e);
102
<a name="l00131"></a>00131 <span class="keywordtype">void</span> take(Q_PIPE_ID <span class="keywordtype">id</span>, Type t);
103
<a name="l00132"></a>00132
104
<a name="l00136"></a>00136 <span class="keywordtype">void</span> enable();
105
<a name="l00137"></a>00137
106
<a name="l00141"></a>00141 <span class="keywordtype">void</span> close();
107
<a name="l00142"></a>00142
108
<a name="l00146"></a>00146 <span class="keywordtype">void</span> release();
109
<a name="l00147"></a>00147
110
<a name="l00155"></a>00155 <span class="keywordtype">bool</span> setInheritable(<span class="keywordtype">bool</span> enabled);
111
<a name="l00156"></a>00156
112
<a name="l00160"></a>00160 <span class="keywordtype">int</span> bytesAvailable() <span class="keyword">const</span>;
175
113
<a name="l00161"></a>00161
176
<a name="l00162"></a>00162 <span class="keyword">private</span>:
177
<a name="l00163"></a>00163 Q_DISABLE_COPY(QPipeEnd)
178
<a name="l00164"></a>00164
179
<a name="l00165"></a>00165 class Private;
180
<a name="l00166"></a>00166 friend class Private;
181
<a name="l00167"></a>00167 Private *d;
182
<a name="l00168"></a>00168 };
183
<a name="l00169"></a>00169
184
<a name="l00179"></a><a class="code" href="classQCA_1_1QPipe.html">00179</a> class QCA_EXPORT <a class="code" href="classQCA_1_1QPipe.html">QPipe</a>
185
<a name="l00180"></a>00180 {
186
<a name="l00181"></a>00181 <span class="keyword">public</span>:
187
<a name="l00187"></a>00187 QPipe(QObject *parent = 0);
188
<a name="l00188"></a>00188
189
<a name="l00189"></a>00189 ~QPipe();
190
<a name="l00190"></a>00190
191
<a name="l00194"></a>00194 <span class="keywordtype">void</span> reset();
192
<a name="l00195"></a>00195
193
<a name="l00196"></a>00196 <span class="preprocessor">#ifdef QPIPE_SECURE</span>
194
<a name="l00197"></a>00197 <span class="preprocessor"></span>
195
<a name="l00202"></a>00202 <span class="keywordtype">bool</span> create(<span class="keywordtype">bool</span> secure = <span class="keyword">false</span>);
196
<a name="l00203"></a>00203 <span class="preprocessor">#else</span>
197
<a name="l00204"></a>00204 <span class="preprocessor"></span>
198
<a name="l00207"></a>00207 <span class="keywordtype">bool</span> create();
199
<a name="l00208"></a>00208 <span class="preprocessor">#endif</span>
200
<a name="l00209"></a>00209 <span class="preprocessor"></span>
201
<a name="l00213"></a><a class="code" href="classQCA_1_1QPipe.html#971f4676aa27b10bdbd518d962ec3337">00213</a> QPipeEnd & readEnd() { <span class="keywordflow">return</span> i; }
202
<a name="l00214"></a>00214
203
<a name="l00218"></a><a class="code" href="classQCA_1_1QPipe.html#d9ad5ff9011f91f302ed3d13ac759d90">00218</a> QPipeEnd & writeEnd() { <span class="keywordflow">return</span> o; }
204
<a name="l00219"></a>00219
205
<a name="l00220"></a>00220 <span class="keyword">private</span>:
206
<a name="l00221"></a>00221 Q_DISABLE_COPY(QPipe)
207
<a name="l00222"></a>00222
208
<a name="l00223"></a>00223 QPipeEnd i, o;
209
<a name="l00224"></a>00224 };
210
<a name="l00225"></a>00225
211
<a name="l00226"></a>00226 }
212
<a name="l00227"></a>00227
213
<a name="l00228"></a>00228 <span class="preprocessor">#endif</span>
214
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Jul 6 12:14:04 2007 for Qt Cryptographic Architecture by
114
<a name="l00170"></a>00170 <span class="keywordtype">int</span> read(<span class="keywordtype">char</span> *data, <span class="keywordtype">int</span> maxsize);
115
<a name="l00171"></a>00171
116
<a name="l00182"></a>00182 <span class="keywordtype">int</span> write(<span class="keyword">const</span> <span class="keywordtype">char</span> *data, <span class="keywordtype">int</span> size);
117
<a name="l00183"></a>00183
118
<a name="l00192"></a>00192 <span class="keywordtype">int</span> writeResult(<span class="keywordtype">int</span> *written) <span class="keyword">const</span>;
119
<a name="l00193"></a>00193
120
<a name="l00194"></a>00194 Q_SIGNALS:
121
<a name="l00198"></a>00198 <span class="keywordtype">void</span> notify();
122
<a name="l00199"></a>00199
123
<a name="l00200"></a>00200 <span class="keyword">private</span>:
124
<a name="l00201"></a>00201 Q_DISABLE_COPY(QPipeDevice)
125
<a name="l00202"></a>00202
126
<a name="l00203"></a>00203 class Private;
127
<a name="l00204"></a>00204 friend class Private;
128
<a name="l00205"></a>00205 Private *d;
129
<a name="l00206"></a>00206 };
130
<a name="l00207"></a>00207
131
<a name="l00217"></a><a class="code" href="classQCA_1_1QPipeEnd.html">00217</a> class QCA_EXPORT <a class="code" href="classQCA_1_1QPipeEnd.html" title="A buffered higher-level pipe end.">QPipeEnd</a> : public <a class="codeRef" doxygen="qt.tag:" href="qobject.html">QObject</a>
132
<a name="l00218"></a>00218 {
133
<a name="l00219"></a>00219 Q_OBJECT
134
<a name="l00220"></a>00220 <span class="keyword">public</span>:
135
<a name="l00221"></a>00221
136
<a name="l00225"></a><a class="code" href="classQCA_1_1QPipeEnd.html#8b502ad5af100cc7e19548b2459e9182">00225</a> <span class="keyword">enum</span> <a class="code" href="classQCA_1_1QPipeEnd.html#8b502ad5af100cc7e19548b2459e9182" title="The type of error.">Error</a>
137
<a name="l00226"></a>00226 {
138
<a name="l00227"></a><a class="code" href="classQCA_1_1QPipeEnd.html#8b502ad5af100cc7e19548b2459e918225b34cc9f5a1cb575951aeefd0f9091b">00227</a> ErrorEOF,
139
<a name="l00228"></a><a class="code" href="classQCA_1_1QPipeEnd.html#8b502ad5af100cc7e19548b2459e918209759392d0f77848214d1e6b17b8a544">00228</a> ErrorBroken
140
<a name="l00229"></a>00229 };
141
<a name="l00230"></a>00230
142
<a name="l00236"></a>00236 <a class="code" href="classQCA_1_1QPipeEnd.html" title="A buffered higher-level pipe end.">QPipeEnd</a>(QObject *parent = 0);
143
<a name="l00237"></a>00237
144
<a name="l00238"></a>00238 ~<a class="code" href="classQCA_1_1QPipeEnd.html" title="A buffered higher-level pipe end.">QPipeEnd</a>();
145
<a name="l00239"></a>00239
146
<a name="l00243"></a>00243 <span class="keywordtype">void</span> reset();
147
<a name="l00244"></a>00244
148
<a name="l00248"></a>00248 <a class="code" href="classQCA_1_1QPipeDevice.html#f42b2c4eb7cadb652c2b5da976c48fbb" title="The type of device.">QPipeDevice::Type</a> type() <span class="keyword">const</span>;
149
<a name="l00249"></a>00249
150
<a name="l00256"></a>00256 <span class="keywordtype">bool</span> isValid() <span class="keyword">const</span>;
151
<a name="l00257"></a>00257
152
<a name="l00261"></a>00261 Q_PIPE_ID id() <span class="keyword">const</span>;
153
<a name="l00262"></a>00262
154
<a name="l00266"></a>00266 <span class="keywordtype">int</span> idAsInt() <span class="keyword">const</span>;
155
<a name="l00267"></a>00267
156
<a name="l00274"></a>00274 <span class="keywordtype">void</span> take(Q_PIPE_ID <span class="keywordtype">id</span>, <a class="code" href="classQCA_1_1QPipeDevice.html#f42b2c4eb7cadb652c2b5da976c48fbb" title="The type of device.">QPipeDevice::Type</a> t);
157
<a name="l00275"></a>00275
158
<a name="l00276"></a>00276 <span class="preprocessor">#ifdef QPIPE_SECURE</span>
159
<a name="l00277"></a>00277 <span class="preprocessor"></span>
160
<a name="l00285"></a>00285 <span class="keywordtype">void</span> setSecurityEnabled(<span class="keywordtype">bool</span> secure);
161
<a name="l00286"></a>00286 <span class="preprocessor">#endif</span>
162
<a name="l00287"></a>00287 <span class="preprocessor"></span>
163
<a name="l00294"></a>00294 <span class="keywordtype">void</span> enable();
164
<a name="l00295"></a>00295
165
<a name="l00301"></a>00301 <span class="keywordtype">void</span> close();
166
<a name="l00302"></a>00302
167
<a name="l00309"></a>00309 <span class="keywordtype">void</span> release();
168
<a name="l00310"></a>00310
169
<a name="l00319"></a>00319 <span class="keywordtype">bool</span> setInheritable(<span class="keywordtype">bool</span> enabled);
170
<a name="l00320"></a>00320
171
<a name="l00324"></a>00324 <span class="keywordtype">void</span> finalize();
172
<a name="l00325"></a>00325
173
<a name="l00329"></a>00329 <span class="keywordtype">void</span> finalizeAndRelease();
174
<a name="l00330"></a>00330
175
<a name="l00339"></a>00339 <span class="keywordtype">int</span> bytesAvailable() <span class="keyword">const</span>;
176
<a name="l00340"></a>00340
177
<a name="l00349"></a>00349 <span class="keywordtype">int</span> bytesToWrite() <span class="keyword">const</span>;
178
<a name="l00350"></a>00350
179
<a name="l00361"></a>00361 <a class="codeRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> read(<span class="keywordtype">int</span> bytes = -1);
180
<a name="l00362"></a>00362
181
<a name="l00372"></a>00372 <span class="keywordtype">void</span> write(<span class="keyword">const</span> <a class="codeRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> &a);
182
<a name="l00373"></a>00373
183
<a name="l00374"></a>00374 <span class="preprocessor">#ifdef QPIPE_SECURE</span>
184
<a name="l00375"></a>00375 <span class="preprocessor"></span>
185
<a name="l00385"></a>00385 <a class="code" href="classQCA_1_1SecureArray.html" title="Secure array of bytes.">SecureArray</a> readSecure(<span class="keywordtype">int</span> bytes = -1);
186
<a name="l00386"></a>00386
187
<a name="l00396"></a>00396 <span class="keywordtype">void</span> writeSecure(<span class="keyword">const</span> <a class="code" href="classQCA_1_1SecureArray.html" title="Secure array of bytes.">SecureArray</a> &a);
188
<a name="l00397"></a>00397 <span class="preprocessor">#endif</span>
189
<a name="l00398"></a>00398 <span class="preprocessor"></span>
190
<a name="l00405"></a>00405 <a class="codeRef" doxygen="qt.tag:" href="qbytearray.html">QByteArray</a> takeBytesToWrite();
191
<a name="l00406"></a>00406
192
<a name="l00407"></a>00407 <span class="preprocessor">#ifdef QPIPE_SECURE</span>
193
<a name="l00408"></a>00408 <span class="preprocessor"></span>
194
<a name="l00414"></a>00414 <a class="code" href="classQCA_1_1SecureArray.html" title="Secure array of bytes.">SecureArray</a> takeBytesToWriteSecure();
195
<a name="l00415"></a>00415 <span class="preprocessor">#endif</span>
196
<a name="l00416"></a>00416 <span class="preprocessor"></span>
197
<a name="l00417"></a>00417 Q_SIGNALS:
198
<a name="l00424"></a>00424 <span class="keywordtype">void</span> readyRead();
199
<a name="l00425"></a>00425
200
<a name="l00432"></a>00432 <span class="keywordtype">void</span> bytesWritten(<span class="keywordtype">int</span> bytes);
201
<a name="l00433"></a>00433
202
<a name="l00445"></a>00445 <span class="keywordtype">void</span> closed();
203
<a name="l00446"></a>00446
204
<a name="l00453"></a>00453 <span class="keywordtype">void</span> error(<a class="code" href="classQCA_1_1QPipeEnd.html#8b502ad5af100cc7e19548b2459e9182" title="The type of error.">QCA::QPipeEnd::Error</a> e);
205
<a name="l00454"></a>00454
206
<a name="l00455"></a>00455 <span class="keyword">private</span>:
207
<a name="l00456"></a>00456 Q_DISABLE_COPY(<a class="code" href="classQCA_1_1QPipeEnd.html" title="A buffered higher-level pipe end.">QPipeEnd</a>)
208
<a name="l00457"></a>00457
209
<a name="l00458"></a>00458 class Private;
210
<a name="l00459"></a>00459 friend class Private;
211
<a name="l00460"></a>00460 Private *d;
212
<a name="l00461"></a>00461 };
213
<a name="l00462"></a>00462
214
<a name="l00479"></a><a class="code" href="classQCA_1_1QPipe.html">00479</a> class QCA_EXPORT <a class="code" href="classQCA_1_1QPipe.html" title="A FIFO buffer (named pipe) abstraction.">QPipe</a>
215
<a name="l00480"></a>00480 {
216
<a name="l00481"></a>00481 <span class="keyword">public</span>:
217
<a name="l00489"></a>00489 QPipe(QObject *parent = 0);
218
<a name="l00490"></a>00490
219
<a name="l00491"></a>00491 ~QPipe();
220
<a name="l00492"></a>00492
221
<a name="l00499"></a>00499 <span class="keywordtype">void</span> reset();
222
<a name="l00500"></a>00500
223
<a name="l00501"></a>00501 <span class="preprocessor">#ifdef QPIPE_SECURE</span>
224
<a name="l00502"></a>00502 <span class="preprocessor"></span>
225
<a name="l00507"></a>00507 <span class="keywordtype">bool</span> create(<span class="keywordtype">bool</span> secure = <span class="keyword">false</span>);
226
<a name="l00508"></a>00508 <span class="preprocessor">#else</span>
227
<a name="l00509"></a>00509 <span class="preprocessor"></span>
228
<a name="l00512"></a>00512 <span class="keywordtype">bool</span> create();
229
<a name="l00513"></a>00513 <span class="preprocessor">#endif</span>
230
<a name="l00514"></a>00514 <span class="preprocessor"></span>
231
<a name="l00518"></a><a class="code" href="classQCA_1_1QPipe.html#971f4676aa27b10bdbd518d962ec3337">00518</a> <a class="code" href="classQCA_1_1QPipeEnd.html" title="A buffered higher-level pipe end.">QPipeEnd</a> & readEnd() { <span class="keywordflow">return</span> i; }
232
<a name="l00519"></a>00519
233
<a name="l00523"></a><a class="code" href="classQCA_1_1QPipe.html#d9ad5ff9011f91f302ed3d13ac759d90">00523</a> <a class="code" href="classQCA_1_1QPipeEnd.html" title="A buffered higher-level pipe end.">QPipeEnd</a> & writeEnd() { <span class="keywordflow">return</span> o; }
234
<a name="l00524"></a>00524
235
<a name="l00525"></a>00525 <span class="keyword">private</span>:
236
<a name="l00526"></a>00526 Q_DISABLE_COPY(QPipe)
237
<a name="l00527"></a>00527
238
<a name="l00528"></a>00528 <a class="code" href="classQCA_1_1QPipeEnd.html" title="A buffered higher-level pipe end.">QPipeEnd</a> i, o;
239
<a name="l00529"></a>00529 };
240
<a name="l00530"></a>00530
241
<a name="l00531"></a>00531 }
242
<a name="l00532"></a>00532
243
<a name="l00533"></a>00533 <span class="preprocessor">#endif</span>
244
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 6 19:13:36 2007 for Qt Cryptographic Architecture by
215
245
<a href="http://www.doxygen.org/index.html">
216
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
246
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>