Chromium Code Reviews| Index: webrtc/sdk/android/src/jni/peerconnection_jni.cc |
| diff --git a/webrtc/sdk/android/src/jni/peerconnection_jni.cc b/webrtc/sdk/android/src/jni/peerconnection_jni.cc |
| index da552997758ae04e9e1cd15939e88ad446b7d74c..0d9af074f402f23809e4d45b38036c1b5f32c687 100644 |
| --- a/webrtc/sdk/android/src/jni/peerconnection_jni.cc |
| +++ b/webrtc/sdk/android/src/jni/peerconnection_jni.cc |
| @@ -1566,6 +1566,23 @@ static PeerConnectionInterface::ContinualGatheringPolicy |
| return PeerConnectionInterface::GATHER_ONCE; |
| } |
| +static PeerConnectionInterface::TlsCertificatePolicy |
|
magjed_webrtc
2016/12/16 11:57:54
I think the type name should be TlsCertPolicy here
hnsl1
2016/12/16 14:18:39
Done.
|
| +JavaTlsCertificatePolicyTypeToNativeType(JNIEnv* jni, |
| + jobject j_ice_server_tls_cert_policy) { |
| + std::string enum_name = |
| + GetJavaEnumName(jni, "org/webrtc/PeerConnection$TlsCertificatePolicy", |
| + j_ice_server_tls_cert_policy); |
| + |
| + if (enum_name == "TLS_CERT_POLICY_SECURE") |
| + return PeerConnectionInterface::kTlsCertPolicySecure; |
| + |
| + if (enum_name == "TLS_CERT_POLICY_INSECURE_NO_CHECK") |
| + return PeerConnectionInterface::kTlsCertPolicyInsecureNoCheck; |
| + |
| + RTC_CHECK(false) << "Unexpected TlsCertificatePolicy enum_name " << enum_name; |
| + return PeerConnectionInterface::kTlsCertPolicySecure; |
| +} |
| + |
| static void JavaIceServersToJsepIceServers( |
| JNIEnv* jni, jobject j_ice_servers, |
| PeerConnectionInterface::IceServers* ice_servers) { |
| @@ -1577,16 +1594,25 @@ static void JavaIceServersToJsepIceServers( |
| GetFieldID(jni, j_ice_server_class, "username", "Ljava/lang/String;"); |
| jfieldID j_ice_server_password_id = |
| GetFieldID(jni, j_ice_server_class, "password", "Ljava/lang/String;"); |
| + jfieldID j_ice_server_tls_cert_policy_id = |
| + GetFieldID(jni, j_ice_server_class, "tlsCertificatePolicy", |
| + "Lorg/webrtc/PeerConnection$TlsCertificatePolicy;"); |
| + jobject j_ice_server_tls_cert_policy = |
| + GetObjectField(jni, j_ice_server, j_ice_server_tls_cert_policy_id); |
| jstring uri = reinterpret_cast<jstring>( |
| GetObjectField(jni, j_ice_server, j_ice_server_uri_id)); |
| jstring username = reinterpret_cast<jstring>( |
| GetObjectField(jni, j_ice_server, j_ice_server_username_id)); |
| jstring password = reinterpret_cast<jstring>( |
| GetObjectField(jni, j_ice_server, j_ice_server_password_id)); |
| + PeerConnectionInterface::TlsCertificatePolicy tls_certificate_policy = |
| + JavaTlsCertificatePolicyTypeToNativeType(jni, |
| + j_ice_server_tls_cert_policy); |
| PeerConnectionInterface::IceServer server; |
| server.uri = JavaToStdString(jni, uri); |
| server.username = JavaToStdString(jni, username); |
| server.password = JavaToStdString(jni, password); |
| + server.tls_certificate_policy = tls_certificate_policy; |
| ice_servers->push_back(server); |
| } |
| } |