utils.h revision 7d4cd473f85ac64c3747c96c277f9e506a0d2246
1f2038fb01417bcf7698b87a5dfaa4a861539618aerik.corry@gmail.com// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org// Use of this source code is governed by a BSD-style license that can be 3a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org// found in the LICENSE file. 4a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org 5a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org#ifndef JINGLE_GLUE_UTILS_H_ 6a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org#define JINGLE_GLUE_UTILS_H_ 7a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org 8a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org#include <string> 9a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org 10a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgnamespace net { 11a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgclass IPEndPoint; 12a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org} // namespace net 13a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org 14a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgnamespace talk_base { 15a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgclass SocketAddress; 16a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org} // namespace talk_base 17a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org 18a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgnamespace cricket { 19a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgclass Candidate; 20a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org} // namespace cricket 21a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org 22a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgnamespace jingle_glue { 23a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org 24a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org// Chromium and libjingle represent socket addresses differently. The 25a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org// following two functions are used to convert addresses from one 26a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org// representation to another. 27a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgbool IPEndPointToSocketAddress(const net::IPEndPoint& ip_endpoint, 28a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org talk_base::SocketAddress* address); 29a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgbool SocketAddressToIPEndPoint(const talk_base::SocketAddress& address, 30a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org net::IPEndPoint* ip_endpoint); 31a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org 327979bbb1df2eaff193e85d44c8da1ffa1525b7fcfschneider@chromium.org// Helper functions to serialize and deserialize P2P candidates. 331c09276ce2ac5214e81ca554360b9f101187893blrn@chromium.orgstd::string SerializeP2PCandidate(const cricket::Candidate& candidate); 34a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.orgbool DeserializeP2PCandidate(const std::string& address, 35fb144a0716afe7ab8bf245f2391a9e53b3db3c89fschneider@chromium.org cricket::Candidate* candidate); 36c73d55b355913690124f3ee70c344035431cdd3ayangguo@chromium.org 377979bbb1df2eaff193e85d44c8da1ffa1525b7fcfschneider@chromium.org} // namespace jingle_glue 38a55512615f5adc085d23bc8589d155c4b579fb7bkasperl@chromium.org 39528ce02b8680a3ab6d75c7079f180a4016c69b7amachenbach@chromium.org#endif // JINGLE_GLUE_UTILS_H_ 40ddda9e81d3175130f2029c0e1205d265a00c32edjkummerow@chromium.org