• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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.
4 
5 #ifndef JINGLE_GLUE_UTILS_H_
6 #define JINGLE_GLUE_UTILS_H_
7 
8 #include <string>
9 
10 namespace net {
11 class IPEndPoint;
12 }  // namespace net
13 
14 namespace talk_base {
15 class SocketAddress;
16 }  // namespace talk_base
17 
18 namespace cricket {
19 class Candidate;
20 }  // namespace cricket
21 
22 namespace jingle_glue {
23 
24 // Chromium and libjingle represent socket addresses differently. The
25 // following two functions are used to convert addresses from one
26 // representation to another.
27 bool IPEndPointToSocketAddress(const net::IPEndPoint& ip_endpoint,
28                                talk_base::SocketAddress* address);
29 bool SocketAddressToIPEndPoint(const talk_base::SocketAddress& address,
30                                net::IPEndPoint* ip_endpoint);
31 
32 // Helper functions to serialize and deserialize P2P candidates.
33 std::string SerializeP2PCandidate(const cricket::Candidate& candidate);
34 bool DeserializeP2PCandidate(const std::string& address,
35                              cricket::Candidate* candidate);
36 
37 }  // namespace jingle_glue
38 
39 #endif  // JINGLE_GLUE_UTILS_H_
40