classpp_1_1_net_address.html revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
1{{+bindTo:partials.standard_nacl_article}} 2<h1>pp::NetAddress Class Reference</h1> 3<div id="doxygen-ref"> 4{{- dummy div to appease doxygen -}} 5 <div> 6<!-- Generated by Doxygen 1.7.6.1 --> 7 8 9 10</div> 11<!--header--> 12<div class="contents"> 13<!-- doxytag: class="pp::NetAddress" --><!-- doxytag: inherits="pp::Resource" --><div class="dynheader"> 14Inheritance diagram for pp::NetAddress:</div> 15<div class="dyncontent"> 16<div class="center"><img src="classpp_1_1_net_address__inherit__graph.png" border="0" usemap="#pp_1_1_net_address_inherit__map" alt="Inheritance graph" /></div> 17<map name="pp_1_1_net_address_inherit__map" id="pp_1_1_net_address_inherit__map"> 18<area shape="rect" id="node2" href="classpp_1_1_resource.html" title="A reference counted module resource." alt="" coords="13,5,117,35"></area></map> 19<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> 20<p><a href="classpp_1_1_net_address-members.html">List of all members.</a></p> 21<h2> 22Public Member Functions</h2><table class="memberdecls"> 23 24<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">NetAddress</a> ()</td></tr> 25<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ade2ad27841d2ccedbb202ee2c1eade14">NetAddress</a> (<a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a>, PP_Resource resource)</td></tr> 26<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ae54044b80f97d259cb23b924a877ce53">NetAddress</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const PP_NetAddress_IPv4 &ipv4_addr)</td></tr> 27<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a76442610ed533079115a5150b7a9c98c">NetAddress</a> (const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> &instance, const PP_NetAddress_IPv6 &ipv6_addr)</td></tr> 28<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a8c0b559bd205387c199aba688c356298">NetAddress</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &other)</td></tr> 29<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">~NetAddress</a> ()</td></tr> 30<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#ab12bb266c9714d818aedc9cce7a209cf">operator=</a> (const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &other)</td></tr> 31<tr><td class="memItemLeft" align="right" valign="top">PP_NetAddress_Family </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">GetFamily</a> () const </td></tr> 32<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpp_1_1_var.html">Var</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">DescribeAsString</a> (bool include_port) const </td></tr> 33<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">DescribeAsIPv4Address</a> (PP_NetAddress_IPv4 *ipv4_addr) const </td></tr> 34<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">DescribeAsIPv6Address</a> (PP_NetAddress_IPv6 *ipv6_addr) const </td></tr> 35</table><h2> 36Static Public Member Functions</h2><table class="memberdecls"> 37<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">IsAvailable</a> ()</td></tr> 38</table> 39<hr /><a name="details" id="details"></a><h2>Detailed Description</h2> 40<div class="textblock"><p>The <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> class represents a network address. </p> 41</div><hr /><h2>Constructor & Destructor Documentation</h2> 42<a class="anchor" id="abe4887a33342dac27318079f07bb012d"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="abe4887a33342dac27318079f07bb012d" args="()" --> 43<div class="memitem"> 44<div class="memproto"> 45<table class="memname"> 46<tr> 47<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td> 48<td>(</td> 49<td class="paramname"></td><td>)</td> 50<td></td> 51</tr> 52</table> 53</div> 54<div class="memdoc"> 55<p>Default constructor for creating an <a class="el" href="classpp_1_1_resource.html#a859068e34cdc2dc0b78754c255323aa9" title="This functions determines if this resource is invalid or uninitialized.">is_null()</a> <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </p> 56</div> 57</div> 58<a class="anchor" id="ade2ad27841d2ccedbb202ee2c1eade14"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="ade2ad27841d2ccedbb202ee2c1eade14" args="(PassRef, PP_Resource resource)" --> 59<div class="memitem"> 60<div class="memproto"> 61<table class="memname"> 62<tr> 63<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td> 64<td>(</td> 65<td class="paramtype"><a class="el" href="namespacepp.html#a339083c1beec620267bf8b3c55decaa5">PassRef</a> </td> 66<td class="paramname">, </td> 67</tr> 68<tr> 69<td class="paramkey"></td> 70<td></td> 71<td class="paramtype">PP_Resource </td> 72<td class="paramname"><em>resource</em> </td> 73</tr> 74<tr> 75<td></td> 76<td>)</td> 77<td></td><td></td> 78</tr> 79</table> 80</div> 81<div class="memdoc"> 82<p>A constructor used when you have received a <code>PP_Resource</code> as a return value that has had 1 ref added for you. </p> 83<dl class="params"><dt><b>Parameters:</b></dt><dd> 84<table class="params"> 85<tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>A <code>PPB_NetAddress</code> resource. </td></tr> 86</table> 87</dd> 88</dl> 89</div> 90</div> 91<a class="anchor" id="ae54044b80f97d259cb23b924a877ce53"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="ae54044b80f97d259cb23b924a877ce53" args="(const InstanceHandle &instance, const PP_NetAddress_IPv4 &ipv4_addr)" --> 92<div class="memitem"> 93<div class="memproto"> 94<table class="memname"> 95<tr> 96<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td> 97<td>(</td> 98<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td> 99<td class="paramname"><em>instance</em>, </td> 100</tr> 101<tr> 102<td class="paramkey"></td> 103<td></td> 104<td class="paramtype">const PP_NetAddress_IPv4 & </td> 105<td class="paramname"><em>ipv4_addr</em> </td> 106</tr> 107<tr> 108<td></td> 109<td>)</td> 110<td></td><td></td> 111</tr> 112</table> 113</div> 114<div class="memdoc"> 115<p>A constructor used to create a <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object with the specified IPv4 address. </p> 116<dl class="params"><dt><b>Parameters:</b></dt><dd> 117<table class="params"> 118<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr> 119<tr><td class="paramdir">[in]</td><td class="paramname">ipv4_addr</td><td>An IPv4 address. </td></tr> 120</table> 121</dd> 122</dl> 123</div> 124</div> 125<a class="anchor" id="a76442610ed533079115a5150b7a9c98c"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="a76442610ed533079115a5150b7a9c98c" args="(const InstanceHandle &instance, const PP_NetAddress_IPv6 &ipv6_addr)" --> 126<div class="memitem"> 127<div class="memproto"> 128<table class="memname"> 129<tr> 130<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td> 131<td>(</td> 132<td class="paramtype">const <a class="el" href="classpp_1_1_instance_handle.html">InstanceHandle</a> & </td> 133<td class="paramname"><em>instance</em>, </td> 134</tr> 135<tr> 136<td class="paramkey"></td> 137<td></td> 138<td class="paramtype">const PP_NetAddress_IPv6 & </td> 139<td class="paramname"><em>ipv6_addr</em> </td> 140</tr> 141<tr> 142<td></td> 143<td>)</td> 144<td></td><td></td> 145</tr> 146</table> 147</div> 148<div class="memdoc"> 149<p>A constructor used to create a <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object with the specified IPv6 address. </p> 150<dl class="params"><dt><b>Parameters:</b></dt><dd> 151<table class="params"> 152<tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr> 153<tr><td class="paramdir">[in]</td><td class="paramname">ipv6_addr</td><td>An IPv6 address. </td></tr> 154</table> 155</dd> 156</dl> 157</div> 158</div> 159<a class="anchor" id="a8c0b559bd205387c199aba688c356298"></a><!-- doxytag: member="pp::NetAddress::NetAddress" ref="a8c0b559bd205387c199aba688c356298" args="(const NetAddress &other)" --> 160<div class="memitem"> 161<div class="memproto"> 162<table class="memname"> 163<tr> 164<td class="memname"><a class="el" href="classpp_1_1_net_address.html#abe4887a33342dac27318079f07bb012d">pp::NetAddress::NetAddress</a> </td> 165<td>(</td> 166<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td> 167<td class="paramname"><em>other</em></td><td>)</td> 168<td></td> 169</tr> 170</table> 171</div> 172<div class="memdoc"> 173<p>The copy constructor for <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </p> 174<dl class="params"><dt><b>Parameters:</b></dt><dd> 175<table class="params"> 176<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </td></tr> 177</table> 178</dd> 179</dl> 180</div> 181</div> 182<a class="anchor" id="a06b05fdecaf0b32ee74e7ebbb85a0674"></a><!-- doxytag: member="pp::NetAddress::~NetAddress" ref="a06b05fdecaf0b32ee74e7ebbb85a0674" args="()" --> 183<div class="memitem"> 184<div class="memproto"> 185<table class="memname"> 186<tr> 187<td class="memname">virtual <a class="el" href="classpp_1_1_net_address.html#a06b05fdecaf0b32ee74e7ebbb85a0674">pp::NetAddress::~NetAddress</a> </td> 188<td>(</td> 189<td class="paramname"></td><td>)</td> 190<td><code> [virtual]</code></td> 191</tr> 192</table> 193</div> 194<div class="memdoc"> 195<p>The destructor. </p> 196</div> 197</div> 198<hr /><h2>Member Function Documentation</h2> 199<a class="anchor" id="a3fdbd86db0384bf334dabcefa5e46237"></a><!-- doxytag: member="pp::NetAddress::DescribeAsIPv4Address" ref="a3fdbd86db0384bf334dabcefa5e46237" args="(PP_NetAddress_IPv4 *ipv4_addr) const " --> 200<div class="memitem"> 201<div class="memproto"> 202<table class="memname"> 203<tr> 204<td class="memname">bool <a class="el" href="classpp_1_1_net_address.html#a3fdbd86db0384bf334dabcefa5e46237">pp::NetAddress::DescribeAsIPv4Address</a> </td> 205<td>(</td> 206<td class="paramtype">PP_NetAddress_IPv4 * </td> 207<td class="paramname"><em>ipv4_addr</em></td><td>)</td> 208<td> const</td> 209</tr> 210</table> 211</div> 212<div class="memdoc"> 213<p>Fills a <code>PP_NetAddress_IPv4</code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family. </p> 214<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family will fail even if the address is an IPv4-mapped IPv6 address.</p> 215<dl class="params"><dt><b>Parameters:</b></dt><dd> 216<table class="params"> 217<tr><td class="paramdir">[out]</td><td class="paramname">ipv4_addr</td><td>A <code>PP_NetAddress_IPv4</code> structure to store the result.</td></tr> 218</table> 219</dd> 220</dl> 221<dl class="return"><dt><b>Returns:</b></dt><dd>A boolean value indicating whether the operation succeeded. </dd></dl> 222</div> 223</div> 224<a class="anchor" id="a81991279a52f8d38d9b75e1e607a81a5"></a><!-- doxytag: member="pp::NetAddress::DescribeAsIPv6Address" ref="a81991279a52f8d38d9b75e1e607a81a5" args="(PP_NetAddress_IPv6 *ipv6_addr) const " --> 225<div class="memitem"> 226<div class="memproto"> 227<table class="memname"> 228<tr> 229<td class="memname">bool <a class="el" href="classpp_1_1_net_address.html#a81991279a52f8d38d9b75e1e607a81a5">pp::NetAddress::DescribeAsIPv6Address</a> </td> 230<td>(</td> 231<td class="paramtype">PP_NetAddress_IPv6 * </td> 232<td class="paramname"><em>ipv6_addr</em></td><td>)</td> 233<td> const</td> 234</tr> 235</table> 236</div> 237<div class="memdoc"> 238<p>Fills a <code>PP_NetAddress_IPv6</code> structure if the network address is of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family. </p> 239<p>Note that passing a network address of <code>PP_NETADDRESS_FAMILY_IPV4</code> address family will fail - this method doesn't map it to an IPv6 address.</p> 240<dl class="params"><dt><b>Parameters:</b></dt><dd> 241<table class="params"> 242<tr><td class="paramdir">[out]</td><td class="paramname">ipv6_addr</td><td>A <code>PP_NetAddress_IPv6</code> structure to store the result.</td></tr> 243</table> 244</dd> 245</dl> 246<dl class="return"><dt><b>Returns:</b></dt><dd>A boolean value indicating whether the operation succeeded. </dd></dl> 247</div> 248</div> 249<a class="anchor" id="a9ff9ad19269af1c00ff02542397e92cc"></a><!-- doxytag: member="pp::NetAddress::DescribeAsString" ref="a9ff9ad19269af1c00ff02542397e92cc" args="(bool include_port) const " --> 250<div class="memitem"> 251<div class="memproto"> 252<table class="memname"> 253<tr> 254<td class="memname"><a class="el" href="classpp_1_1_var.html">Var</a> <a class="el" href="classpp_1_1_net_address.html#a9ff9ad19269af1c00ff02542397e92cc">pp::NetAddress::DescribeAsString</a> </td> 255<td>(</td> 256<td class="paramtype">bool </td> 257<td class="paramname"><em>include_port</em></td><td>)</td> 258<td> const</td> 259</tr> 260</table> 261</div> 262<div class="memdoc"> 263<p>Returns a human-readable description of the network address. </p> 264<p>The description is in the form of host [ ":" port ] and conforms to <a href="http://tools.ietf.org/html/rfc3986#section-3.2">http://tools.ietf.org/html/rfc3986#section-3.2</a> for IPv4 and IPv6 addresses (e.g., "192.168.0.1", "192.168.0.1:99", or "[::1]:80").</p> 265<dl class="params"><dt><b>Parameters:</b></dt><dd> 266<table class="params"> 267<tr><td class="paramdir">[in]</td><td class="paramname">include_port</td><td>Whether to include the port number in the description.</td></tr> 268</table> 269</dd> 270</dl> 271<dl class="return"><dt><b>Returns:</b></dt><dd>A string <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on success; an undefined <code><a class="el" href="classpp_1_1_var.html" title="A generic type used for passing data types between the module and the page.">Var</a></code> on failure. </dd></dl> 272</div> 273</div> 274<a class="anchor" id="a271533da67cd5c6f536c6595b439bd9b"></a><!-- doxytag: member="pp::NetAddress::GetFamily" ref="a271533da67cd5c6f536c6595b439bd9b" args="() const " --> 275<div class="memitem"> 276<div class="memproto"> 277<table class="memname"> 278<tr> 279<td class="memname">PP_NetAddress_Family <a class="el" href="classpp_1_1_net_address.html#a271533da67cd5c6f536c6595b439bd9b">pp::NetAddress::GetFamily</a> </td> 280<td>(</td> 281<td class="paramname"></td><td>)</td> 282<td> const</td> 283</tr> 284</table> 285</div> 286<div class="memdoc"> 287<p>Gets the address family. </p> 288<dl class="return"><dt><b>Returns:</b></dt><dd>The address family on success; <code>PP_NETADDRESS_FAMILY_UNSPECIFIED</code> on failure. </dd></dl> 289</div> 290</div> 291<a class="anchor" id="a15547416a0b50b6ebd271ca421a91068"></a><!-- doxytag: member="pp::NetAddress::IsAvailable" ref="a15547416a0b50b6ebd271ca421a91068" args="()" --> 292<div class="memitem"> 293<div class="memproto"> 294<table class="memname"> 295<tr> 296<td class="memname">static bool <a class="el" href="classpp_1_1_net_address.html#a15547416a0b50b6ebd271ca421a91068">pp::NetAddress::IsAvailable</a> </td> 297<td>(</td> 298<td class="paramname"></td><td>)</td> 299<td><code> [static]</code></td> 300</tr> 301</table> 302</div> 303<div class="memdoc"> 304<p>Static function for determining whether the browser supports the <code>PPB_NetAddress</code> interface. </p> 305<dl class="return"><dt><b>Returns:</b></dt><dd>true if the interface is available, false otherwise. </dd></dl> 306</div> 307</div> 308<a class="anchor" id="ab12bb266c9714d818aedc9cce7a209cf"></a><!-- doxytag: member="pp::NetAddress::operator=" ref="ab12bb266c9714d818aedc9cce7a209cf" args="(const NetAddress &other)" --> 309<div class="memitem"> 310<div class="memproto"> 311<table class="memname"> 312<tr> 313<td class="memname"><a class="el" href="classpp_1_1_net_address.html">NetAddress</a>& pp::NetAddress::operator= </td> 314<td>(</td> 315<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> & </td> 316<td class="paramname"><em>other</em></td><td>)</td> 317<td></td> 318</tr> 319</table> 320</div> 321<div class="memdoc"> 322<p>The assignment operator for <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>. </p> 323<dl class="params"><dt><b>Parameters:</b></dt><dd> 324<table class="params"> 325<tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>A reference to another <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code>.</td></tr> 326</table> 327</dd> 328</dl> 329<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to this <code><a class="el" href="classpp_1_1_net_address.html" title="The NetAddress class represents a network address.">NetAddress</a></code> object. </dd></dl> 330</div> 331</div> 332<hr />The documentation for this class was generated from the following file:<ul> 333<li><a class="el" href="net__address_8h.html">net_address.h</a></li> 334</ul> 335</div><!-- contents --> 336</div> 337{{/partials.standard_nacl_article}} 338