⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classpasnobject.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>PASNObject class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>PASNObject Class Reference</h1><code>#include &lt;<a class="el" href="pasn_8h-source.html">pasn.h</a>&gt;</code><p><p>Inheritance diagram for PASNObject:<p><center><img src="classPASNObject.png" usemap="#PASNObject_map" border="0" alt=""></center><map name="PASNObject_map"><area href="classPObject.html" alt="PObject" shape="rect" coords="367,0,504,24"><area href="classPASNInteger.html" alt="PASNInteger" shape="rect" coords="0,112,137,136"><area href="classPASNNull.html" alt="PASNNull" shape="rect" coords="147,112,284,136"><area href="classPASNObjectID.html" alt="PASNObjectID" shape="rect" coords="294,112,431,136"><area href="classPASNSequence.html" alt="PASNSequence" shape="rect" coords="441,112,578,136"><area href="classPASNString.html" alt="PASNString" shape="rect" coords="588,112,725,136"><area href="classPASNUnsignedInteger.html" alt="PASNUnsignedInteger" shape="rect" coords="882,112,1019,136"><area href="classPASNIPAddress.html" alt="PASNIPAddress" shape="rect" coords="588,168,725,192"><area href="classPASNCounter.html" alt="PASNCounter" shape="rect" coords="735,168,872,192"><area href="classPASNGauge.html" alt="PASNGauge" shape="rect" coords="882,168,1019,192"><area href="classPASNTimeTicks.html" alt="PASNTimeTicks" shape="rect" coords="1029,168,1166,192"></map><a href="classPASNObject-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#s16">ASNType</a> { <br>&nbsp;&nbsp;<a class="el" href="classPASNObject.html#s16s0">Integer</a>, <a class="el" href="classPASNObject.html#s16s1">String</a>, <a class="el" href="classPASNObject.html#s16s2">ObjectID</a>, <a class="el" href="classPASNObject.html#s16s3">Sequence</a>, <br>&nbsp;&nbsp;<a class="el" href="classPASNObject.html#s16s4">Choice</a>, <a class="el" href="classPASNObject.html#s16s5">IPAddress</a>, <a class="el" href="classPASNObject.html#s16s6">Counter</a>, <a class="el" href="classPASNObject.html#s16s7">Gauge</a>, <br>&nbsp;&nbsp;<a class="el" href="classPASNObject.html#s16s8">TimeTicks</a>, <a class="el" href="classPASNObject.html#s16s9">Opaque</a>, <a class="el" href="classPASNObject.html#s16s10">NsapAddress</a>, <a class="el" href="classPASNObject.html#s16s11">Counter64</a>, <br>&nbsp;&nbsp;<a class="el" href="classPASNObject.html#s16s12">UInteger32</a>, <a class="el" href="classPASNObject.html#s16s13">Null</a>, <a class="el" href="classPASNObject.html#s16s14">Unknown</a>, <a class="el" href="classPASNObject.html#s16s15">ASNTypeMax</a><br> }</td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPASNObject.html#s16">ASNType</a>&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a0">GetType</a> () const</td></tr><tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a1">GetChoice</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a2">GetTypeAsString</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="pasn_8h.html#a0">PASNInt</a>&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a3">GetInteger</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="pasn_8h.html#a1">PASNUnsigned</a>&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a4">GetUnsigned</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a5">GetString</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual const <a class="el" href="classPASNSequence.html">PASNSequence</a> &amp;&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a6">GetSequence</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a>&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a7">GetIPAddress</a> () const</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a8">PrintOn</a> (ostream &amp;strm) const</td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a9">Encode</a> (<a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;buffer)</td></tr><tr><td nowrap align=right valign=top>virtual WORD&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a10">GetEncodedLength</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPObject.html">PObject</a> *&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#a11">Clone</a> () const</td></tr><tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d0">EncodeASNLength</a> (<a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;buffer, WORD length)</td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d1">GetASNLengthLength</a> (WORD length)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d2">DecodeASNLength</a> (const <a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;buffer, PINDEX &amp;ptr, WORD &amp;len)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d3">EncodeASNSequenceStart</a> (<a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;buffer, BYTE type, WORD length)</td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d4">GetASNSequenceStartLength</a> (WORD length)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d5">EncodeASNHeader</a> (<a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;buffer, <a class="el" href="classPASNObject.html#s16">PASNObject::ASNType</a> type, WORD length)</td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d6">GetASNHeaderLength</a> (WORD length)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d7">EncodeASNInteger</a> (<a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;buffer, <a class="el" href="pasn_8h.html#a0">PASNInt</a> data, <a class="el" href="classPASNObject.html#s16">PASNObject::ASNType</a> type)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d8">EncodeASNUnsigned</a> (<a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;buffer, <a class="el" href="pasn_8h.html#a1">PASNUnsigned</a> data, <a class="el" href="classPASNObject.html#s16">PASNObject::ASNType</a> type)</td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d9">GetASNIntegerLength</a> (<a class="el" href="pasn_8h.html#a0">PASNInt</a> data)</td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d10">GetASNUnsignedLength</a> (<a class="el" href="pasn_8h.html#a1">PASNUnsigned</a> data)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d11">DecodeASNInteger</a> (const <a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;buffer, PINDEX &amp;ptr, <a class="el" href="pasn_8h.html#a0">PASNInt</a> &amp;value, <a class="el" href="classPASNObject.html#s16">ASNType</a> type=Integer)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#d12">DecodeASNUnsigned</a> (const <a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;buffer, PINDEX &amp;ptr, <a class="el" href="pasn_8h.html#a1">PASNUnsigned</a> &amp;value, <a class="el" href="classPASNObject.html#s16">ASNType</a> type=TimeTicks)</td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#b0">PASNObject</a> ()</td></tr><tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top>BYTE&nbsp;</td><td valign=bottom><a class="el" href="classPASNObject.html#q0">ASNTypeToType</a> [ASNTypeMax]</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>This class defines the common behviour of all ASN objects. It also contains several functions which are used for encoding common ASN primitives.<p>This class will never be instantiated directly. See the &lt;A&gt;<a class="el" href="classPASNInteger.html">PASNInteger</a>, &lt;A&gt;<a class="el" href="classPASNSequence.html">PASNSequence</a>, &lt;A&gt;<a class="el" href="classPASNString.html">PASNString</a> and &lt;A&gt;<a class="el" href="classPASNObjectID.html">PASNObjectID</a> classes for examples of ASN objects that can be created.<p>Only descendants of this class can be put into the &lt;A&gt;ASNSequence class. <p><hr><h2>Member Enumeration Documentation</h2><a name="s16" doxytag="PASNObject::ASNType"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> enum PASNObject::ASNType      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Value returned by the &lt;A&gt;<a class="el" href="classPASNObject.html#a0">GetType()</a> function to indicate the type of an ASN object <dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="s16s0" doxytag="Integer"></a><em>Integer</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s1" doxytag="String"></a><em>String</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s2" doxytag="ObjectID"></a><em>ObjectID</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s3" doxytag="Sequence"></a><em>Sequence</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s4" doxytag="Choice"></a><em>Choice</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s5" doxytag="IPAddress"></a><em>IPAddress</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s6" doxytag="Counter"></a><em>Counter</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s7" doxytag="Gauge"></a><em>Gauge</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s8" doxytag="TimeTicks"></a><em>TimeTicks</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s9" doxytag="Opaque"></a><em>Opaque</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s10" doxytag="NsapAddress"></a><em>NsapAddress</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s11" doxytag="Counter64"></a><em>Counter64</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s12" doxytag="UInteger32"></a><em>UInteger32</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s13" doxytag="Null"></a><em>Null</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s14" doxytag="Unknown"></a><em>Unknown</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="s16s15" doxytag="ASNTypeMax"></a><em>ASNTypeMax</em></em>&nbsp;</td><td></td></tr></table></dl>    </td>  </tr></table><hr><h2>Constructor &amp; Destructor Documentation</h2><a name="b0" doxytag="PASNObject::PASNObject"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> PASNObject::PASNObject </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [protected]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Create an empty ASN object. Used only by descendant constructors     </td>  </tr></table><hr><h2>Member Function Documentation</h2><a name="a11" doxytag="PASNObject::Clone"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> virtual <a class="el" href="classPObject.html">PObject</a>* PASNObject::Clone </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Virtual function used to duplicate objects <p>Reimplemented from <a class="el" href="classPObject.html#z203_0">PObject</a>.<p>Reimplemented in <a class="el" href="classPASNInteger.html#a5">PASNInteger</a>, <a class="el" href="classPASNString.html#a7">PASNString</a>, <a class="el" href="classPASNIPAddress.html#a8">PASNIPAddress</a>, <a class="el" href="classPASNTimeTicks.html#a3">PASNTimeTicks</a>, <a class="el" href="classPASNCounter.html#a3">PASNCounter</a>, <a class="el" href="classPASNGauge.html#a4">PASNGauge</a>, <a class="el" href="classPASNObjectID.html#a7">PASNObjectID</a>, and <a class="el" href="classPASNNull.html#a5">PASNNull</a>.    </td>  </tr></table><a name="d11" doxytag="PASNObject::DecodeASNInteger"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> BOOL PASNObject::DecodeASNInteger </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>PINDEX &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>ptr</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap><a class="el" href="pasn_8h.html#a0">PASNInt</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>value</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap><a class="el" href="classPASNObject.html#s16">ASNType</a>&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>type</em> = Integer</td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="d2" doxytag="PASNObject::DecodeASNLength"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> BOOL PASNObject::DecodeASNLength </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>PINDEX &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>ptr</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>WORD &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>len</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Decode an ASN length in the buffer at the given ptr. The ptr is moved to the byte after the end of the encoded length.     </td>  </tr></table><a name="d12" doxytag="PASNObject::DecodeASNUnsigned"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> BOOL PASNObject::DecodeASNUnsigned </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>PINDEX &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>ptr</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap><a class="el" href="pasn_8h.html#a1">PASNUnsigned</a> &amp;&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>value</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap><a class="el" href="classPASNObject.html#s16">ASNType</a>&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>type</em> = TimeTicks</td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="a9" doxytag="PASNObject::Encode"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> virtual void PASNObject::Encode </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="classPBYTEArray.html">PBYTEArray</a> &amp;&nbsp;</td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -