Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 |
| OLD | NEW |