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">&#160;</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">&#160;</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">&#160;</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> &amp;instance, const PP_NetAddress_IPv4 &amp;ipv4_addr)</td></tr>
27<tr><td class="memItemLeft" align="right" valign="top">&#160;</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> &amp;instance, const PP_NetAddress_IPv6 &amp;ipv6_addr)</td></tr>
28<tr><td class="memItemLeft" align="right" valign="top">&#160;</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> &amp;other)</td></tr>
29<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</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> &amp;&#160;</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> &amp;other)</td></tr>
31<tr><td class="memItemLeft" align="right" valign="top">PP_NetAddress_Family&#160;</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>&#160;</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&#160;</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&#160;</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&#160;</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 &amp; 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>&#160;</td>
66<td class="paramname">, </td>
67</tr>
68<tr>
69<td class="paramkey"></td>
70<td></td>
71<td class="paramtype">PP_Resource&#160;</td>
72<td class="paramname"><em>resource</em>&#160;</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 &amp;instance, const PP_NetAddress_IPv4 &amp;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> &amp;&#160;</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 &amp;&#160;</td>
105<td class="paramname"><em>ipv4_addr</em>&#160;</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 &amp;instance, const PP_NetAddress_IPv6 &amp;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> &amp;&#160;</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 &amp;&#160;</td>
139<td class="paramname"><em>ipv6_addr</em>&#160;</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 &amp;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> &amp;&#160;</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 *&#160;</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 *&#160;</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&#160;</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 &amp;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>&amp; pp::NetAddress::operator= </td>
314<td>(</td>
315<td class="paramtype">const <a class="el" href="classpp_1_1_net_address.html">NetAddress</a> &amp;&#160;</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