/*******************************************************************************
 * Copyright (c) 2020 Equo
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *    Guillermo Zunino, Equo - initial implementation
 *******************************************************************************/

/* Note: This file was auto-generated by org.eclipse.swt.tools.internal.JNIGenerator */
/* DO NOT EDIT - your changes will be lost. */

#include "swt.h"
#include "chromiumlib_structs.h"

#ifndef NO_FunctionSt
typedef struct FunctionSt_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID id, port, args;
} FunctionSt_FID_CACHE;

FunctionSt_FID_CACHE FunctionStFc;

void cacheFunctionStFields(JNIEnv *env, jobject lpObject)
{
	if (FunctionStFc.cached) return;
	FunctionStFc.clazz = (*env)->GetObjectClass(env, lpObject);
	FunctionStFc.id = (*env)->GetFieldID(env, FunctionStFc.clazz, "id", "I");
	FunctionStFc.port = (*env)->GetFieldID(env, FunctionStFc.clazz, "port", "I");
	FunctionStFc.args = (*env)->GetFieldID(env, FunctionStFc.clazz, "args", "I");
	FunctionStFc.cached = 1;
}

FunctionSt *getFunctionStFields(JNIEnv *env, jobject lpObject, FunctionSt *lpStruct)
{
	if (!FunctionStFc.cached) cacheFunctionStFields(env, lpObject);
	lpStruct->id = (*env)->GetIntField(env, lpObject, FunctionStFc.id);
	lpStruct->port = (*env)->GetIntField(env, lpObject, FunctionStFc.port);
	lpStruct->args = (*env)->GetIntField(env, lpObject, FunctionStFc.args);
	return lpStruct;
}

void setFunctionStFields(JNIEnv *env, jobject lpObject, FunctionSt *lpStruct)
{
	if (!FunctionStFc.cached) cacheFunctionStFields(env, lpObject);
	(*env)->SetIntField(env, lpObject, FunctionStFc.id, (jint)lpStruct->id);
	(*env)->SetIntField(env, lpObject, FunctionStFc.port, (jint)lpStruct->port);
	(*env)->SetIntField(env, lpObject, FunctionStFc.args, (jint)lpStruct->args);
}
#endif

#ifndef NO_cef_app_t
typedef struct cef_app_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, on_before_command_line_processing, on_register_custom_schemes, get_resource_bundle_handler, get_browser_process_handler, get_render_process_handler;
} cef_app_t_FID_CACHE;

cef_app_t_FID_CACHE cef_app_tFc;

void cachecef_app_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_app_tFc.cached) return;
	cef_app_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_app_tFc.base = (*env)->GetFieldID(env, cef_app_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_app_tFc.on_before_command_line_processing = (*env)->GetFieldID(env, cef_app_tFc.clazz, "on_before_command_line_processing", "J");
	cef_app_tFc.on_register_custom_schemes = (*env)->GetFieldID(env, cef_app_tFc.clazz, "on_register_custom_schemes", "J");
	cef_app_tFc.get_resource_bundle_handler = (*env)->GetFieldID(env, cef_app_tFc.clazz, "get_resource_bundle_handler", "J");
	cef_app_tFc.get_browser_process_handler = (*env)->GetFieldID(env, cef_app_tFc.clazz, "get_browser_process_handler", "J");
	cef_app_tFc.get_render_process_handler = (*env)->GetFieldID(env, cef_app_tFc.clazz, "get_render_process_handler", "J");
	cef_app_tFc.cached = 1;
}

cef_app_t *getcef_app_tFields(JNIEnv *env, jobject lpObject, cef_app_t *lpStruct)
{
	if (!cef_app_tFc.cached) cachecef_app_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_app_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->on_before_command_line_processing = (void*)(*env)->GetLongField(env, lpObject, cef_app_tFc.on_before_command_line_processing);
	lpStruct->on_register_custom_schemes = (void*)(*env)->GetLongField(env, lpObject, cef_app_tFc.on_register_custom_schemes);
	lpStruct->get_resource_bundle_handler = (void*)(*env)->GetLongField(env, lpObject, cef_app_tFc.get_resource_bundle_handler);
	lpStruct->get_browser_process_handler = (void*)(*env)->GetLongField(env, lpObject, cef_app_tFc.get_browser_process_handler);
	lpStruct->get_render_process_handler = (void*)(*env)->GetLongField(env, lpObject, cef_app_tFc.get_render_process_handler);
	return lpStruct;
}

void setcef_app_tFields(JNIEnv *env, jobject lpObject, cef_app_t *lpStruct)
{
	if (!cef_app_tFc.cached) cachecef_app_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_app_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_app_tFc.on_before_command_line_processing, (jlong)lpStruct->on_before_command_line_processing);
	(*env)->SetLongField(env, lpObject, cef_app_tFc.on_register_custom_schemes, (jlong)lpStruct->on_register_custom_schemes);
	(*env)->SetLongField(env, lpObject, cef_app_tFc.get_resource_bundle_handler, (jlong)lpStruct->get_resource_bundle_handler);
	(*env)->SetLongField(env, lpObject, cef_app_tFc.get_browser_process_handler, (jlong)lpStruct->get_browser_process_handler);
	(*env)->SetLongField(env, lpObject, cef_app_tFc.get_render_process_handler, (jlong)lpStruct->get_render_process_handler);
}
#endif

#ifndef NO_cef_base_ref_counted_t
typedef struct cef_base_ref_counted_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID size, add_ref, release, has_one_ref;
} cef_base_ref_counted_t_FID_CACHE;

cef_base_ref_counted_t_FID_CACHE cef_base_ref_counted_tFc;

void cachecef_base_ref_counted_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_base_ref_counted_tFc.cached) return;
	cef_base_ref_counted_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_base_ref_counted_tFc.size = (*env)->GetFieldID(env, cef_base_ref_counted_tFc.clazz, "size", "I");
	cef_base_ref_counted_tFc.add_ref = (*env)->GetFieldID(env, cef_base_ref_counted_tFc.clazz, "add_ref", "J");
	cef_base_ref_counted_tFc.release = (*env)->GetFieldID(env, cef_base_ref_counted_tFc.clazz, "release", "J");
	cef_base_ref_counted_tFc.has_one_ref = (*env)->GetFieldID(env, cef_base_ref_counted_tFc.clazz, "has_one_ref", "J");
	cef_base_ref_counted_tFc.cached = 1;
}

cef_base_ref_counted_t *getcef_base_ref_counted_tFields(JNIEnv *env, jobject lpObject, cef_base_ref_counted_t *lpStruct)
{
	if (!cef_base_ref_counted_tFc.cached) cachecef_base_ref_counted_tFields(env, lpObject);
	lpStruct->size = (size_t)(*env)->GetIntField(env, lpObject, cef_base_ref_counted_tFc.size);
	lpStruct->add_ref = (void*)(*env)->GetLongField(env, lpObject, cef_base_ref_counted_tFc.add_ref);
	lpStruct->release = (void*)(*env)->GetLongField(env, lpObject, cef_base_ref_counted_tFc.release);
	lpStruct->has_one_ref = (void*)(*env)->GetLongField(env, lpObject, cef_base_ref_counted_tFc.has_one_ref);
	return lpStruct;
}

void setcef_base_ref_counted_tFields(JNIEnv *env, jobject lpObject, cef_base_ref_counted_t *lpStruct)
{
	if (!cef_base_ref_counted_tFc.cached) cachecef_base_ref_counted_tFields(env, lpObject);
	(*env)->SetIntField(env, lpObject, cef_base_ref_counted_tFc.size, (jint)lpStruct->size);
	(*env)->SetLongField(env, lpObject, cef_base_ref_counted_tFc.add_ref, (jlong)lpStruct->add_ref);
	(*env)->SetLongField(env, lpObject, cef_base_ref_counted_tFc.release, (jlong)lpStruct->release);
	(*env)->SetLongField(env, lpObject, cef_base_ref_counted_tFc.has_one_ref, (jlong)lpStruct->has_one_ref);
}
#endif

#ifndef NO_cef_browser_process_handler_t
typedef struct cef_browser_process_handler_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, on_context_initialized, on_before_child_process_launch, on_render_process_thread_created, get_print_handler, on_schedule_message_pump_work;
} cef_browser_process_handler_t_FID_CACHE;

cef_browser_process_handler_t_FID_CACHE cef_browser_process_handler_tFc;

void cachecef_browser_process_handler_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_browser_process_handler_tFc.cached) return;
	cef_browser_process_handler_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_browser_process_handler_tFc.base = (*env)->GetFieldID(env, cef_browser_process_handler_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_browser_process_handler_tFc.on_context_initialized = (*env)->GetFieldID(env, cef_browser_process_handler_tFc.clazz, "on_context_initialized", "J");
	cef_browser_process_handler_tFc.on_before_child_process_launch = (*env)->GetFieldID(env, cef_browser_process_handler_tFc.clazz, "on_before_child_process_launch", "J");
	cef_browser_process_handler_tFc.on_render_process_thread_created = (*env)->GetFieldID(env, cef_browser_process_handler_tFc.clazz, "on_render_process_thread_created", "J");
	cef_browser_process_handler_tFc.get_print_handler = (*env)->GetFieldID(env, cef_browser_process_handler_tFc.clazz, "get_print_handler", "J");
	cef_browser_process_handler_tFc.on_schedule_message_pump_work = (*env)->GetFieldID(env, cef_browser_process_handler_tFc.clazz, "on_schedule_message_pump_work", "J");
	cef_browser_process_handler_tFc.cached = 1;
}

cef_browser_process_handler_t *getcef_browser_process_handler_tFields(JNIEnv *env, jobject lpObject, cef_browser_process_handler_t *lpStruct)
{
	if (!cef_browser_process_handler_tFc.cached) cachecef_browser_process_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_browser_process_handler_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->on_context_initialized = (void*)(*env)->GetLongField(env, lpObject, cef_browser_process_handler_tFc.on_context_initialized);
	lpStruct->on_before_child_process_launch = (void*)(*env)->GetLongField(env, lpObject, cef_browser_process_handler_tFc.on_before_child_process_launch);
	lpStruct->on_render_process_thread_created = (void*)(*env)->GetLongField(env, lpObject, cef_browser_process_handler_tFc.on_render_process_thread_created);
	lpStruct->get_print_handler = (void*)(*env)->GetLongField(env, lpObject, cef_browser_process_handler_tFc.get_print_handler);
	lpStruct->on_schedule_message_pump_work = (void*)(*env)->GetLongField(env, lpObject, cef_browser_process_handler_tFc.on_schedule_message_pump_work);
	return lpStruct;
}

void setcef_browser_process_handler_tFields(JNIEnv *env, jobject lpObject, cef_browser_process_handler_t *lpStruct)
{
	if (!cef_browser_process_handler_tFc.cached) cachecef_browser_process_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_browser_process_handler_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_browser_process_handler_tFc.on_context_initialized, (jlong)lpStruct->on_context_initialized);
	(*env)->SetLongField(env, lpObject, cef_browser_process_handler_tFc.on_before_child_process_launch, (jlong)lpStruct->on_before_child_process_launch);
	(*env)->SetLongField(env, lpObject, cef_browser_process_handler_tFc.on_render_process_thread_created, (jlong)lpStruct->on_render_process_thread_created);
	(*env)->SetLongField(env, lpObject, cef_browser_process_handler_tFc.get_print_handler, (jlong)lpStruct->get_print_handler);
	(*env)->SetLongField(env, lpObject, cef_browser_process_handler_tFc.on_schedule_message_pump_work, (jlong)lpStruct->on_schedule_message_pump_work);
}
#endif

#ifndef NO_cef_client_t
typedef struct cef_client_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, get_context_menu_handler, get_dialog_handler, get_display_handler, get_download_handler, get_drag_handler, get_find_handler, get_focus_handler, get_geolocation_handler, get_jsdialog_handler, get_keyboard_handler, get_life_span_handler, get_load_handler, get_render_handler, get_request_handler, on_process_message_received;
} cef_client_t_FID_CACHE;

cef_client_t_FID_CACHE cef_client_tFc;

void cachecef_client_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_client_tFc.cached) return;
	cef_client_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_client_tFc.base = (*env)->GetFieldID(env, cef_client_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_client_tFc.get_context_menu_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_context_menu_handler", "J");
	cef_client_tFc.get_dialog_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_dialog_handler", "J");
	cef_client_tFc.get_display_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_display_handler", "J");
	cef_client_tFc.get_download_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_download_handler", "J");
	cef_client_tFc.get_drag_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_drag_handler", "J");
	cef_client_tFc.get_find_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_find_handler", "J");
	cef_client_tFc.get_focus_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_focus_handler", "J");
	cef_client_tFc.get_geolocation_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_geolocation_handler", "J");
	cef_client_tFc.get_jsdialog_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_jsdialog_handler", "J");
	cef_client_tFc.get_keyboard_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_keyboard_handler", "J");
	cef_client_tFc.get_life_span_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_life_span_handler", "J");
	cef_client_tFc.get_load_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_load_handler", "J");
	cef_client_tFc.get_render_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_render_handler", "J");
	cef_client_tFc.get_request_handler = (*env)->GetFieldID(env, cef_client_tFc.clazz, "get_request_handler", "J");
	cef_client_tFc.on_process_message_received = (*env)->GetFieldID(env, cef_client_tFc.clazz, "on_process_message_received", "J");
	cef_client_tFc.cached = 1;
}

cef_client_t *getcef_client_tFields(JNIEnv *env, jobject lpObject, cef_client_t *lpStruct)
{
	if (!cef_client_tFc.cached) cachecef_client_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_client_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->get_context_menu_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_context_menu_handler);
	lpStruct->get_dialog_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_dialog_handler);
	lpStruct->get_display_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_display_handler);
	lpStruct->get_download_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_download_handler);
	lpStruct->get_drag_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_drag_handler);
	lpStruct->get_find_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_find_handler);
	lpStruct->get_focus_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_focus_handler);
	lpStruct->get_geolocation_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_geolocation_handler);
	lpStruct->get_jsdialog_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_jsdialog_handler);
	lpStruct->get_keyboard_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_keyboard_handler);
	lpStruct->get_life_span_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_life_span_handler);
	lpStruct->get_load_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_load_handler);
	lpStruct->get_render_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_render_handler);
	lpStruct->get_request_handler = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.get_request_handler);
	lpStruct->on_process_message_received = (void*)(*env)->GetLongField(env, lpObject, cef_client_tFc.on_process_message_received);
	return lpStruct;
}

void setcef_client_tFields(JNIEnv *env, jobject lpObject, cef_client_t *lpStruct)
{
	if (!cef_client_tFc.cached) cachecef_client_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_client_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_context_menu_handler, (jlong)lpStruct->get_context_menu_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_dialog_handler, (jlong)lpStruct->get_dialog_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_display_handler, (jlong)lpStruct->get_display_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_download_handler, (jlong)lpStruct->get_download_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_drag_handler, (jlong)lpStruct->get_drag_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_find_handler, (jlong)lpStruct->get_find_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_focus_handler, (jlong)lpStruct->get_focus_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_geolocation_handler, (jlong)lpStruct->get_geolocation_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_jsdialog_handler, (jlong)lpStruct->get_jsdialog_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_keyboard_handler, (jlong)lpStruct->get_keyboard_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_life_span_handler, (jlong)lpStruct->get_life_span_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_load_handler, (jlong)lpStruct->get_load_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_render_handler, (jlong)lpStruct->get_render_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.get_request_handler, (jlong)lpStruct->get_request_handler);
	(*env)->SetLongField(env, lpObject, cef_client_tFc.on_process_message_received, (jlong)lpStruct->on_process_message_received);
}
#endif

#ifndef NO_cef_context_menu_handler_t
typedef struct cef_context_menu_handler_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, on_before_context_menu, run_context_menu, on_context_menu_command, on_context_menu_dismissed;
} cef_context_menu_handler_t_FID_CACHE;

cef_context_menu_handler_t_FID_CACHE cef_context_menu_handler_tFc;

void cachecef_context_menu_handler_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_context_menu_handler_tFc.cached) return;
	cef_context_menu_handler_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_context_menu_handler_tFc.base = (*env)->GetFieldID(env, cef_context_menu_handler_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_context_menu_handler_tFc.on_before_context_menu = (*env)->GetFieldID(env, cef_context_menu_handler_tFc.clazz, "on_before_context_menu", "J");
	cef_context_menu_handler_tFc.run_context_menu = (*env)->GetFieldID(env, cef_context_menu_handler_tFc.clazz, "run_context_menu", "J");
	cef_context_menu_handler_tFc.on_context_menu_command = (*env)->GetFieldID(env, cef_context_menu_handler_tFc.clazz, "on_context_menu_command", "J");
	cef_context_menu_handler_tFc.on_context_menu_dismissed = (*env)->GetFieldID(env, cef_context_menu_handler_tFc.clazz, "on_context_menu_dismissed", "J");
	cef_context_menu_handler_tFc.cached = 1;
}

cef_context_menu_handler_t *getcef_context_menu_handler_tFields(JNIEnv *env, jobject lpObject, cef_context_menu_handler_t *lpStruct)
{
	if (!cef_context_menu_handler_tFc.cached) cachecef_context_menu_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_context_menu_handler_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->on_before_context_menu = (void*)(*env)->GetLongField(env, lpObject, cef_context_menu_handler_tFc.on_before_context_menu);
	lpStruct->run_context_menu = (void*)(*env)->GetLongField(env, lpObject, cef_context_menu_handler_tFc.run_context_menu);
	lpStruct->on_context_menu_command = (void*)(*env)->GetLongField(env, lpObject, cef_context_menu_handler_tFc.on_context_menu_command);
	lpStruct->on_context_menu_dismissed = (void*)(*env)->GetLongField(env, lpObject, cef_context_menu_handler_tFc.on_context_menu_dismissed);
	return lpStruct;
}

void setcef_context_menu_handler_tFields(JNIEnv *env, jobject lpObject, cef_context_menu_handler_t *lpStruct)
{
	if (!cef_context_menu_handler_tFc.cached) cachecef_context_menu_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_context_menu_handler_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_context_menu_handler_tFc.on_before_context_menu, (jlong)lpStruct->on_before_context_menu);
	(*env)->SetLongField(env, lpObject, cef_context_menu_handler_tFc.run_context_menu, (jlong)lpStruct->run_context_menu);
	(*env)->SetLongField(env, lpObject, cef_context_menu_handler_tFc.on_context_menu_command, (jlong)lpStruct->on_context_menu_command);
	(*env)->SetLongField(env, lpObject, cef_context_menu_handler_tFc.on_context_menu_dismissed, (jlong)lpStruct->on_context_menu_dismissed);
}
#endif

#ifndef NO_cef_cookie_visitor_t
typedef struct cef_cookie_visitor_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, visit;
} cef_cookie_visitor_t_FID_CACHE;

cef_cookie_visitor_t_FID_CACHE cef_cookie_visitor_tFc;

void cachecef_cookie_visitor_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_cookie_visitor_tFc.cached) return;
	cef_cookie_visitor_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_cookie_visitor_tFc.base = (*env)->GetFieldID(env, cef_cookie_visitor_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_cookie_visitor_tFc.visit = (*env)->GetFieldID(env, cef_cookie_visitor_tFc.clazz, "visit", "J");
	cef_cookie_visitor_tFc.cached = 1;
}

cef_cookie_visitor_t *getcef_cookie_visitor_tFields(JNIEnv *env, jobject lpObject, cef_cookie_visitor_t *lpStruct)
{
	if (!cef_cookie_visitor_tFc.cached) cachecef_cookie_visitor_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_cookie_visitor_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->visit = (void*)(*env)->GetLongField(env, lpObject, cef_cookie_visitor_tFc.visit);
	return lpStruct;
}

void setcef_cookie_visitor_tFields(JNIEnv *env, jobject lpObject, cef_cookie_visitor_t *lpStruct)
{
	if (!cef_cookie_visitor_tFc.cached) cachecef_cookie_visitor_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_cookie_visitor_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_cookie_visitor_tFc.visit, (jlong)lpStruct->visit);
}
#endif

#ifndef NO_cef_display_handler_t
typedef struct cef_display_handler_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, on_address_change, on_title_change, on_favicon_urlchange, on_fullscreen_mode_change, on_tooltip, on_status_message, on_console_message;
} cef_display_handler_t_FID_CACHE;

cef_display_handler_t_FID_CACHE cef_display_handler_tFc;

void cachecef_display_handler_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_display_handler_tFc.cached) return;
	cef_display_handler_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_display_handler_tFc.base = (*env)->GetFieldID(env, cef_display_handler_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_display_handler_tFc.on_address_change = (*env)->GetFieldID(env, cef_display_handler_tFc.clazz, "on_address_change", "J");
	cef_display_handler_tFc.on_title_change = (*env)->GetFieldID(env, cef_display_handler_tFc.clazz, "on_title_change", "J");
	cef_display_handler_tFc.on_favicon_urlchange = (*env)->GetFieldID(env, cef_display_handler_tFc.clazz, "on_favicon_urlchange", "J");
	cef_display_handler_tFc.on_fullscreen_mode_change = (*env)->GetFieldID(env, cef_display_handler_tFc.clazz, "on_fullscreen_mode_change", "J");
	cef_display_handler_tFc.on_tooltip = (*env)->GetFieldID(env, cef_display_handler_tFc.clazz, "on_tooltip", "J");
	cef_display_handler_tFc.on_status_message = (*env)->GetFieldID(env, cef_display_handler_tFc.clazz, "on_status_message", "J");
	cef_display_handler_tFc.on_console_message = (*env)->GetFieldID(env, cef_display_handler_tFc.clazz, "on_console_message", "J");
	cef_display_handler_tFc.cached = 1;
}

cef_display_handler_t *getcef_display_handler_tFields(JNIEnv *env, jobject lpObject, cef_display_handler_t *lpStruct)
{
	if (!cef_display_handler_tFc.cached) cachecef_display_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_display_handler_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->on_address_change = (void*)(*env)->GetLongField(env, lpObject, cef_display_handler_tFc.on_address_change);
	lpStruct->on_title_change = (void*)(*env)->GetLongField(env, lpObject, cef_display_handler_tFc.on_title_change);
	lpStruct->on_favicon_urlchange = (void*)(*env)->GetLongField(env, lpObject, cef_display_handler_tFc.on_favicon_urlchange);
	lpStruct->on_fullscreen_mode_change = (void*)(*env)->GetLongField(env, lpObject, cef_display_handler_tFc.on_fullscreen_mode_change);
	lpStruct->on_tooltip = (void*)(*env)->GetLongField(env, lpObject, cef_display_handler_tFc.on_tooltip);
	lpStruct->on_status_message = (void*)(*env)->GetLongField(env, lpObject, cef_display_handler_tFc.on_status_message);
	lpStruct->on_console_message = (void*)(*env)->GetLongField(env, lpObject, cef_display_handler_tFc.on_console_message);
	return lpStruct;
}

void setcef_display_handler_tFields(JNIEnv *env, jobject lpObject, cef_display_handler_t *lpStruct)
{
	if (!cef_display_handler_tFc.cached) cachecef_display_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_display_handler_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_display_handler_tFc.on_address_change, (jlong)lpStruct->on_address_change);
	(*env)->SetLongField(env, lpObject, cef_display_handler_tFc.on_title_change, (jlong)lpStruct->on_title_change);
	(*env)->SetLongField(env, lpObject, cef_display_handler_tFc.on_favicon_urlchange, (jlong)lpStruct->on_favicon_urlchange);
	(*env)->SetLongField(env, lpObject, cef_display_handler_tFc.on_fullscreen_mode_change, (jlong)lpStruct->on_fullscreen_mode_change);
	(*env)->SetLongField(env, lpObject, cef_display_handler_tFc.on_tooltip, (jlong)lpStruct->on_tooltip);
	(*env)->SetLongField(env, lpObject, cef_display_handler_tFc.on_status_message, (jlong)lpStruct->on_status_message);
	(*env)->SetLongField(env, lpObject, cef_display_handler_tFc.on_console_message, (jlong)lpStruct->on_console_message);
}
#endif

#ifndef NO_cef_focus_handler_t
typedef struct cef_focus_handler_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, on_take_focus, on_set_focus, on_got_focus;
} cef_focus_handler_t_FID_CACHE;

cef_focus_handler_t_FID_CACHE cef_focus_handler_tFc;

void cachecef_focus_handler_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_focus_handler_tFc.cached) return;
	cef_focus_handler_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_focus_handler_tFc.base = (*env)->GetFieldID(env, cef_focus_handler_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_focus_handler_tFc.on_take_focus = (*env)->GetFieldID(env, cef_focus_handler_tFc.clazz, "on_take_focus", "J");
	cef_focus_handler_tFc.on_set_focus = (*env)->GetFieldID(env, cef_focus_handler_tFc.clazz, "on_set_focus", "J");
	cef_focus_handler_tFc.on_got_focus = (*env)->GetFieldID(env, cef_focus_handler_tFc.clazz, "on_got_focus", "J");
	cef_focus_handler_tFc.cached = 1;
}

cef_focus_handler_t *getcef_focus_handler_tFields(JNIEnv *env, jobject lpObject, cef_focus_handler_t *lpStruct)
{
	if (!cef_focus_handler_tFc.cached) cachecef_focus_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_focus_handler_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->on_take_focus = (void*)(*env)->GetLongField(env, lpObject, cef_focus_handler_tFc.on_take_focus);
	lpStruct->on_set_focus = (void*)(*env)->GetLongField(env, lpObject, cef_focus_handler_tFc.on_set_focus);
	lpStruct->on_got_focus = (void*)(*env)->GetLongField(env, lpObject, cef_focus_handler_tFc.on_got_focus);
	return lpStruct;
}

void setcef_focus_handler_tFields(JNIEnv *env, jobject lpObject, cef_focus_handler_t *lpStruct)
{
	if (!cef_focus_handler_tFc.cached) cachecef_focus_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_focus_handler_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_focus_handler_tFc.on_take_focus, (jlong)lpStruct->on_take_focus);
	(*env)->SetLongField(env, lpObject, cef_focus_handler_tFc.on_set_focus, (jlong)lpStruct->on_set_focus);
	(*env)->SetLongField(env, lpObject, cef_focus_handler_tFc.on_got_focus, (jlong)lpStruct->on_got_focus);
}
#endif

#ifndef NO_cef_jsdialog_handler_t
typedef struct cef_jsdialog_handler_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, on_jsdialog, on_before_unload_dialog, on_reset_dialog_state, on_dialog_closed;
} cef_jsdialog_handler_t_FID_CACHE;

cef_jsdialog_handler_t_FID_CACHE cef_jsdialog_handler_tFc;

void cachecef_jsdialog_handler_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_jsdialog_handler_tFc.cached) return;
	cef_jsdialog_handler_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_jsdialog_handler_tFc.base = (*env)->GetFieldID(env, cef_jsdialog_handler_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_jsdialog_handler_tFc.on_jsdialog = (*env)->GetFieldID(env, cef_jsdialog_handler_tFc.clazz, "on_jsdialog", "J");
	cef_jsdialog_handler_tFc.on_before_unload_dialog = (*env)->GetFieldID(env, cef_jsdialog_handler_tFc.clazz, "on_before_unload_dialog", "J");
	cef_jsdialog_handler_tFc.on_reset_dialog_state = (*env)->GetFieldID(env, cef_jsdialog_handler_tFc.clazz, "on_reset_dialog_state", "J");
	cef_jsdialog_handler_tFc.on_dialog_closed = (*env)->GetFieldID(env, cef_jsdialog_handler_tFc.clazz, "on_dialog_closed", "J");
	cef_jsdialog_handler_tFc.cached = 1;
}

cef_jsdialog_handler_t *getcef_jsdialog_handler_tFields(JNIEnv *env, jobject lpObject, cef_jsdialog_handler_t *lpStruct)
{
	if (!cef_jsdialog_handler_tFc.cached) cachecef_jsdialog_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_jsdialog_handler_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->on_jsdialog = (void*)(*env)->GetLongField(env, lpObject, cef_jsdialog_handler_tFc.on_jsdialog);
	lpStruct->on_before_unload_dialog = (void*)(*env)->GetLongField(env, lpObject, cef_jsdialog_handler_tFc.on_before_unload_dialog);
	lpStruct->on_reset_dialog_state = (void*)(*env)->GetLongField(env, lpObject, cef_jsdialog_handler_tFc.on_reset_dialog_state);
	lpStruct->on_dialog_closed = (void*)(*env)->GetLongField(env, lpObject, cef_jsdialog_handler_tFc.on_dialog_closed);
	return lpStruct;
}

void setcef_jsdialog_handler_tFields(JNIEnv *env, jobject lpObject, cef_jsdialog_handler_t *lpStruct)
{
	if (!cef_jsdialog_handler_tFc.cached) cachecef_jsdialog_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_jsdialog_handler_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_jsdialog_handler_tFc.on_jsdialog, (jlong)lpStruct->on_jsdialog);
	(*env)->SetLongField(env, lpObject, cef_jsdialog_handler_tFc.on_before_unload_dialog, (jlong)lpStruct->on_before_unload_dialog);
	(*env)->SetLongField(env, lpObject, cef_jsdialog_handler_tFc.on_reset_dialog_state, (jlong)lpStruct->on_reset_dialog_state);
	(*env)->SetLongField(env, lpObject, cef_jsdialog_handler_tFc.on_dialog_closed, (jlong)lpStruct->on_dialog_closed);
}
#endif

#ifndef NO_cef_life_span_handler_t
typedef struct cef_life_span_handler_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, on_before_popup, on_after_created, do_close, on_before_close;
} cef_life_span_handler_t_FID_CACHE;

cef_life_span_handler_t_FID_CACHE cef_life_span_handler_tFc;

void cachecef_life_span_handler_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_life_span_handler_tFc.cached) return;
	cef_life_span_handler_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_life_span_handler_tFc.base = (*env)->GetFieldID(env, cef_life_span_handler_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_life_span_handler_tFc.on_before_popup = (*env)->GetFieldID(env, cef_life_span_handler_tFc.clazz, "on_before_popup", "J");
	cef_life_span_handler_tFc.on_after_created = (*env)->GetFieldID(env, cef_life_span_handler_tFc.clazz, "on_after_created", "J");
	cef_life_span_handler_tFc.do_close = (*env)->GetFieldID(env, cef_life_span_handler_tFc.clazz, "do_close", "J");
	cef_life_span_handler_tFc.on_before_close = (*env)->GetFieldID(env, cef_life_span_handler_tFc.clazz, "on_before_close", "J");
	cef_life_span_handler_tFc.cached = 1;
}

cef_life_span_handler_t *getcef_life_span_handler_tFields(JNIEnv *env, jobject lpObject, cef_life_span_handler_t *lpStruct)
{
	if (!cef_life_span_handler_tFc.cached) cachecef_life_span_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_life_span_handler_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->on_before_popup = (void*)(*env)->GetLongField(env, lpObject, cef_life_span_handler_tFc.on_before_popup);
	lpStruct->on_after_created = (void*)(*env)->GetLongField(env, lpObject, cef_life_span_handler_tFc.on_after_created);
	lpStruct->do_close = (void*)(*env)->GetLongField(env, lpObject, cef_life_span_handler_tFc.do_close);
	lpStruct->on_before_close = (void*)(*env)->GetLongField(env, lpObject, cef_life_span_handler_tFc.on_before_close);
	return lpStruct;
}

void setcef_life_span_handler_tFields(JNIEnv *env, jobject lpObject, cef_life_span_handler_t *lpStruct)
{
	if (!cef_life_span_handler_tFc.cached) cachecef_life_span_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_life_span_handler_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_life_span_handler_tFc.on_before_popup, (jlong)lpStruct->on_before_popup);
	(*env)->SetLongField(env, lpObject, cef_life_span_handler_tFc.on_after_created, (jlong)lpStruct->on_after_created);
	(*env)->SetLongField(env, lpObject, cef_life_span_handler_tFc.do_close, (jlong)lpStruct->do_close);
	(*env)->SetLongField(env, lpObject, cef_life_span_handler_tFc.on_before_close, (jlong)lpStruct->on_before_close);
}
#endif

#ifndef NO_cef_load_handler_t
typedef struct cef_load_handler_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, on_loading_state_change, on_load_start, on_load_end, on_load_error;
} cef_load_handler_t_FID_CACHE;

cef_load_handler_t_FID_CACHE cef_load_handler_tFc;

void cachecef_load_handler_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_load_handler_tFc.cached) return;
	cef_load_handler_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_load_handler_tFc.base = (*env)->GetFieldID(env, cef_load_handler_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_load_handler_tFc.on_loading_state_change = (*env)->GetFieldID(env, cef_load_handler_tFc.clazz, "on_loading_state_change", "J");
	cef_load_handler_tFc.on_load_start = (*env)->GetFieldID(env, cef_load_handler_tFc.clazz, "on_load_start", "J");
	cef_load_handler_tFc.on_load_end = (*env)->GetFieldID(env, cef_load_handler_tFc.clazz, "on_load_end", "J");
	cef_load_handler_tFc.on_load_error = (*env)->GetFieldID(env, cef_load_handler_tFc.clazz, "on_load_error", "J");
	cef_load_handler_tFc.cached = 1;
}

cef_load_handler_t *getcef_load_handler_tFields(JNIEnv *env, jobject lpObject, cef_load_handler_t *lpStruct)
{
	if (!cef_load_handler_tFc.cached) cachecef_load_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_load_handler_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->on_loading_state_change = (void*)(*env)->GetLongField(env, lpObject, cef_load_handler_tFc.on_loading_state_change);
	lpStruct->on_load_start = (void*)(*env)->GetLongField(env, lpObject, cef_load_handler_tFc.on_load_start);
	lpStruct->on_load_end = (void*)(*env)->GetLongField(env, lpObject, cef_load_handler_tFc.on_load_end);
	lpStruct->on_load_error = (void*)(*env)->GetLongField(env, lpObject, cef_load_handler_tFc.on_load_error);
	return lpStruct;
}

void setcef_load_handler_tFields(JNIEnv *env, jobject lpObject, cef_load_handler_t *lpStruct)
{
	if (!cef_load_handler_tFc.cached) cachecef_load_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_load_handler_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_load_handler_tFc.on_loading_state_change, (jlong)lpStruct->on_loading_state_change);
	(*env)->SetLongField(env, lpObject, cef_load_handler_tFc.on_load_start, (jlong)lpStruct->on_load_start);
	(*env)->SetLongField(env, lpObject, cef_load_handler_tFc.on_load_end, (jlong)lpStruct->on_load_end);
	(*env)->SetLongField(env, lpObject, cef_load_handler_tFc.on_load_error, (jlong)lpStruct->on_load_error);
}
#endif

#ifndef NO_cef_popup_features_t
typedef struct cef_popup_features_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID x, xSet, y, ySet, width, widthSet, height, heightSet, menuBarVisible, statusBarVisible, toolBarVisible, locationBarVisible, scrollbarsVisible, resizable, fullscreen, dialog;
} cef_popup_features_t_FID_CACHE;

cef_popup_features_t_FID_CACHE cef_popup_features_tFc;

void cachecef_popup_features_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_popup_features_tFc.cached) return;
	cef_popup_features_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_popup_features_tFc.x = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "x", "I");
	cef_popup_features_tFc.xSet = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "xSet", "I");
	cef_popup_features_tFc.y = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "y", "I");
	cef_popup_features_tFc.ySet = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "ySet", "I");
	cef_popup_features_tFc.width = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "width", "I");
	cef_popup_features_tFc.widthSet = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "widthSet", "I");
	cef_popup_features_tFc.height = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "height", "I");
	cef_popup_features_tFc.heightSet = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "heightSet", "I");
	cef_popup_features_tFc.menuBarVisible = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "menuBarVisible", "I");
	cef_popup_features_tFc.statusBarVisible = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "statusBarVisible", "I");
	cef_popup_features_tFc.toolBarVisible = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "toolBarVisible", "I");
	cef_popup_features_tFc.locationBarVisible = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "locationBarVisible", "I");
	cef_popup_features_tFc.scrollbarsVisible = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "scrollbarsVisible", "I");
	cef_popup_features_tFc.resizable = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "resizable", "I");
	cef_popup_features_tFc.fullscreen = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "fullscreen", "I");
	cef_popup_features_tFc.dialog = (*env)->GetFieldID(env, cef_popup_features_tFc.clazz, "dialog", "I");
	cef_popup_features_tFc.cached = 1;
}

cef_popup_features_t *getcef_popup_features_tFields(JNIEnv *env, jobject lpObject, cef_popup_features_t *lpStruct)
{
	if (!cef_popup_features_tFc.cached) cachecef_popup_features_tFields(env, lpObject);
	lpStruct->x = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.x);
	lpStruct->xSet = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.xSet);
	lpStruct->y = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.y);
	lpStruct->ySet = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.ySet);
	lpStruct->width = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.width);
	lpStruct->widthSet = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.widthSet);
	lpStruct->height = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.height);
	lpStruct->heightSet = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.heightSet);
	lpStruct->menuBarVisible = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.menuBarVisible);
	lpStruct->statusBarVisible = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.statusBarVisible);
	lpStruct->toolBarVisible = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.toolBarVisible);
	lpStruct->locationBarVisible = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.locationBarVisible);
	lpStruct->scrollbarsVisible = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.scrollbarsVisible);
	lpStruct->resizable = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.resizable);
	lpStruct->fullscreen = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.fullscreen);
	lpStruct->dialog = (*env)->GetIntField(env, lpObject, cef_popup_features_tFc.dialog);
	return lpStruct;
}

void setcef_popup_features_tFields(JNIEnv *env, jobject lpObject, cef_popup_features_t *lpStruct)
{
	if (!cef_popup_features_tFc.cached) cachecef_popup_features_tFields(env, lpObject);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.x, (jint)lpStruct->x);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.xSet, (jint)lpStruct->xSet);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.y, (jint)lpStruct->y);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.ySet, (jint)lpStruct->ySet);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.width, (jint)lpStruct->width);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.widthSet, (jint)lpStruct->widthSet);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.height, (jint)lpStruct->height);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.heightSet, (jint)lpStruct->heightSet);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.menuBarVisible, (jint)lpStruct->menuBarVisible);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.statusBarVisible, (jint)lpStruct->statusBarVisible);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.toolBarVisible, (jint)lpStruct->toolBarVisible);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.locationBarVisible, (jint)lpStruct->locationBarVisible);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.scrollbarsVisible, (jint)lpStruct->scrollbarsVisible);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.resizable, (jint)lpStruct->resizable);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.fullscreen, (jint)lpStruct->fullscreen);
	(*env)->SetIntField(env, lpObject, cef_popup_features_tFc.dialog, (jint)lpStruct->dialog);
}
#endif

#ifndef NO_cef_request_handler_t
typedef struct cef_request_handler_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, on_before_browse, on_open_urlfrom_tab, on_before_resource_load, get_resource_handler, on_resource_redirect, on_resource_response, get_resource_response_filter, on_resource_load_complete, get_auth_credentials, on_quota_request, on_protocol_execution, on_certificate_error, on_select_client_certificate, on_plugin_crashed, on_render_view_ready, on_render_process_terminated;
} cef_request_handler_t_FID_CACHE;

cef_request_handler_t_FID_CACHE cef_request_handler_tFc;

void cachecef_request_handler_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_request_handler_tFc.cached) return;
	cef_request_handler_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_request_handler_tFc.base = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_request_handler_tFc.on_before_browse = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_before_browse", "J");
	cef_request_handler_tFc.on_open_urlfrom_tab = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_open_urlfrom_tab", "J");
	cef_request_handler_tFc.on_before_resource_load = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_before_resource_load", "J");
	cef_request_handler_tFc.get_resource_handler = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "get_resource_handler", "J");
	cef_request_handler_tFc.on_resource_redirect = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_resource_redirect", "J");
	cef_request_handler_tFc.on_resource_response = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_resource_response", "J");
	cef_request_handler_tFc.get_resource_response_filter = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "get_resource_response_filter", "J");
	cef_request_handler_tFc.on_resource_load_complete = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_resource_load_complete", "J");
	cef_request_handler_tFc.get_auth_credentials = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "get_auth_credentials", "J");
	cef_request_handler_tFc.on_quota_request = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_quota_request", "J");
	cef_request_handler_tFc.on_protocol_execution = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_protocol_execution", "J");
	cef_request_handler_tFc.on_certificate_error = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_certificate_error", "J");
	cef_request_handler_tFc.on_select_client_certificate = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_select_client_certificate", "J");
	cef_request_handler_tFc.on_plugin_crashed = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_plugin_crashed", "J");
	cef_request_handler_tFc.on_render_view_ready = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_render_view_ready", "J");
	cef_request_handler_tFc.on_render_process_terminated = (*env)->GetFieldID(env, cef_request_handler_tFc.clazz, "on_render_process_terminated", "J");
	cef_request_handler_tFc.cached = 1;
}

cef_request_handler_t *getcef_request_handler_tFields(JNIEnv *env, jobject lpObject, cef_request_handler_t *lpStruct)
{
	if (!cef_request_handler_tFc.cached) cachecef_request_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_request_handler_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->on_before_browse = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_before_browse);
	lpStruct->on_open_urlfrom_tab = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_open_urlfrom_tab);
	lpStruct->on_before_resource_load = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_before_resource_load);
	lpStruct->get_resource_handler = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.get_resource_handler);
	lpStruct->on_resource_redirect = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_resource_redirect);
	lpStruct->on_resource_response = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_resource_response);
	lpStruct->get_resource_response_filter = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.get_resource_response_filter);
	lpStruct->on_resource_load_complete = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_resource_load_complete);
	lpStruct->get_auth_credentials = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.get_auth_credentials);
	lpStruct->on_quota_request = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_quota_request);
	lpStruct->on_protocol_execution = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_protocol_execution);
	lpStruct->on_certificate_error = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_certificate_error);
	lpStruct->on_select_client_certificate = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_select_client_certificate);
	lpStruct->on_plugin_crashed = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_plugin_crashed);
	lpStruct->on_render_view_ready = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_render_view_ready);
	lpStruct->on_render_process_terminated = (void*)(*env)->GetLongField(env, lpObject, cef_request_handler_tFc.on_render_process_terminated);
	return lpStruct;
}

void setcef_request_handler_tFields(JNIEnv *env, jobject lpObject, cef_request_handler_t *lpStruct)
{
	if (!cef_request_handler_tFc.cached) cachecef_request_handler_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_request_handler_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_before_browse, (jlong)lpStruct->on_before_browse);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_open_urlfrom_tab, (jlong)lpStruct->on_open_urlfrom_tab);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_before_resource_load, (jlong)lpStruct->on_before_resource_load);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.get_resource_handler, (jlong)lpStruct->get_resource_handler);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_resource_redirect, (jlong)lpStruct->on_resource_redirect);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_resource_response, (jlong)lpStruct->on_resource_response);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.get_resource_response_filter, (jlong)lpStruct->get_resource_response_filter);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_resource_load_complete, (jlong)lpStruct->on_resource_load_complete);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.get_auth_credentials, (jlong)lpStruct->get_auth_credentials);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_quota_request, (jlong)lpStruct->on_quota_request);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_protocol_execution, (jlong)lpStruct->on_protocol_execution);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_certificate_error, (jlong)lpStruct->on_certificate_error);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_select_client_certificate, (jlong)lpStruct->on_select_client_certificate);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_plugin_crashed, (jlong)lpStruct->on_plugin_crashed);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_render_view_ready, (jlong)lpStruct->on_render_view_ready);
	(*env)->SetLongField(env, lpObject, cef_request_handler_tFc.on_render_process_terminated, (jlong)lpStruct->on_render_process_terminated);
}
#endif

#ifndef NO_cef_string_visitor_t
typedef struct cef_string_visitor_t_FID_CACHE {
	int cached;
	jclass clazz;
	jfieldID base, visit;
} cef_string_visitor_t_FID_CACHE;

cef_string_visitor_t_FID_CACHE cef_string_visitor_tFc;

void cachecef_string_visitor_tFields(JNIEnv *env, jobject lpObject)
{
	if (cef_string_visitor_tFc.cached) return;
	cef_string_visitor_tFc.clazz = (*env)->GetObjectClass(env, lpObject);
	cef_string_visitor_tFc.base = (*env)->GetFieldID(env, cef_string_visitor_tFc.clazz, "base", "Lorg/eclipse/swt/internal/chromium/lib/cef_base_ref_counted_t;");
	cef_string_visitor_tFc.visit = (*env)->GetFieldID(env, cef_string_visitor_tFc.clazz, "visit", "J");
	cef_string_visitor_tFc.cached = 1;
}

cef_string_visitor_t *getcef_string_visitor_tFields(JNIEnv *env, jobject lpObject, cef_string_visitor_t *lpStruct)
{
	if (!cef_string_visitor_tFc.cached) cachecef_string_visitor_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_string_visitor_tFc.base);
	if (lpObject1 != NULL) getcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	lpStruct->visit = (void*)(*env)->GetLongField(env, lpObject, cef_string_visitor_tFc.visit);
	return lpStruct;
}

void setcef_string_visitor_tFields(JNIEnv *env, jobject lpObject, cef_string_visitor_t *lpStruct)
{
	if (!cef_string_visitor_tFc.cached) cachecef_string_visitor_tFields(env, lpObject);
	{
	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, cef_string_visitor_tFc.base);
	if (lpObject1 != NULL) setcef_base_ref_counted_tFields(env, lpObject1, &lpStruct->base);
	}
	(*env)->SetLongField(env, lpObject, cef_string_visitor_tFc.visit, (jlong)lpStruct->visit);
}
#endif

