📄 asner_8h-source.html
字号:
00100 <span class="comment"> * Revision 1.22 2001/06/14 02:14:12 robertj</span>00101 <span class="comment"> * Added functions to encode and decode another ASN type that is inside</span>00102 <span class="comment"> * an octet string, useful for ANY or EXTERNAL types etc.</span>00103 <span class="comment"> *</span>00104 <span class="comment"> * Revision 1.21 2001/04/30 06:47:04 robertj</span>00105 <span class="comment"> * Fixed problem with en/decoding more than 16 extension fields in a sequence.</span>00106 <span class="comment"> *</span>00107 <span class="comment"> * Revision 1.20 2001/04/26 08:15:58 robertj</span>00108 <span class="comment"> * Fixed problem with ASN compile of single constraints on enumerations.</span>00109 <span class="comment"> *</span>00110 <span class="comment"> * Revision 1.19 2001/04/23 04:40:14 robertj</span>00111 <span class="comment"> * Added ASN standard types GeneralizedTime and UTCTime</span>00112 <span class="comment"> *</span>00113 <span class="comment"> * Revision 1.18 2001/04/12 03:25:22 robertj</span>00114 <span class="comment"> * Fixed PASN_Boolean cosntructor to be compatible with usage in ASN parser.</span>00115 <span class="comment"> * Changed all PASN_xxx types so constructor can take real type as only</span>00116 <span class="comment"> * parameter. eg PASN_OctetString s = "fred";</span>00117 <span class="comment"> *</span>00118 <span class="comment"> * Revision 1.17 2001/03/21 03:32:35 robertj</span>00119 <span class="comment"> * Aded ability to get at the data bits buffer in a PASN_BitString</span>00120 <span class="comment"> *</span>00121 <span class="comment"> * Revision 1.16 2001/01/24 04:36:56 robertj</span>00122 <span class="comment"> * Added more bulletproofing to ASN structures to obey constraints.</span>00123 <span class="comment"> *</span>00124 <span class="comment"> * Revision 1.15 2000/10/26 11:09:07 robertj</span>00125 <span class="comment"> * More bullet proofing of PER decoder, changed bit type to be unsigned.</span>00126 <span class="comment"> *</span>00127 <span class="comment"> * Revision 1.14 2000/10/25 04:05:44 robertj</span>00128 <span class="comment"> * More bullet proofing of PER decoder.</span>00129 <span class="comment"> *</span>00130 <span class="comment"> * Revision 1.13 2000/07/11 18:23:03 robertj</span>00131 <span class="comment"> * Added ability to set/get BMP string data as PWORDArray.</span>00132 <span class="comment"> *</span>00133 <span class="comment"> * Revision 1.12 2000/04/10 17:30:42 robertj</span>00134 <span class="comment"> * Added [] operator for char access on ASN string classes.</span>00135 <span class="comment"> *</span>00136 <span class="comment"> * Revision 1.11 2000/02/29 06:32:12 robertj</span>00137 <span class="comment"> * Added ability to remove optional field in sequence, thanks Dave Harvey.</span>00138 <span class="comment"> *</span>00139 <span class="comment"> * Revision 1.10 1999/08/09 13:02:45 robertj</span>00140 <span class="comment"> * dded ASN compiler #defines for backward support of pre GCC 2.9 compilers.</span>00141 <span class="comment"> * Added ASN compiler #defines to reduce its memory footprint.</span>00142 <span class="comment"> *</span>00143 <span class="comment"> * Revision 1.9 1999/07/22 06:48:51 robertj</span>00144 <span class="comment"> * Added comparison operation to base ASN classes and compiled ASN code.</span>00145 <span class="comment"> * Added support for ANY type in ASN parser.</span>00146 <span class="comment"> *</span>00147 <span class="comment"> * Revision 1.8 1999/03/09 09:34:05 robertj</span>00148 <span class="comment"> * Fixed typo's.</span>00149 <span class="comment"> *</span>00150 <span class="comment"> * Revision 1.7 1999/03/09 08:01:46 robertj</span>00151 <span class="comment"> * Changed comments for doc++ support (more to come).</span>00152 <span class="comment"> *</span>00153 <span class="comment"> * Revision 1.6 1998/09/23 06:19:21 robertj</span>00154 <span class="comment"> * Added open source copyright license.</span>00155 <span class="comment"> *</span>00156 <span class="comment"> * Revision 1.5 1998/05/21 04:26:53 robertj</span>00157 <span class="comment"> * Fixed numerous PER problems.</span>00158 <span class="comment"> *</span>00159 <span class="comment"> * Revision 1.4 1998/05/07 05:19:28 robertj</span>00160 <span class="comment"> * Fixed problems with using copy constructor/assignment oeprator on PASN_Objects.</span>00161 <span class="comment"> *</span>00162 <span class="comment"> * Revision 1.3 1997/12/18 05:08:13 robertj</span>00163 <span class="comment"> * Added function to get choice discriminat`or name.</span>00164 <span class="comment"> *</span>00165 <span class="comment"> * Revision 1.2 1997/12/11 10:35:42 robertj</span>00166 <span class="comment"> * Support for new ASN file parser.</span>00167 <span class="comment"> *</span>00168 <span class="comment"> */</span>00169 00170 <span class="preprocessor">#ifndef _ASNER_H</span>00171 <span class="preprocessor"></span><span class="preprocessor">#define _ASNER_H</span>00172 <span class="preprocessor"></span>00173 <span class="preprocessor">#ifdef P_USE_PRAGMA</span>00174 <span class="preprocessor"></span><span class="preprocessor">#pragma interface</span>00175 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00176 <span class="preprocessor"></span>00177 <span class="comment">// provide options to omit vertain encodings, if needed</span><a name="l00178"></a><a class="code" href="asner_8h.html#a0">00178</a> <span class="preprocessor">#define P_INCLUDE_PER</span><a name="l00179"></a><a class="code" href="asner_8h.html#a1">00179</a> <span class="preprocessor"></span><span class="preprocessor">#define P_INCLUDE_BER</span><a name="l00180"></a><a class="code" href="asner_8h.html#a2">00180</a> <span class="preprocessor"></span><span class="preprocessor">#define P_INCLUDE_XER</span>00181 <span class="preprocessor"></span>00182 <span class="keyword">class </span><a class="code" href="classPASN__Stream.html">PASN_Stream</a>;00183 <span class="keyword">class </span>PBER_Stream;00184 <span class="keyword">class </span>PPER_Stream;00185 00186 <span class="preprocessor">#if P_EXPAT</span>00187 <span class="preprocessor"></span><span class="keyword">class </span>PXER_Stream;00188 <span class="keyword">class </span><a class="code" href="classPXMLElement.html">PXMLElement</a>;00189 <span class="preprocessor">#else</span>00190 <span class="preprocessor"></span><span class="preprocessor">#undef P_INCLUDE_XER</span>00191 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00192 <span class="preprocessor"></span>00193 00195 <a name="l00198"></a><a class="code" href="classPASN__Object.html">00198</a> <span class="keyword">class </span><a class="code" href="classPASN__Object.html">PASN_Object</a> : <span class="keyword">public</span> <a class="code" href="classPObject.html">PObject</a>00199 {00200 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPASN__Object.html">PASN_Object</a>, <a class="code" href="classPObject.html">PObject</a>);00201 <span class="keyword">public</span>:00203 <span class="keyword">virtual</span> <a class="code" href="classPString.html">PString</a> <a class="code" href="classPASN__Object.html#a0">GetTypeAsString</a>() <span class="keyword">const</span> = 0;00204 00205 PINDEX <a class="code" href="classPASN__Object.html#a1">GetObjectLength</a>() <span class="keyword">const</span>;00206 <span class="keyword">virtual</span> PINDEX <a class="code" href="classPASN__Object.html#a2">GetDataLength</a>() <span class="keyword">const</span> = 0;<a name="l00207"></a><a class="code" href="classPASN__Object.html#a3">00207</a> <span class="keyword">virtual</span> BOOL <a class="code" href="classPASN__Object.html#a3">IsPrimitive</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> TRUE; }00208 00209 <span class="keyword">virtual</span> BOOL <a class="code" href="classPASN__Object.html#a4">Decode</a>(<a class="code" href="classPASN__Stream.html">PASN_Stream</a> &) = 0;00210 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPASN__Object.html#a5">Encode</a>(<a class="code" href="classPASN__Stream.html">PASN_Stream</a> &) <span class="keyword">const</span> = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -