blob: 7c0f1f51dcb06bb36ed4129e517633cc6f7b9faa [file] [log] [blame]
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +00001/*
2 * Copyright 2013 The WebRTC Project Authors. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#include "webrtc/p2p/base/transportdescription.h"
12
kjellanderf4752772016-03-02 05:42:30 -080013#include "webrtc/p2p/base/p2pconstants.h"
Edward Lemurc20978e2017-07-06 19:44:34 +020014#include "webrtc/rtc_base/arraysize.h"
15#include "webrtc/rtc_base/stringutils.h"
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +000016
17namespace cricket {
18
19bool StringToConnectionRole(const std::string& role_str, ConnectionRole* role) {
20 const char* const roles[] = {
21 CONNECTIONROLE_ACTIVE_STR,
22 CONNECTIONROLE_PASSIVE_STR,
23 CONNECTIONROLE_ACTPASS_STR,
24 CONNECTIONROLE_HOLDCONN_STR
25 };
26
tfarina5237aaf2015-11-10 23:44:30 -080027 for (size_t i = 0; i < arraysize(roles); ++i) {
henrike@webrtc.org269fb4b2014-10-28 22:20:11 +000028 if (_stricmp(roles[i], role_str.c_str()) == 0) {
29 *role = static_cast<ConnectionRole>(CONNECTIONROLE_ACTIVE + i);
30 return true;
31 }
32 }
33 return false;
34}
35
36bool ConnectionRoleToString(const ConnectionRole& role, std::string* role_str) {
37 switch (role) {
38 case cricket::CONNECTIONROLE_ACTIVE:
39 *role_str = cricket::CONNECTIONROLE_ACTIVE_STR;
40 break;
41 case cricket::CONNECTIONROLE_ACTPASS:
42 *role_str = cricket::CONNECTIONROLE_ACTPASS_STR;
43 break;
44 case cricket::CONNECTIONROLE_PASSIVE:
45 *role_str = cricket::CONNECTIONROLE_PASSIVE_STR;
46 break;
47 case cricket::CONNECTIONROLE_HOLDCONN:
48 *role_str = cricket::CONNECTIONROLE_HOLDCONN_STR;
49 break;
50 default:
51 return false;
52 }
53 return true;
54}
55
56} // namespace cricket