📄 simple_8h-source.html
字号:
00115 CustomSignalPropagation() {}00116 CustomSignalPropagation(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *q) : T(q) {}00117 00118 <span class="keyword">virtual</span> <span class="keywordtype">void</span> Initialize(<span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &parameters=g_nullNameValuePairs, <span class="keywordtype">int</span> propagation=-1) =0;00119 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> Flush(<span class="keywordtype">bool</span> hardFlush, <span class="keywordtype">int</span> propagation=-1, <span class="keywordtype">bool</span> blocking=<span class="keyword">true</span>) =0;00120 00121 <span class="keyword">private</span>:00122 <span class="keywordtype">void</span> IsolatedInitialize(<span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &parameters) {assert(<span class="keyword">false</span>);}00123 <span class="keywordtype">bool</span> IsolatedFlush(<span class="keywordtype">bool</span> hardFlush, <span class="keywordtype">bool</span> blocking) {assert(<span class="keyword">false</span>); <span class="keywordflow">return</span> <span class="keyword">false</span>;}00124 };00125 00126 <span class="keyword">template</span> <<span class="keyword">class</span> T>00127 <span class="keyword">class </span>Multichannel : <span class="keyword">public</span> CustomSignalPropagation<T>00128 {00129 <span class="keyword">public</span>:00130 Multichannel() {}00131 Multichannel(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *q) : CustomSignalPropagation<T>(q) {}00132 00133 <span class="keywordtype">void</span> Initialize(<span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &parameters, <span class="keywordtype">int</span> propagation)00134 {ChannelInitialize(NULL_CHANNEL, parameters, propagation);}00135 <span class="keywordtype">bool</span> Flush(<span class="keywordtype">bool</span> hardFlush, <span class="keywordtype">int</span> propagation=-1, <span class="keywordtype">bool</span> blocking=<span class="keyword">true</span>)00136 {<span class="keywordflow">return</span> ChannelFlush(NULL_CHANNEL, hardFlush, propagation, blocking);}00137 <span class="keywordtype">void</span> MessageSeriesEnd(<span class="keywordtype">int</span> propagation)00138 {ChannelMessageSeriesEnd(NULL_CHANNEL, propagation);}00139 byte * CreatePutSpace(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &size)00140 {<span class="keywordflow">return</span> ChannelCreatePutSpace(NULL_CHANNEL, size);}00141 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Put2(<span class="keyword">const</span> byte *begin, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">int</span> messageEnd, <span class="keywordtype">bool</span> blocking)00142 {<span class="keywordflow">return</span> ChannelPut2(NULL_CHANNEL, begin, length, messageEnd, blocking);}00143 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> PutModifiable2(byte *begin, byte *end, <span class="keywordtype">int</span> messageEnd, <span class="keywordtype">bool</span> blocking)00144 {<span class="keywordflow">return</span> ChannelPutModifiable2(NULL_CHANNEL, begin, end, messageEnd, blocking);}00145 00146 <span class="comment">// void ChannelMessageSeriesEnd(const std::string &channel, int propagation=-1)</span>00147 <span class="comment">// {PropagateMessageSeriesEnd(propagation, channel);}</span>00148 byte * ChannelCreatePutSpace(<span class="keyword">const</span> std::string &channel, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &size)00149 {size = 0; <span class="keywordflow">return</span> NULL;}00150 <span class="keywordtype">bool</span> ChannelPutModifiable(<span class="keyword">const</span> std::string &channel, byte *inString, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length)00151 {ChannelPut(channel, inString, length); <span class="keywordflow">return</span> <span class="keyword">false</span>;}00152 00153 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ChannelPut2(<span class="keyword">const</span> std::string &channel, <span class="keyword">const</span> byte *begin, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">int</span> messageEnd, <span class="keywordtype">bool</span> blocking) =0;00154 00155 <span class="keyword">virtual</span> <span class="keywordtype">void</span> ChannelInitialize(<span class="keyword">const</span> std::string &channel, <span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &parameters=g_nullNameValuePairs, <span class="keywordtype">int</span> propagation=-1) =0;00156 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> ChannelFlush(<span class="keyword">const</span> std::string &channel, <span class="keywordtype">bool</span> hardFlush, <span class="keywordtype">int</span> propagation=-1, <span class="keywordtype">bool</span> blocking=<span class="keyword">true</span>) =0;00157 };00158 00159 <span class="keyword">template</span> <<span class="keyword">class</span> T>00160 <span class="keyword">class </span>AutoSignaling : <span class="keyword">public</span> T00161 {00162 <span class="keyword">public</span>:00163 AutoSignaling(<span class="keywordtype">int</span> propagation=-1) : m_autoSignalPropagation(propagation) {}00164 AutoSignaling(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> *q, <span class="keywordtype">int</span> propagation=-1) : T(q), m_autoSignalPropagation(propagation) {}00165 00166 <span class="keywordtype">void</span> SetAutoSignalPropagation(<span class="keywordtype">int</span> propagation)00167 {m_autoSignalPropagation = propagation;}00168 <span class="keywordtype">int</span> GetAutoSignalPropagation()<span class="keyword"> const</span>00169 <span class="keyword"> </span>{<span class="keywordflow">return</span> m_autoSignalPropagation;}00170 00171 <span class="keyword">private</span>:00172 <span class="keywordtype">int</span> m_autoSignalPropagation;00173 };00174 <span class="comment"></span>00175 <span class="comment">//! A BufferedTransformation that only contains pre-existing data as "output"</span><a name="l00176"></a><a class="code" href="class_store.html">00176</a> <span class="comment"></span><span class="keyword">class </span>CRYPTOPP_DLL Store : <span class="keyword">public</span> AutoSignaling<InputRejecting<BufferedTransformation> >00177 {00178 <span class="keyword">public</span>:00179 Store() : m_messageEnd(<span class="keyword">false</span>) {}00180 00181 <span class="keywordtype">void</span> IsolatedInitialize(<span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &parameters)00182 {00183 m_messageEnd = <span class="keyword">false</span>;00184 StoreInitialize(parameters);00185 }00186 <a name="l00187"></a><a class="code" href="class_store.html#_string_storea6">00187</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> NumberOfMessages()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_messageEnd ? 0 : 1;}00188 <span class="keywordtype">bool</span> GetNextMessage();00189 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> CopyMessagesTo(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &target, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count=UINT_MAX, <span class="keyword">const</span> std::string &channel=NULL_CHANNEL) <span class="keyword">const</span>;00190 00191 <span class="keyword">protected</span>:00192 <span class="keyword">virtual</span> <span class="keywordtype">void</span> StoreInitialize(<span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &parameters) =0;00193 00194 <span class="keywordtype">bool</span> m_messageEnd;00195 };00196 <span class="comment"></span>00197 <span class="comment">//! A BufferedTransformation that doesn't produce any retrievable output</span><a name="l00198"></a><a class="code" href="class_sink.html">00198</a> <span class="comment"></span><span class="keyword">class </span>CRYPTOPP_DLL Sink : <span class="keyword">public</span> <a class="code" href="class_buffered_transformation.html">BufferedTransformation</a>00199 {00200 <span class="keyword">protected</span>:00201 <span class="comment">// make these functions protected to help prevent unintentional calls to them</span>00202 <a class="code" href="class_buffered_transformation.html#_zlib_decompressorz7_2">BufferedTransformation::Get</a>;00203 <a class="code" href="class_buffered_transformation.html#_zlib_decompressorz7_4">BufferedTransformation::Peek</a>;00204 <a class="code" href="class_buffered_transformation.html#_zlib_decompressorz7_10">BufferedTransformation::TransferTo</a>;00205 <a class="code" href="class_buffered_transformation.html#_zlib_decompressorz7_12">BufferedTransformation::CopyTo</a>;00206 <a class="code" href="class_buffered_transformation.html#_zlib_decompressorz7_13">BufferedTransformation::CopyRangeTo</a>;00207 BufferedTransformation::TransferMessagesTo;00208 BufferedTransformation::CopyMessagesTo;00209 BufferedTransformation::TransferAllTo;00210 BufferedTransformation::CopyAllTo;<a name="l00211"></a><a class="code" href="class_sink.html#_windows_pipe_sinkb2">00211</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_buffered_transformation.html#_storez11_0">TransferTo2</a>(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &target, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &transferBytes, <span class="keyword">const</span> std::string &channel=NULL_CHANNEL, <span class="keywordtype">bool</span> blocking=<span class="keyword">true</span>)00212 {transferBytes = 0; <span class="keywordflow">return</span> 0;}00213 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> CopyRangeTo2(<a class="code" href="class_buffered_transformation.html">BufferedTransformation</a> &target, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &begin, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> end=ULONG_MAX, <span class="keyword">const</span> std::string &channel=NULL_CHANNEL, <span class="keywordtype">bool</span> blocking=<span class="keyword">true</span>)<span class="keyword"> const</span>00214 <span class="keyword"> </span>{<span class="keywordflow">return</span> 0;}00215 };00216 00217 <span class="keyword">class </span>CRYPTOPP_DLL BitBucket : <span class="keyword">public</span> Bufferless<Sink>00218 {00219 <span class="keyword">public</span>:00220 std::string AlgorithmName()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <span class="stringliteral">"BitBucket"</span>;}00221 <span class="keywordtype">void</span> IsolatedInitialize(<span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &parameters) {}00222 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Put2(<span class="keyword">const</span> byte *begin, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length, <span class="keywordtype">int</span> messageEnd, <span class="keywordtype">bool</span> blocking)00223 {<span class="keywordflow">return</span> 0;}00224 };00225 00226 NAMESPACE_END00227 00228 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:25 2003 for Crypto++ by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -