// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights // reserved. Use of this source code is governed by a BSD-style license that // can be found in the LICENSE file. #include "CefResponse_N.h" #include "include/cef_response.h" #include "jni_scoped_helpers.h" #include "jni_util.h" namespace { const char kCefClassName[] = "CefResponse"; CefRefPtr GetSelf(jlong self) { return reinterpret_cast(self); } } // namespace JNIEXPORT jobject JNICALL Java_org_cef_network_CefResponse_1N_N_1Create(JNIEnv* env, jclass cls) { CefRefPtr response = CefResponse::Create(); ScopedJNIResponse jresponse(env, response); return jresponse.Release(); } JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1Dispose(JNIEnv* env, jobject obj, jlong self) { SetCefForJNIObject(env, obj, nullptr, kCefClassName); } JNIEXPORT jboolean JNICALL Java_org_cef_network_CefResponse_1N_N_1IsReadOnly(JNIEnv* env, jobject obj, jlong self) { CefRefPtr response = GetSelf(self); if (!response) return JNI_FALSE; return response->IsReadOnly() ? JNI_TRUE : JNI_FALSE; } JNIEXPORT jobject JNICALL Java_org_cef_network_CefResponse_1N_N_1GetError(JNIEnv* env, jobject obj, jlong self) { CefRefPtr response = GetSelf(self); if (!response) return nullptr; return NewJNIErrorCode(env, response->GetError()); } JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1SetError(JNIEnv* env, jobject obj, jlong self, jobject jerrorCode) { CefRefPtr response = GetSelf(self); if (!response) return; if (!jerrorCode) return; response->SetError(GetJNIErrorCode(env, jerrorCode)); } JNIEXPORT jint JNICALL Java_org_cef_network_CefResponse_1N_N_1GetStatus(JNIEnv* env, jobject obj, jlong self) { CefRefPtr response = GetSelf(self); if (!response) return 0; return response->GetStatus(); } JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1SetStatus(JNIEnv* env, jobject obj, jlong self, jint jstatus) { CefRefPtr response = GetSelf(self); if (!response) return; return response->SetStatus(jstatus); } JNIEXPORT jstring JNICALL Java_org_cef_network_CefResponse_1N_N_1GetStatusText(JNIEnv* env, jobject obj, jlong self) { CefRefPtr response = GetSelf(self); if (!response) return nullptr; return NewJNIString(env, response->GetStatusText()); } JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1SetStatusText(JNIEnv* env, jobject obj, jlong self, jstring jstatus) { CefRefPtr response = GetSelf(self); if (!response) return; response->SetStatusText(GetJNIString(env, jstatus)); } JNIEXPORT jstring JNICALL Java_org_cef_network_CefResponse_1N_N_1GetMimeType(JNIEnv* env, jobject obj, jlong self) { CefRefPtr response = GetSelf(self); if (!response) return nullptr; return NewJNIString(env, response->GetMimeType()); } JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1SetMimeType(JNIEnv* env, jobject obj, jlong self, jstring jmimeType) { CefRefPtr response = GetSelf(self); if (!response) return; response->SetMimeType(GetJNIString(env, jmimeType)); } JNIEXPORT jstring JNICALL Java_org_cef_network_CefResponse_1N_N_1GetHeaderByName(JNIEnv* env, jobject obj, jlong self, jstring jname) { CefRefPtr response = GetSelf(self); if (!response) return nullptr; return NewJNIString(env, response->GetHeaderByName(GetJNIString(env, jname))); } JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1SetHeaderByName(JNIEnv* env, jobject obj, jlong self, jstring jname, jstring jvalue, jboolean joverride) { CefRefPtr response = GetSelf(self); if (!response) return; return response->SetHeaderByName(GetJNIString(env, jname), GetJNIString(env, jvalue), joverride != JNI_FALSE); } JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1GetHeaderMap(JNIEnv* env, jobject obj, jlong self, jobject jheaderMap) { CefRefPtr response = GetSelf(self); if (!response) return; CefResponse::HeaderMap headerMap; response->GetHeaderMap(headerMap); SetJNIStringMultiMap(env, jheaderMap, headerMap); } JNIEXPORT void JNICALL Java_org_cef_network_CefResponse_1N_N_1SetHeaderMap(JNIEnv* env, jobject obj, jlong self, jobject jheaderMap) { CefRefPtr response = GetSelf(self); if (!response) return; CefResponse::HeaderMap headerMap; GetJNIStringMultiMap(env, jheaderMap, headerMap); response->SetHeaderMap(headerMap); }