<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Yate: SocketAddr Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> </div> </div> <div class="contents"> <h1>SocketAddr Class Reference</h1><!-- doxytag: class="TelEngine::SocketAddr" --><!-- doxytag: inherits="TelEngine::GenObject" -->A socket address holder. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="yateclass_8h-source.html">yateclass.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for SocketAddr:</div> <div class="dynsection"> <p><center><img src="classTelEngine_1_1SocketAddr.png" usemap="#SocketAddr_map" border="0" alt=""></center> <map name="SocketAddr_map"> <area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="0,0,78,24"> </map> </div> <p> <a href="classTelEngine_1_1SocketAddr-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 Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#f2902a97f96a0e66467961edcda9d111">SocketAddr</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#792fbce4f6fea145301f0b2fc3845c3b">SocketAddr</a> (const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> &value)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#ab4dd2f2601cab28738ebfe1bf006ebd">SocketAddr</a> (int family)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#b5d9b4e367bb8377ff6429fdc415d90a">SocketAddr</a> (const struct sockaddr *addr, socklen_t len=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#5d5c850d3cc0af974ceddfb16d933914">~SocketAddr</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#5496fbcf61652217ce164371a1014c5b">operator=</a> (const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> &value)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#9ef6f7cb24f296a0d62338091a20c2f1">operator==</a> (const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> &other) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#f8d327cd57aa43841871475ddab55a08">operator!=</a> (const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> &other) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#c8bb3912a3ce86b15842e79d0b421204">clear</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#28610c92f9d29c85b3db23ea32f92860">assign</a> (int family)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#b7ad8c2e951d40fac19009754f124fa0">assign</a> (const struct sockaddr *addr, socklen_t len=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#e095818a0a3393e1fbac045a4a6c4771">local</a> (const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> &remote)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#8d985300b138b6c5556ab17ed4df3b38">valid</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#b561ac96aa86fdf1cc003d863d3c03e2">null</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#9df4232a00cf1ec41c8c2f47ad4ed90e">family</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#ed2af6cf890f60ce6cc8b3c5b20e59c8">host</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#bc38ef4cbbc388d965c06372c030a8b3">host</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &name)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#1981d54240e9fac867f4de9ba7516c39">port</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#e60158bcccf53b28ad653c56f1011a1e">port</a> (int newport)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct sockaddr * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#0c517ec0bbef873850240fc686c78365">address</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">socklen_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#ee8ef48bf22fab0bf07bb1f87d73762a">length</a> () const </td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#b68bebfd91e69f9b3d6c2edfbd3c8b34">supports</a> (int family)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SocketAddr.html#3bafc3807fd17c3c4f01b7b83f8b633b">stringify</a> ()</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5361c11004c39334d2e8ec873e27276e"></a><!-- doxytag: member="TelEngine::SocketAddr::m_address" ref="5361c11004c39334d2e8ec873e27276e" args="" --> struct sockaddr * </td><td class="memItemRight" valign="bottom"><b>m_address</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f637811f8682e600a7c52db5a36925f7"></a><!-- doxytag: member="TelEngine::SocketAddr::m_length" ref="f637811f8682e600a7c52db5a36925f7" args="" --> socklen_t </td><td class="memItemRight" valign="bottom"><b>m_length</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6b428030de7200d27eeb3648f993313"></a><!-- doxytag: member="TelEngine::SocketAddr::m_host" ref="b6b428030de7200d27eeb3648f993313" args="" --> <a class="el" href="classTelEngine_1_1String.html">String</a> </td><td class="memItemRight" valign="bottom"><b>m_host</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A socket address holder. <p> Wrapper class to keep a socket address <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="f2902a97f96a0e66467961edcda9d111"></a><!-- doxytag: member="TelEngine::SocketAddr::SocketAddr" ref="f2902a97f96a0e66467961edcda9d111" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Default constructor of an empty address </div> </div><p> <a class="anchor" name="792fbce4f6fea145301f0b2fc3845c3b"></a><!-- doxytag: member="TelEngine::SocketAddr::SocketAddr" ref="792fbce4f6fea145301f0b2fc3845c3b" args="(const SocketAddr &value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> & </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Copy constructor <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>Address to copy </td></tr> </table> </dl> <p>References <a class="el" href="yateclass_8h-source.html#l03870">SocketAddr::address()</a>, and <a class="el" href="yateclass_8h-source.html#l03877">SocketAddr::length()</a>.</p> </div> </div><p> <a class="anchor" name="ab4dd2f2601cab28738ebfe1bf006ebd"></a><!-- doxytag: member="TelEngine::SocketAddr::SocketAddr" ref="ab4dd2f2601cab28738ebfe1bf006ebd" args="(int family)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>family</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor of a null address <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>family</em> </td><td>Family of the address to create </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="b5d9b4e367bb8377ff6429fdc415d90a"></a><!-- doxytag: member="TelEngine::SocketAddr::SocketAddr" ref="b5d9b4e367bb8377ff6429fdc415d90a" args="(const struct sockaddr *addr, socklen_t len=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> </td> <td>(</td> <td class="paramtype">const struct sockaddr * </td> <td class="paramname"> <em>addr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">socklen_t </td> <td class="paramname"> <em>len</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor that stores a copy of an address <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>Pointer to the address to store </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>Length of the stored address, zero to use default </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="5d5c850d3cc0af974ceddfb16d933914"></a><!-- doxytag: member="TelEngine::SocketAddr::~SocketAddr" ref="5d5c850d3cc0af974ceddfb16d933914" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor that frees and zeroes out everything </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="0c517ec0bbef873850240fc686c78365"></a><!-- doxytag: member="TelEngine::SocketAddr::address" ref="0c517ec0bbef873850240fc686c78365" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct sockaddr* address </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline, read]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the contained socket address <dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the socket address </dd></dl> <p>Referenced by <a class="el" href="yateclass_8h-source.html#l04381">Socket::bind()</a>, <a class="el" href="yateclass_8h-source.html#l04455">Socket::connect()</a>, <a class="el" href="yateclass_8h-source.html#l03775">SocketAddr::operator=()</a>, <a class="el" href="yateclass_8h-source.html#l04515">Socket::sendTo()</a>, and <a class="el" href="yateclass_8h-source.html#l03749">SocketAddr::SocketAddr()</a>.</p> </div> </div><p> <a class="anchor" name="b7ad8c2e951d40fac19009754f124fa0"></a><!-- doxytag: member="TelEngine::SocketAddr::assign" ref="b7ad8c2e951d40fac19009754f124fa0" args="(const struct sockaddr *addr, socklen_t len=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void assign </td> <td>(</td> <td class="paramtype">const struct sockaddr * </td> <td class="paramname"> <em>addr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">socklen_t </td> <td class="paramname"> <em>len</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Assigns a new address <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>Pointer to the address to store </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>Length of the stored address, zero to use default </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="28610c92f9d29c85b3db23ea32f92860"></a><!-- doxytag: member="TelEngine::SocketAddr::assign" ref="28610c92f9d29c85b3db23ea32f92860" args="(int family)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool assign </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>family</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Assigns an empty address of a specific type <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>family</em> </td><td>Family of the address to create </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the address family is supported </dd></dl> </div> </div><p> <a class="anchor" name="c8bb3912a3ce86b15842e79d0b421204"></a><!-- doxytag: member="TelEngine::SocketAddr::clear" ref="c8bb3912a3ce86b15842e79d0b421204" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void clear </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Clears up the address, frees the memory </div> </div><p> <a class="anchor" name="9df4232a00cf1ec41c8c2f47ad4ed90e"></a><!-- doxytag: member="TelEngine::SocketAddr::family" ref="9df4232a00cf1ec41c8c2f47ad4ed90e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int family </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the family of the stored address <dl class="return" compact><dt><b>Returns:</b></dt><dd>Address family of the stored address or zero (AF_UNSPEC) </dd></dl> </div> </div><p> <a class="anchor" name="bc38ef4cbbc388d965c06372c030a8b3"></a><!-- doxytag: member="TelEngine::SocketAddr::host" ref="bc38ef4cbbc388d965c06372c030a8b3" args="(const String &name)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool host </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>name</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the hostname of this address <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if new host set, false if name could not be parsed </dd></dl> </div> </div><p> <a class="anchor" name="ed2af6cf890f60ce6cc8b3c5b20e59c8"></a><!-- doxytag: member="TelEngine::SocketAddr::host" ref="ed2af6cf890f60ce6cc8b3c5b20e59c8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1String.html">String</a>& host </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the host of this address <dl class="return" compact><dt><b>Returns:</b></dt><dd>Host name as <a class="el" href="classTelEngine_1_1String.html" title="A C-style string handling class.">String</a> </dd></dl> </div> </div><p> <a class="anchor" name="ee8ef48bf22fab0bf07bb1f87d73762a"></a><!-- doxytag: member="TelEngine::SocketAddr::length" ref="ee8ef48bf22fab0bf07bb1f87d73762a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">socklen_t length </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the length of the address <dl class="return" compact><dt><b>Returns:</b></dt><dd>Length of the stored address </dd></dl> <p>Referenced by <a class="el" href="yateclass_8h-source.html#l04381">Socket::bind()</a>, <a class="el" href="yateclass_8h-source.html#l04455">Socket::connect()</a>, <a class="el" href="yateclass_8h-source.html#l03775">SocketAddr::operator=()</a>, <a class="el" href="yateclass_8h-source.html#l04515">Socket::sendTo()</a>, and <a class="el" href="yateclass_8h-source.html#l03749">SocketAddr::SocketAddr()</a>.</p> </div> </div><p> <a class="anchor" name="e095818a0a3393e1fbac045a4a6c4771"></a><!-- doxytag: member="TelEngine::SocketAddr::local" ref="e095818a0a3393e1fbac045a4a6c4771" args="(const SocketAddr &remote)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool local </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> & </td> <td class="paramname"> <em>remote</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Attempt to guess a local address that will be used to reach a remote one <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>remote</em> </td><td>Remote address to reach </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if guessed an address, false if failed </dd></dl> </div> </div><p> <a class="anchor" name="b561ac96aa86fdf1cc003d863d3c03e2"></a><!-- doxytag: member="TelEngine::SocketAddr::null" ref="b561ac96aa86fdf1cc003d863d3c03e2" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool null </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if a null address is held <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if a null address is held </dd></dl> </div> </div><p> <a class="anchor" name="f8d327cd57aa43841871475ddab55a08"></a><!-- doxytag: member="TelEngine::SocketAddr::operator!=" ref="f8d327cd57aa43841871475ddab55a08" args="(const SocketAddr &other) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> & </td> <td class="paramname"> <em>other</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Inequality comparation operator <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>other</em> </td><td>Address to compare to </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the addresses are different </dd></dl> </div> </div><p> <a class="anchor" name="5496fbcf61652217ce164371a1014c5b"></a><!-- doxytag: member="TelEngine::SocketAddr::operator=" ref="5496fbcf61652217ce164371a1014c5b" args="(const SocketAddr &value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a>& operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> & </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Assignment operator <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>Address to copy </td></tr> </table> </dl> <p>References <a class="el" href="yateclass_8h-source.html#l03870">SocketAddr::address()</a>, and <a class="el" href="yateclass_8h-source.html#l03877">SocketAddr::length()</a>.</p> </div> </div><p> <a class="anchor" name="9ef6f7cb24f296a0d62338091a20c2f1"></a><!-- doxytag: member="TelEngine::SocketAddr::operator==" ref="9ef6f7cb24f296a0d62338091a20c2f1" args="(const SocketAddr &other) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> & </td> <td class="paramname"> <em>other</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Equality comparation operator <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>other</em> </td><td>Address to compare to </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the addresses are equal </dd></dl> </div> </div><p> <a class="anchor" name="e60158bcccf53b28ad653c56f1011a1e"></a><!-- doxytag: member="TelEngine::SocketAddr::port" ref="e60158bcccf53b28ad653c56f1011a1e" args="(int newport)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool port </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>newport</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Set the port of the stored address (if supported) <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>newport</em> </td><td>Port number to set in the socket address </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if new port set, false if not supported </dd></dl> </div> </div><p> <a class="anchor" name="1981d54240e9fac867f4de9ba7516c39"></a><!-- doxytag: member="TelEngine::SocketAddr::port" ref="1981d54240e9fac867f4de9ba7516c39" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int port </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Get the port of the stored address (if supported) <dl class="return" compact><dt><b>Returns:</b></dt><dd>Port number of the socket address or zero </dd></dl> </div> </div><p> <a class="anchor" name="3bafc3807fd17c3c4f01b7b83f8b633b"></a><!-- doxytag: member="TelEngine::SocketAddr::stringify" ref="3bafc3807fd17c3c4f01b7b83f8b633b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void stringify </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Convert the host address to a <a class="el" href="classTelEngine_1_1String.html" title="A C-style string handling class.">String</a> stored in m_host </div> </div><p> <a class="anchor" name="b68bebfd91e69f9b3d6c2edfbd3c8b34"></a><!-- doxytag: member="TelEngine::SocketAddr::supports" ref="b68bebfd91e69f9b3d6c2edfbd3c8b34" args="(int family)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool supports </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>family</em> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if an address family is supported by the library <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>family</em> </td><td>Family of the address to check </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the address family is supported </dd></dl> </div> </div><p> <a class="anchor" name="8d985300b138b6c5556ab17ed4df3b38"></a><!-- doxytag: member="TelEngine::SocketAddr::valid" ref="8d985300b138b6c5556ab17ed4df3b38" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool valid </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if a non-null address is held <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if a valid address is held, false if null </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="yateclass_8h-source.html">yateclass.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:11 2008 for Yate by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body> </html>