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 10namespace net { 11class IPEndPoint; 12} // namespace net 13 14namespace rtc { 15class SocketAddress; 16} // namespace rtc 17 18namespace cricket { 19class Candidate; 20} // namespace cricket 21 22namespace 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. 27bool IPEndPointToSocketAddress(const net::IPEndPoint& ip_endpoint, 28 rtc::SocketAddress* address); 29bool SocketAddressToIPEndPoint(const rtc::SocketAddress& address, 30 net::IPEndPoint* ip_endpoint); 31 32// Helper functions to serialize and deserialize P2P candidates. 33std::string SerializeP2PCandidate(const cricket::Candidate& candidate); 34bool DeserializeP2PCandidate(const std::string& address, 35 cricket::Candidate* candidate); 36 37} // namespace jingle_glue 38 39#endif // JINGLE_GLUE_UTILS_H_ 40