Add an exponential backoff to rechecking the app list doodle.
[chromium-blink-merge.git] / ppapi / cpp / private / net_address_private.h
blob5ad50d736e8f7d3cf97289a898c3bb5ec925799c
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
3 // found in the LICENSE file.
5 #ifndef PPAPI_CPP_PRIVATE_NET_ADDRESS_PRIVATE_H_
6 #define PPAPI_CPP_PRIVATE_NET_ADDRESS_PRIVATE_H_
8 #include <string>
10 #include "ppapi/c/pp_stdint.h"
11 #include "ppapi/c/private/ppb_net_address_private.h"
13 namespace pp {
15 class NetAddressPrivate {
16 public:
17 // Returns true if the required interface is available.
18 static bool IsAvailable();
20 static bool AreEqual(const PP_NetAddress_Private& addr1,
21 const PP_NetAddress_Private& addr2);
22 static bool AreHostsEqual(const PP_NetAddress_Private& addr1,
23 const PP_NetAddress_Private& addr2);
24 static std::string Describe(const PP_NetAddress_Private& addr,
25 bool include_port);
26 static bool ReplacePort(const PP_NetAddress_Private& addr_in,
27 uint16_t port,
28 PP_NetAddress_Private* addr_out);
29 static bool GetAnyAddress(bool is_ipv6, PP_NetAddress_Private* addr);
30 static PP_NetAddressFamily_Private GetFamily(
31 const PP_NetAddress_Private& addr);
32 static uint16_t GetPort(const PP_NetAddress_Private& addr);
33 static bool GetAddress(const PP_NetAddress_Private& addr,
34 void* address,
35 uint16_t address_size);
36 static uint32_t GetScopeID(const PP_NetAddress_Private& addr);
37 static bool CreateFromIPv4Address(const uint8_t ip[4],
38 uint16_t port,
39 struct PP_NetAddress_Private* addr_out);
40 static bool CreateFromIPv6Address(const uint8_t ip[16],
41 uint32_t scope_id,
42 uint16_t port,
43 struct PP_NetAddress_Private* addr_out);
46 } // namespace pp
48 #endif // PPAPI_CPP_PRIVATE_NET_ADDRESS_PRIVATE_H_