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); |
} |
} |