📄 classpmodem.html
字号:
<!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>PModem 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> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>PModem Class Reference</h1><code>#include <<a class="el" href="modem_8h-source.html">modem.h</a>></code><p><p>Inheritance diagram for PModem:<p><center><img src="classPModem.png" usemap="#PModem_map" border="0" alt=""></center><map name="PModem_map"><area href="classPSerialChannel.html" alt="PSerialChannel" shape="rect" coords="0,112,100,136"><area href="classPChannel.html" alt="PChannel" shape="rect" coords="0,56,100,80"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,100,24"></map><a href="classPModem-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 </td><td valign=bottom><a class="el" href="classPModem.html#s17">Status</a> { <br> <a class="el" href="classPModem.html#s17s0">Unopened</a>, <a class="el" href="classPModem.html#s17s1">Uninitialised</a>, <a class="el" href="classPModem.html#s17s2">Initialising</a>, <a class="el" href="classPModem.html#s17s3">Initialised</a>, <br> <a class="el" href="classPModem.html#s17s4">InitialiseFailed</a>, <a class="el" href="classPModem.html#s17s5">Dialling</a>, <a class="el" href="classPModem.html#s17s6">DialFailed</a>, <a class="el" href="classPModem.html#s17s7">AwaitingResponse</a>, <br> <a class="el" href="classPModem.html#s17s8">LineBusy</a>, <a class="el" href="classPModem.html#s17s9">NoCarrier</a>, <a class="el" href="classPModem.html#s17s10">Connected</a>, <a class="el" href="classPModem.html#s17s11">HangingUp</a>, <br> <a class="el" href="classPModem.html#s17s12">HangUpFailed</a>, <a class="el" href="classPModem.html#s17s13">Deinitialising</a>, <a class="el" href="classPModem.html#s17s14">DeinitialiseFailed</a>, <a class="el" href="classPModem.html#s17s15">SendingUserCommand</a>, <br> <a class="el" href="classPModem.html#s17s16">NumStatuses</a><br> }</td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPModem.html#a0">PModem</a> ()</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPModem.html#a1">PModem</a> (const <a class="el" href="classPString.html">PString</a> &port, DWORD speed=0, BYTE data=0, <a class="el" href="classPSerialChannel.html#z349_0">Parity</a> parity=DefaultParity, BYTE stop=0, <a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> inputFlow=DefaultFlowControl, <a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> outputFlow=DefaultFlowControl)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPModem.html#a2">PModem</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a3">Close</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a4">Open</a> (const <a class="el" href="classPString.html">PString</a> &port, DWORD speed=0, BYTE data=0, <a class="el" href="classPSerialChannel.html#z349_0">Parity</a> parity=DefaultParity, BYTE stop=0, <a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> inputFlow=DefaultFlowControl, <a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> outputFlow=DefaultFlowControl)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a5">Open</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg)</td></tr><tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classPModem.html#a6">SaveSettings</a> (<a class="el" href="classPConfig.html">PConfig</a> &cfg)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPModem.html#a7">SetInitString</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#a8">GetInitString</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a9">CanInitialise</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a10">Initialise</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPModem.html#a11">SetDeinitString</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#a12">GetDeinitString</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a13">CanDeinitialise</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a14">Deinitialise</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPModem.html#a15">SetPreDialString</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#a16">GetPreDialString</a> () const</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPModem.html#a17">SetPostDialString</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#a18">GetPostDialString</a> () const</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPModem.html#a19">SetBusyString</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#a20">GetBusyString</a> () const</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPModem.html#a21">SetNoCarrierString</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#a22">GetNoCarrierString</a> () const</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPModem.html#a23">SetConnectString</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#a24">GetConnectString</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a25">CanDial</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a26">Dial</a> (const <a class="el" href="classPString.html">PString</a> &number)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPModem.html#a27">SetHangUpString</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#a28">GetHangUpString</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a29">CanHangUp</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a30">HangUp</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a31">CanSendUser</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a32">SendUser</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPModem.html#a33">Abort</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPModem.html#a34">CanRead</a> () const</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPModem.html#s17">Status</a> </td><td valign=bottom><a class="el" href="classPModem.html#a35">GetStatus</a> () const</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#n0">initCmd</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#n1">deinitCmd</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#n2">preDialCmd</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#n3">postDialCmd</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#n4">busyReply</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#n5">noCarrierReply</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#n6">connectReply</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPModem.html#n7">hangUpCmd</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPModem.html#s17">Status</a> </td><td valign=bottom><a class="el" href="classPModem.html#n8">status</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>A class representing a modem attached to a serial port. This adds the usual modem operations to the basic serial port.<p>A modem object is always in a particular state. This state determines what operations are allowed which then move the object to other states. The operations are the exchange of strings in "chat" script.<p>The following defaults are used for command strings: initialise <code>ATZ\r\w2sOK\w100m</code> deinitialise <code>\d2s+++\d2sATH0\r</code> pre-dial <code>ATDT</code> post-dial <code>\r</code> busy reply <code>BUSY</code> no carrier reply <code>NO CARRIER</code> connect reply <code>CONNECT</code> hang up <code>\d2s+++\d2sATH0\r</code> <p><hr><h2>Member Enumeration Documentation</h2><a name="s17" doxytag="PModem::Status"></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 PModem::Status </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="s17s0" doxytag="Unopened"></a><em>Unopened</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s1" doxytag="Uninitialised"></a><em>Uninitialised</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s2" doxytag="Initialising"></a><em>Initialising</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s3" doxytag="Initialised"></a><em>Initialised</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s4" doxytag="InitialiseFailed"></a><em>InitialiseFailed</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s5" doxytag="Dialling"></a><em>Dialling</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s6" doxytag="DialFailed"></a><em>DialFailed</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s7" doxytag="AwaitingResponse"></a><em>AwaitingResponse</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s8" doxytag="LineBusy"></a><em>LineBusy</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s9" doxytag="NoCarrier"></a><em>NoCarrier</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s10" doxytag="Connected"></a><em>Connected</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s11" doxytag="HangingUp"></a><em>HangingUp</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s12" doxytag="HangUpFailed"></a><em>HangUpFailed</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s13" doxytag="Deinitialising"></a><em>Deinitialising</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s14" doxytag="DeinitialiseFailed"></a><em>DeinitialiseFailed</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s15" doxytag="SendingUserCommand"></a><em>SendingUserCommand</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s17s16" doxytag="NumStatuses"></a><em>NumStatuses</em></em> </td><td></td></tr></table></dl> </td> </tr></table><hr><h2>Constructor & Destructor Documentation</h2><a name="a0" doxytag="PModem::PModem"></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"> PModem::PModem </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Create a modem object on the serial port specified. If no port was specified do not open it. It does not initially have a valid port name.<p>See the <A><a class="el" href="classPSerialChannel.html">PSerialChannel</a> class for more information on the parameters. </td> </tr></table><a name="a1" doxytag="PModem::PModem"></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"> PModem::PModem </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> & </td> <td class="mdname" nowrap> <em>port</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>DWORD </td> <td class="mdname" nowrap> <em>speed</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BYTE </td> <td class="mdname" nowrap> <em>data</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="classPSerialChannel.html#z349_0">Parity</a> </td> <td class="mdname" nowrap> <em>parity</em> = DefaultParity, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BYTE </td> <td class="mdname" nowrap> <em>stop</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> </td> <td class="mdname" nowrap> <em>inputFlow</em> = DefaultFlowControl, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="classPSerialChannel.html#z349_1">FlowControl</a> </td> <td class="mdname" nowrap> <em>outputFlow</em> = DefaultFlowControl</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a2" doxytag="PModem::PModem"></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"> PModem::PModem </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPConfig.html">PConfig</a> & </td> <td class="mdname1" valign="top" nowrap> <em>cfg</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Open the modem serial channel obtaining the parameters from standard variables in the configuration file. Note that it assumed that the correct configuration file section is already set. </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="a33" doxytag="PModem::Abort"></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"> void PModem::Abort </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a13" doxytag="PModem::CanDeinitialise"></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 PModem::CanDeinitialise </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>The modem is in a state that allows the de-initialise to start.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if the <A><a class="el" href="classPModem.html#a14">Deinitialise()</a> function may proceeed. </dl> </td> </tr></table><a name="a25" doxytag="PModem::CanDial"></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 PModem::CanDial </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>The modem is in a state that allows the dial to start.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if the <A><a class="el" href="classPModem.html#a26">Dial()</a> function may proceeed. </dl> </td> </tr></table><a name="a29" doxytag="PModem::CanHangUp"></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 PModem::CanHangUp </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -