Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(167)

Side by Side Diff: ppapi/cpp/private/net_address_private.cc

Issue 9722008: Add CreateFromIPv[46]Address() in PPB_NetAddress_Private. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ppapi/cpp/private/net_address_private.h" 5 #include "ppapi/cpp/private/net_address_private.h"
6 6
7 #include "ppapi/c/pp_bool.h" 7 #include "ppapi/c/pp_bool.h"
8 #include "ppapi/cpp/module.h" 8 #include "ppapi/cpp/module.h"
9 #include "ppapi/cpp/module_impl.h" 9 #include "ppapi/cpp/module_impl.h"
10 #include "ppapi/cpp/var.h" 10 #include "ppapi/cpp/var.h"
11 11
12 namespace pp { 12 namespace pp {
13 13
14 namespace { 14 namespace {
15 15
16 template <> const char* interface_name<PPB_NetAddress_Private_1_1>() {
17 return PPB_NETADDRESS_PRIVATE_INTERFACE_1_1;
18 }
19
16 template <> const char* interface_name<PPB_NetAddress_Private_1_0>() { 20 template <> const char* interface_name<PPB_NetAddress_Private_1_0>() {
17 return PPB_NETADDRESS_PRIVATE_INTERFACE_1_0; 21 return PPB_NETADDRESS_PRIVATE_INTERFACE_1_0;
18 } 22 }
19 23
20 template <> const char* interface_name<PPB_NetAddress_Private_0_1>() { 24 template <> const char* interface_name<PPB_NetAddress_Private_0_1>() {
21 return PPB_NETADDRESS_PRIVATE_INTERFACE_0_1; 25 return PPB_NETADDRESS_PRIVATE_INTERFACE_0_1;
22 } 26 }
23 27
24 } // namespace 28 } // namespace
25 29
26 // static 30 // static
27 bool NetAddressPrivate::IsAvailable() { 31 bool NetAddressPrivate::IsAvailable() {
28 return has_interface<PPB_NetAddress_Private_1_0>() || 32 return has_interface<PPB_NetAddress_Private_1_0>() ||
viettrungluu 2012/03/21 17:42:55 You should update all this.
Sergey Ulanov 2012/03/21 18:14:51 Done.
29 has_interface<PPB_NetAddress_Private_0_1>(); 33 has_interface<PPB_NetAddress_Private_0_1>();
30 } 34 }
31 35
32 // static 36 // static
33 bool NetAddressPrivate::AreEqual(const PP_NetAddress_Private& addr1, 37 bool NetAddressPrivate::AreEqual(const PP_NetAddress_Private& addr1,
34 const PP_NetAddress_Private& addr2) { 38 const PP_NetAddress_Private& addr2) {
35 if (has_interface<PPB_NetAddress_Private_1_0>()) { 39 if (has_interface<PPB_NetAddress_Private_1_0>()) {
viettrungluu 2012/03/21 17:42:55 And add a 1.1 case here.
Sergey Ulanov 2012/03/21 18:14:51 Done.
36 return !!get_interface<PPB_NetAddress_Private_1_0>()->AreEqual(&addr1, 40 return !!get_interface<PPB_NetAddress_Private_1_0>()->AreEqual(&addr1,
37 &addr2); 41 &addr2);
38 } 42 }
39 if (has_interface<PPB_NetAddress_Private_0_1>()) { 43 if (has_interface<PPB_NetAddress_Private_0_1>()) {
40 return !!get_interface<PPB_NetAddress_Private_0_1>()->AreEqual(&addr1, 44 return !!get_interface<PPB_NetAddress_Private_0_1>()->AreEqual(&addr1,
41 &addr2); 45 &addr2);
42 } 46 }
43 return false; 47 return false;
44 } 48 }
45 49
46 // static 50 // static
47 bool NetAddressPrivate::AreHostsEqual(const PP_NetAddress_Private& addr1, 51 bool NetAddressPrivate::AreHostsEqual(const PP_NetAddress_Private& addr1,
48 const PP_NetAddress_Private& addr2) { 52 const PP_NetAddress_Private& addr2) {
49 if (has_interface<PPB_NetAddress_Private_1_0>()) { 53 if (has_interface<PPB_NetAddress_Private_1_0>()) {
viettrungluu 2012/03/21 17:42:55 Etc.
Sergey Ulanov 2012/03/21 18:14:51 Done.
50 return !!get_interface<PPB_NetAddress_Private_1_0>()->AreHostsEqual(&addr1, 54 return !!get_interface<PPB_NetAddress_Private_1_0>()->AreHostsEqual(&addr1,
51 &addr2); 55 &addr2);
52 } 56 }
53 if (has_interface<PPB_NetAddress_Private_0_1>()) { 57 if (has_interface<PPB_NetAddress_Private_0_1>()) {
54 return !!get_interface<PPB_NetAddress_Private_0_1>()->AreHostsEqual(&addr1, 58 return !!get_interface<PPB_NetAddress_Private_0_1>()->AreHostsEqual(&addr1,
55 &addr2); 59 &addr2);
56 } 60 }
57 return false; 61 return false;
58 } 62 }
59 63
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 uint16_t address_size) { 137 uint16_t address_size) {
134 if (has_interface<PPB_NetAddress_Private_1_0>()) { 138 if (has_interface<PPB_NetAddress_Private_1_0>()) {
135 return PP_ToBool(get_interface<PPB_NetAddress_Private_1_0>()->GetAddress( 139 return PP_ToBool(get_interface<PPB_NetAddress_Private_1_0>()->GetAddress(
136 &addr, 140 &addr,
137 address, 141 address,
138 address_size)); 142 address_size));
139 } 143 }
140 return false; 144 return false;
141 } 145 }
142 146
147 // static
148 void NetAddressPrivate::CreateFromIPv4Address(
149 const uint8_t ip[4],
150 uint16_t port,
151 struct PP_NetAddress_Private* addr_out) {
152 if (has_interface<PPB_NetAddress_Private_1_1>()) {
153 get_interface<PPB_NetAddress_Private_1_1>()->CreateFromIPv4Address(
154 ip, port, addr_out);
155 }
viettrungluu 2012/03/21 17:42:55 Probably this should either return a bool indicati
Sergey Ulanov 2012/03/21 18:14:51 Yes, agree. Done.
viettrungluu 2012/03/22 04:54:34 Fixing GetAnyAddress() should be fine. In general
Sergey Ulanov 2012/03/22 17:43:48 Done.
156 }
157
158 // static
159 void NetAddressPrivate::CreateFromIPv6Address(
viettrungluu 2012/03/21 17:42:55 "
Sergey Ulanov 2012/03/21 18:14:51 Done.
160 const uint8_t ip[16],
161 uint32_t scope_id,
162 uint16_t port,
163 struct PP_NetAddress_Private* addr_out) {
164 if (has_interface<PPB_NetAddress_Private_1_1>()) {
165 get_interface<PPB_NetAddress_Private_1_1>()->CreateFromIPv6Address(
166 ip, scope_id, port, addr_out);
167 }
168 }
169
143 } // namespace pp 170 } // namespace pp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698