1 /*******************************************************************************
2  * Copyright (c) 2000, 2019 IBM Corporation and others. All rights reserved.
3  * The contents of this file are made available under the terms
4  * of the GNU Lesser General Public License (LGPL) Version 2.1 that
5  * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
6  * available at http://www.gnu.org/licenses/lgpl.html.  If the version
7  * of the LGPL at http://www.gnu.org is different to the version of
8  * the LGPL accompanying this distribution and there is any conflict
9  * between the two license versions, the terms of the LGPL accompanying
10  * this distribution shall govern.
11  *
12  * Contributors:
13  *     IBM Corporation - initial API and implementation
14  *******************************************************************************/
15 
16 /* Note: This file was auto-generated by org.eclipse.swt.tools.internal.JNIGenerator */
17 /* DO NOT EDIT - your changes will be lost. */
18 
19 #include "swt.h"
20 #include "atk_structs.h"
21 
22 #ifndef NO_AtkActionIface
23 typedef struct AtkActionIface_FID_CACHE {
24 	int cached;
25 	jclass clazz;
26 	jfieldID do_action, get_n_actions, get_description, get_name, get_keybinding, set_description;
27 } AtkActionIface_FID_CACHE;
28 
29 AtkActionIface_FID_CACHE AtkActionIfaceFc;
30 
cacheAtkActionIfaceFields(JNIEnv * env,jobject lpObject)31 void cacheAtkActionIfaceFields(JNIEnv *env, jobject lpObject)
32 {
33 	if (AtkActionIfaceFc.cached) return;
34 	AtkActionIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
35 	AtkActionIfaceFc.do_action = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "do_action", "J");
36 	AtkActionIfaceFc.get_n_actions = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "get_n_actions", "J");
37 	AtkActionIfaceFc.get_description = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "get_description", "J");
38 	AtkActionIfaceFc.get_name = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "get_name", "J");
39 	AtkActionIfaceFc.get_keybinding = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "get_keybinding", "J");
40 	AtkActionIfaceFc.set_description = (*env)->GetFieldID(env, AtkActionIfaceFc.clazz, "set_description", "J");
41 	AtkActionIfaceFc.cached = 1;
42 }
43 
getAtkActionIfaceFields(JNIEnv * env,jobject lpObject,AtkActionIface * lpStruct)44 AtkActionIface *getAtkActionIfaceFields(JNIEnv *env, jobject lpObject, AtkActionIface *lpStruct)
45 {
46 	if (!AtkActionIfaceFc.cached) cacheAtkActionIfaceFields(env, lpObject);
47 	lpStruct->do_action = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkActionIfaceFc.do_action);
48 	lpStruct->get_n_actions = (gint (*)())(*env)->GetLongField(env, lpObject, AtkActionIfaceFc.get_n_actions);
49 	lpStruct->get_description = (const gchar *(*)())(*env)->GetLongField(env, lpObject, AtkActionIfaceFc.get_description);
50 	lpStruct->get_name = (const gchar *(*)())(*env)->GetLongField(env, lpObject, AtkActionIfaceFc.get_name);
51 	lpStruct->get_keybinding = (const gchar *(*)())(*env)->GetLongField(env, lpObject, AtkActionIfaceFc.get_keybinding);
52 	lpStruct->set_description = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkActionIfaceFc.set_description);
53 	return lpStruct;
54 }
55 
setAtkActionIfaceFields(JNIEnv * env,jobject lpObject,AtkActionIface * lpStruct)56 void setAtkActionIfaceFields(JNIEnv *env, jobject lpObject, AtkActionIface *lpStruct)
57 {
58 	if (!AtkActionIfaceFc.cached) cacheAtkActionIfaceFields(env, lpObject);
59 	(*env)->SetLongField(env, lpObject, AtkActionIfaceFc.do_action, (jlong)lpStruct->do_action);
60 	(*env)->SetLongField(env, lpObject, AtkActionIfaceFc.get_n_actions, (jlong)lpStruct->get_n_actions);
61 	(*env)->SetLongField(env, lpObject, AtkActionIfaceFc.get_description, (jlong)lpStruct->get_description);
62 	(*env)->SetLongField(env, lpObject, AtkActionIfaceFc.get_name, (jlong)lpStruct->get_name);
63 	(*env)->SetLongField(env, lpObject, AtkActionIfaceFc.get_keybinding, (jlong)lpStruct->get_keybinding);
64 	(*env)->SetLongField(env, lpObject, AtkActionIfaceFc.set_description, (jlong)lpStruct->set_description);
65 }
66 #endif
67 
68 #ifndef NO_AtkAttribute
69 typedef struct AtkAttribute_FID_CACHE {
70 	int cached;
71 	jclass clazz;
72 	jfieldID name, value;
73 } AtkAttribute_FID_CACHE;
74 
75 AtkAttribute_FID_CACHE AtkAttributeFc;
76 
cacheAtkAttributeFields(JNIEnv * env,jobject lpObject)77 void cacheAtkAttributeFields(JNIEnv *env, jobject lpObject)
78 {
79 	if (AtkAttributeFc.cached) return;
80 	AtkAttributeFc.clazz = (*env)->GetObjectClass(env, lpObject);
81 	AtkAttributeFc.name = (*env)->GetFieldID(env, AtkAttributeFc.clazz, "name", "J");
82 	AtkAttributeFc.value = (*env)->GetFieldID(env, AtkAttributeFc.clazz, "value", "J");
83 	AtkAttributeFc.cached = 1;
84 }
85 
getAtkAttributeFields(JNIEnv * env,jobject lpObject,AtkAttribute * lpStruct)86 AtkAttribute *getAtkAttributeFields(JNIEnv *env, jobject lpObject, AtkAttribute *lpStruct)
87 {
88 	if (!AtkAttributeFc.cached) cacheAtkAttributeFields(env, lpObject);
89 	lpStruct->name = (char *)(*env)->GetLongField(env, lpObject, AtkAttributeFc.name);
90 	lpStruct->value = (char *)(*env)->GetLongField(env, lpObject, AtkAttributeFc.value);
91 	return lpStruct;
92 }
93 
setAtkAttributeFields(JNIEnv * env,jobject lpObject,AtkAttribute * lpStruct)94 void setAtkAttributeFields(JNIEnv *env, jobject lpObject, AtkAttribute *lpStruct)
95 {
96 	if (!AtkAttributeFc.cached) cacheAtkAttributeFields(env, lpObject);
97 	(*env)->SetLongField(env, lpObject, AtkAttributeFc.name, (jlong)lpStruct->name);
98 	(*env)->SetLongField(env, lpObject, AtkAttributeFc.value, (jlong)lpStruct->value);
99 }
100 #endif
101 
102 #ifndef NO_AtkComponentIface
103 typedef struct AtkComponentIface_FID_CACHE {
104 	int cached;
105 	jclass clazz;
106 	jfieldID add_focus_handler, contains, ref_accessible_at_point, get_extents, get_position, get_size, grab_focus, remove_focus_handler, set_extents, set_position, set_size, get_layer, get_mdi_zorder;
107 } AtkComponentIface_FID_CACHE;
108 
109 AtkComponentIface_FID_CACHE AtkComponentIfaceFc;
110 
cacheAtkComponentIfaceFields(JNIEnv * env,jobject lpObject)111 void cacheAtkComponentIfaceFields(JNIEnv *env, jobject lpObject)
112 {
113 	if (AtkComponentIfaceFc.cached) return;
114 	AtkComponentIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
115 	AtkComponentIfaceFc.add_focus_handler = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "add_focus_handler", "J");
116 	AtkComponentIfaceFc.contains = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "contains", "J");
117 	AtkComponentIfaceFc.ref_accessible_at_point = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "ref_accessible_at_point", "J");
118 	AtkComponentIfaceFc.get_extents = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_extents", "J");
119 	AtkComponentIfaceFc.get_position = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_position", "J");
120 	AtkComponentIfaceFc.get_size = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_size", "J");
121 	AtkComponentIfaceFc.grab_focus = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "grab_focus", "J");
122 	AtkComponentIfaceFc.remove_focus_handler = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "remove_focus_handler", "J");
123 	AtkComponentIfaceFc.set_extents = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "set_extents", "J");
124 	AtkComponentIfaceFc.set_position = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "set_position", "J");
125 	AtkComponentIfaceFc.set_size = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "set_size", "J");
126 	AtkComponentIfaceFc.get_layer = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_layer", "J");
127 	AtkComponentIfaceFc.get_mdi_zorder = (*env)->GetFieldID(env, AtkComponentIfaceFc.clazz, "get_mdi_zorder", "J");
128 	AtkComponentIfaceFc.cached = 1;
129 }
130 
getAtkComponentIfaceFields(JNIEnv * env,jobject lpObject,AtkComponentIface * lpStruct)131 AtkComponentIface *getAtkComponentIfaceFields(JNIEnv *env, jobject lpObject, AtkComponentIface *lpStruct)
132 {
133 	if (!AtkComponentIfaceFc.cached) cacheAtkComponentIfaceFields(env, lpObject);
134 	lpStruct->add_focus_handler = (guint (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.add_focus_handler);
135 	lpStruct->contains = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.contains);
136 	lpStruct->ref_accessible_at_point = (AtkObject *(*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.ref_accessible_at_point);
137 	lpStruct->get_extents = (void (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.get_extents);
138 	lpStruct->get_position = (void (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.get_position);
139 	lpStruct->get_size = (void (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.get_size);
140 	lpStruct->grab_focus = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.grab_focus);
141 	lpStruct->remove_focus_handler = (void (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.remove_focus_handler);
142 	lpStruct->set_extents = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.set_extents);
143 	lpStruct->set_position = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.set_position);
144 	lpStruct->set_size = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.set_size);
145 	lpStruct->get_layer = (AtkLayer (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.get_layer);
146 	lpStruct->get_mdi_zorder = (gint (*)())(*env)->GetLongField(env, lpObject, AtkComponentIfaceFc.get_mdi_zorder);
147 	return lpStruct;
148 }
149 
setAtkComponentIfaceFields(JNIEnv * env,jobject lpObject,AtkComponentIface * lpStruct)150 void setAtkComponentIfaceFields(JNIEnv *env, jobject lpObject, AtkComponentIface *lpStruct)
151 {
152 	if (!AtkComponentIfaceFc.cached) cacheAtkComponentIfaceFields(env, lpObject);
153 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.add_focus_handler, (jlong)lpStruct->add_focus_handler);
154 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.contains, (jlong)lpStruct->contains);
155 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.ref_accessible_at_point, (jlong)lpStruct->ref_accessible_at_point);
156 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.get_extents, (jlong)lpStruct->get_extents);
157 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.get_position, (jlong)lpStruct->get_position);
158 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.get_size, (jlong)lpStruct->get_size);
159 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.grab_focus, (jlong)lpStruct->grab_focus);
160 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.remove_focus_handler, (jlong)lpStruct->remove_focus_handler);
161 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.set_extents, (jlong)lpStruct->set_extents);
162 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.set_position, (jlong)lpStruct->set_position);
163 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.set_size, (jlong)lpStruct->set_size);
164 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.get_layer, (jlong)lpStruct->get_layer);
165 	(*env)->SetLongField(env, lpObject, AtkComponentIfaceFc.get_mdi_zorder, (jlong)lpStruct->get_mdi_zorder);
166 }
167 #endif
168 
169 #ifndef NO_AtkEditableTextIface
170 typedef struct AtkEditableTextIface_FID_CACHE {
171 	int cached;
172 	jclass clazz;
173 	jfieldID set_run_attributes, set_text_contents, insert_text, copy_text, cut_text, delete_text, paste_text;
174 } AtkEditableTextIface_FID_CACHE;
175 
176 AtkEditableTextIface_FID_CACHE AtkEditableTextIfaceFc;
177 
cacheAtkEditableTextIfaceFields(JNIEnv * env,jobject lpObject)178 void cacheAtkEditableTextIfaceFields(JNIEnv *env, jobject lpObject)
179 {
180 	if (AtkEditableTextIfaceFc.cached) return;
181 	AtkEditableTextIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
182 	AtkEditableTextIfaceFc.set_run_attributes = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "set_run_attributes", "J");
183 	AtkEditableTextIfaceFc.set_text_contents = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "set_text_contents", "J");
184 	AtkEditableTextIfaceFc.insert_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "insert_text", "J");
185 	AtkEditableTextIfaceFc.copy_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "copy_text", "J");
186 	AtkEditableTextIfaceFc.cut_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "cut_text", "J");
187 	AtkEditableTextIfaceFc.delete_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "delete_text", "J");
188 	AtkEditableTextIfaceFc.paste_text = (*env)->GetFieldID(env, AtkEditableTextIfaceFc.clazz, "paste_text", "J");
189 	AtkEditableTextIfaceFc.cached = 1;
190 }
191 
getAtkEditableTextIfaceFields(JNIEnv * env,jobject lpObject,AtkEditableTextIface * lpStruct)192 AtkEditableTextIface *getAtkEditableTextIfaceFields(JNIEnv *env, jobject lpObject, AtkEditableTextIface *lpStruct)
193 {
194 	if (!AtkEditableTextIfaceFc.cached) cacheAtkEditableTextIfaceFields(env, lpObject);
195 	lpStruct->set_run_attributes = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkEditableTextIfaceFc.set_run_attributes);
196 	lpStruct->set_text_contents = (void (*)())(*env)->GetLongField(env, lpObject, AtkEditableTextIfaceFc.set_text_contents);
197 	lpStruct->insert_text = (void (*)())(*env)->GetLongField(env, lpObject, AtkEditableTextIfaceFc.insert_text);
198 	lpStruct->copy_text = (void (*)())(*env)->GetLongField(env, lpObject, AtkEditableTextIfaceFc.copy_text);
199 	lpStruct->cut_text = (void (*)())(*env)->GetLongField(env, lpObject, AtkEditableTextIfaceFc.cut_text);
200 	lpStruct->delete_text = (void (*)())(*env)->GetLongField(env, lpObject, AtkEditableTextIfaceFc.delete_text);
201 	lpStruct->paste_text = (void (*)())(*env)->GetLongField(env, lpObject, AtkEditableTextIfaceFc.paste_text);
202 	return lpStruct;
203 }
204 
setAtkEditableTextIfaceFields(JNIEnv * env,jobject lpObject,AtkEditableTextIface * lpStruct)205 void setAtkEditableTextIfaceFields(JNIEnv *env, jobject lpObject, AtkEditableTextIface *lpStruct)
206 {
207 	if (!AtkEditableTextIfaceFc.cached) cacheAtkEditableTextIfaceFields(env, lpObject);
208 	(*env)->SetLongField(env, lpObject, AtkEditableTextIfaceFc.set_run_attributes, (jlong)lpStruct->set_run_attributes);
209 	(*env)->SetLongField(env, lpObject, AtkEditableTextIfaceFc.set_text_contents, (jlong)lpStruct->set_text_contents);
210 	(*env)->SetLongField(env, lpObject, AtkEditableTextIfaceFc.insert_text, (jlong)lpStruct->insert_text);
211 	(*env)->SetLongField(env, lpObject, AtkEditableTextIfaceFc.copy_text, (jlong)lpStruct->copy_text);
212 	(*env)->SetLongField(env, lpObject, AtkEditableTextIfaceFc.cut_text, (jlong)lpStruct->cut_text);
213 	(*env)->SetLongField(env, lpObject, AtkEditableTextIfaceFc.delete_text, (jlong)lpStruct->delete_text);
214 	(*env)->SetLongField(env, lpObject, AtkEditableTextIfaceFc.paste_text, (jlong)lpStruct->paste_text);
215 }
216 #endif
217 
218 #ifndef NO_AtkHypertextIface
219 typedef struct AtkHypertextIface_FID_CACHE {
220 	int cached;
221 	jclass clazz;
222 	jfieldID get_link, get_n_links, get_link_index;
223 } AtkHypertextIface_FID_CACHE;
224 
225 AtkHypertextIface_FID_CACHE AtkHypertextIfaceFc;
226 
cacheAtkHypertextIfaceFields(JNIEnv * env,jobject lpObject)227 void cacheAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject)
228 {
229 	if (AtkHypertextIfaceFc.cached) return;
230 	AtkHypertextIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
231 	AtkHypertextIfaceFc.get_link = (*env)->GetFieldID(env, AtkHypertextIfaceFc.clazz, "get_link", "J");
232 	AtkHypertextIfaceFc.get_n_links = (*env)->GetFieldID(env, AtkHypertextIfaceFc.clazz, "get_n_links", "J");
233 	AtkHypertextIfaceFc.get_link_index = (*env)->GetFieldID(env, AtkHypertextIfaceFc.clazz, "get_link_index", "J");
234 	AtkHypertextIfaceFc.cached = 1;
235 }
236 
getAtkHypertextIfaceFields(JNIEnv * env,jobject lpObject,AtkHypertextIface * lpStruct)237 AtkHypertextIface *getAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject, AtkHypertextIface *lpStruct)
238 {
239 	if (!AtkHypertextIfaceFc.cached) cacheAtkHypertextIfaceFields(env, lpObject);
240 	lpStruct->get_link = (AtkHyperlink *(*)())(*env)->GetLongField(env, lpObject, AtkHypertextIfaceFc.get_link);
241 	lpStruct->get_n_links = (gint (*)())(*env)->GetLongField(env, lpObject, AtkHypertextIfaceFc.get_n_links);
242 	lpStruct->get_link_index = (gint (*)())(*env)->GetLongField(env, lpObject, AtkHypertextIfaceFc.get_link_index);
243 	return lpStruct;
244 }
245 
setAtkHypertextIfaceFields(JNIEnv * env,jobject lpObject,AtkHypertextIface * lpStruct)246 void setAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject, AtkHypertextIface *lpStruct)
247 {
248 	if (!AtkHypertextIfaceFc.cached) cacheAtkHypertextIfaceFields(env, lpObject);
249 	(*env)->SetLongField(env, lpObject, AtkHypertextIfaceFc.get_link, (jlong)lpStruct->get_link);
250 	(*env)->SetLongField(env, lpObject, AtkHypertextIfaceFc.get_n_links, (jlong)lpStruct->get_n_links);
251 	(*env)->SetLongField(env, lpObject, AtkHypertextIfaceFc.get_link_index, (jlong)lpStruct->get_link_index);
252 }
253 #endif
254 
255 #ifndef NO_AtkObjectClass
256 typedef struct AtkObjectClass_FID_CACHE {
257 	int cached;
258 	jclass clazz;
259 	jfieldID get_name, get_description, get_parent, get_n_children, ref_child, get_index_in_parent, ref_relation_set, get_role, get_layer, get_mdi_zorder, ref_state_set, set_name, set_description, set_parent, set_role, connect_property_change_handler, remove_property_change_handler, initialize, children_changed, focus_event, property_change, state_change, visible_data_changed, get_attributes;
260 } AtkObjectClass_FID_CACHE;
261 
262 AtkObjectClass_FID_CACHE AtkObjectClassFc;
263 
cacheAtkObjectClassFields(JNIEnv * env,jobject lpObject)264 void cacheAtkObjectClassFields(JNIEnv *env, jobject lpObject)
265 {
266 	if (AtkObjectClassFc.cached) return;
267 	AtkObjectClassFc.clazz = (*env)->GetObjectClass(env, lpObject);
268 	AtkObjectClassFc.get_name = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_name", "J");
269 	AtkObjectClassFc.get_description = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_description", "J");
270 	AtkObjectClassFc.get_parent = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_parent", "J");
271 	AtkObjectClassFc.get_n_children = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_n_children", "J");
272 	AtkObjectClassFc.ref_child = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "ref_child", "J");
273 	AtkObjectClassFc.get_index_in_parent = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_index_in_parent", "J");
274 	AtkObjectClassFc.ref_relation_set = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "ref_relation_set", "J");
275 	AtkObjectClassFc.get_role = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_role", "J");
276 	AtkObjectClassFc.get_layer = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_layer", "J");
277 	AtkObjectClassFc.get_mdi_zorder = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_mdi_zorder", "J");
278 	AtkObjectClassFc.ref_state_set = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "ref_state_set", "J");
279 	AtkObjectClassFc.set_name = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "set_name", "J");
280 	AtkObjectClassFc.set_description = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "set_description", "J");
281 	AtkObjectClassFc.set_parent = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "set_parent", "J");
282 	AtkObjectClassFc.set_role = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "set_role", "J");
283 	AtkObjectClassFc.connect_property_change_handler = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "connect_property_change_handler", "J");
284 	AtkObjectClassFc.remove_property_change_handler = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "remove_property_change_handler", "J");
285 	AtkObjectClassFc.initialize = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "initialize", "J");
286 	AtkObjectClassFc.children_changed = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "children_changed", "J");
287 	AtkObjectClassFc.focus_event = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "focus_event", "J");
288 	AtkObjectClassFc.property_change = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "property_change", "J");
289 	AtkObjectClassFc.state_change = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "state_change", "J");
290 	AtkObjectClassFc.visible_data_changed = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "visible_data_changed", "J");
291 	AtkObjectClassFc.get_attributes = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_attributes", "J");
292 	AtkObjectClassFc.cached = 1;
293 }
294 
getAtkObjectClassFields(JNIEnv * env,jobject lpObject,AtkObjectClass * lpStruct)295 AtkObjectClass *getAtkObjectClassFields(JNIEnv *env, jobject lpObject, AtkObjectClass *lpStruct)
296 {
297 	if (!AtkObjectClassFc.cached) cacheAtkObjectClassFields(env, lpObject);
298 	lpStruct->get_name = (const gchar *(*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.get_name);
299 	lpStruct->get_description = (const gchar *(*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.get_description);
300 	lpStruct->get_parent = (AtkObject *(*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.get_parent);
301 	lpStruct->get_n_children = (gint (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.get_n_children);
302 	lpStruct->ref_child = (AtkObject *(*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.ref_child);
303 	lpStruct->get_index_in_parent = (gint (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.get_index_in_parent);
304 	lpStruct->ref_relation_set = (AtkRelationSet *(*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.ref_relation_set);
305 	lpStruct->get_role = (AtkRole (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.get_role);
306 	lpStruct->get_layer = (AtkLayer (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.get_layer);
307 	lpStruct->get_mdi_zorder = (gint (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.get_mdi_zorder);
308 	lpStruct->ref_state_set = (AtkStateSet *(*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.ref_state_set);
309 	lpStruct->set_name = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.set_name);
310 	lpStruct->set_description = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.set_description);
311 	lpStruct->set_parent = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.set_parent);
312 	lpStruct->set_role = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.set_role);
313 	lpStruct->connect_property_change_handler = (guint (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.connect_property_change_handler);
314 	lpStruct->remove_property_change_handler = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.remove_property_change_handler);
315 	lpStruct->initialize = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.initialize);
316 	lpStruct->children_changed = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.children_changed);
317 	lpStruct->focus_event = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.focus_event);
318 	lpStruct->property_change = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.property_change);
319 	lpStruct->state_change = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.state_change);
320 	lpStruct->visible_data_changed = (void (*)())(*env)->GetLongField(env, lpObject, AtkObjectClassFc.visible_data_changed);
321 	lpStruct->SWT_AtkObjectClass_get_attributes = (SWT_AtkObjectClass_get_attributes_cast)(*env)->GetLongField(env, lpObject, AtkObjectClassFc.get_attributes);
322 	return lpStruct;
323 }
324 
setAtkObjectClassFields(JNIEnv * env,jobject lpObject,AtkObjectClass * lpStruct)325 void setAtkObjectClassFields(JNIEnv *env, jobject lpObject, AtkObjectClass *lpStruct)
326 {
327 	if (!AtkObjectClassFc.cached) cacheAtkObjectClassFields(env, lpObject);
328 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.get_name, (jlong)lpStruct->get_name);
329 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.get_description, (jlong)lpStruct->get_description);
330 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.get_parent, (jlong)lpStruct->get_parent);
331 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.get_n_children, (jlong)lpStruct->get_n_children);
332 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.ref_child, (jlong)lpStruct->ref_child);
333 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.get_index_in_parent, (jlong)lpStruct->get_index_in_parent);
334 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.ref_relation_set, (jlong)lpStruct->ref_relation_set);
335 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.get_role, (jlong)lpStruct->get_role);
336 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.get_layer, (jlong)lpStruct->get_layer);
337 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.get_mdi_zorder, (jlong)lpStruct->get_mdi_zorder);
338 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.ref_state_set, (jlong)lpStruct->ref_state_set);
339 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.set_name, (jlong)lpStruct->set_name);
340 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.set_description, (jlong)lpStruct->set_description);
341 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.set_parent, (jlong)lpStruct->set_parent);
342 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.set_role, (jlong)lpStruct->set_role);
343 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.connect_property_change_handler, (jlong)lpStruct->connect_property_change_handler);
344 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.remove_property_change_handler, (jlong)lpStruct->remove_property_change_handler);
345 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.initialize, (jlong)lpStruct->initialize);
346 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.children_changed, (jlong)lpStruct->children_changed);
347 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.focus_event, (jlong)lpStruct->focus_event);
348 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.property_change, (jlong)lpStruct->property_change);
349 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.state_change, (jlong)lpStruct->state_change);
350 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.visible_data_changed, (jlong)lpStruct->visible_data_changed);
351 	(*env)->SetLongField(env, lpObject, AtkObjectClassFc.get_attributes, (jlong)lpStruct->SWT_AtkObjectClass_get_attributes);
352 }
353 #endif
354 
355 #ifndef NO_AtkSelectionIface
356 typedef struct AtkSelectionIface_FID_CACHE {
357 	int cached;
358 	jclass clazz;
359 	jfieldID add_selection, clear_selection, ref_selection, get_selection_count, is_child_selected, remove_selection, select_all_selection, selection_changed;
360 } AtkSelectionIface_FID_CACHE;
361 
362 AtkSelectionIface_FID_CACHE AtkSelectionIfaceFc;
363 
cacheAtkSelectionIfaceFields(JNIEnv * env,jobject lpObject)364 void cacheAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject)
365 {
366 	if (AtkSelectionIfaceFc.cached) return;
367 	AtkSelectionIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
368 	AtkSelectionIfaceFc.add_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "add_selection", "J");
369 	AtkSelectionIfaceFc.clear_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "clear_selection", "J");
370 	AtkSelectionIfaceFc.ref_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "ref_selection", "J");
371 	AtkSelectionIfaceFc.get_selection_count = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "get_selection_count", "J");
372 	AtkSelectionIfaceFc.is_child_selected = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "is_child_selected", "J");
373 	AtkSelectionIfaceFc.remove_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "remove_selection", "J");
374 	AtkSelectionIfaceFc.select_all_selection = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "select_all_selection", "J");
375 	AtkSelectionIfaceFc.selection_changed = (*env)->GetFieldID(env, AtkSelectionIfaceFc.clazz, "selection_changed", "J");
376 	AtkSelectionIfaceFc.cached = 1;
377 }
378 
getAtkSelectionIfaceFields(JNIEnv * env,jobject lpObject,AtkSelectionIface * lpStruct)379 AtkSelectionIface *getAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject, AtkSelectionIface *lpStruct)
380 {
381 	if (!AtkSelectionIfaceFc.cached) cacheAtkSelectionIfaceFields(env, lpObject);
382 	lpStruct->add_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkSelectionIfaceFc.add_selection);
383 	lpStruct->clear_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkSelectionIfaceFc.clear_selection);
384 	lpStruct->ref_selection = (AtkObject *(*)())(*env)->GetLongField(env, lpObject, AtkSelectionIfaceFc.ref_selection);
385 	lpStruct->get_selection_count = (gint (*)())(*env)->GetLongField(env, lpObject, AtkSelectionIfaceFc.get_selection_count);
386 	lpStruct->is_child_selected = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkSelectionIfaceFc.is_child_selected);
387 	lpStruct->remove_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkSelectionIfaceFc.remove_selection);
388 	lpStruct->select_all_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkSelectionIfaceFc.select_all_selection);
389 	lpStruct->selection_changed = (void (*)())(*env)->GetLongField(env, lpObject, AtkSelectionIfaceFc.selection_changed);
390 	return lpStruct;
391 }
392 
setAtkSelectionIfaceFields(JNIEnv * env,jobject lpObject,AtkSelectionIface * lpStruct)393 void setAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject, AtkSelectionIface *lpStruct)
394 {
395 	if (!AtkSelectionIfaceFc.cached) cacheAtkSelectionIfaceFields(env, lpObject);
396 	(*env)->SetLongField(env, lpObject, AtkSelectionIfaceFc.add_selection, (jlong)lpStruct->add_selection);
397 	(*env)->SetLongField(env, lpObject, AtkSelectionIfaceFc.clear_selection, (jlong)lpStruct->clear_selection);
398 	(*env)->SetLongField(env, lpObject, AtkSelectionIfaceFc.ref_selection, (jlong)lpStruct->ref_selection);
399 	(*env)->SetLongField(env, lpObject, AtkSelectionIfaceFc.get_selection_count, (jlong)lpStruct->get_selection_count);
400 	(*env)->SetLongField(env, lpObject, AtkSelectionIfaceFc.is_child_selected, (jlong)lpStruct->is_child_selected);
401 	(*env)->SetLongField(env, lpObject, AtkSelectionIfaceFc.remove_selection, (jlong)lpStruct->remove_selection);
402 	(*env)->SetLongField(env, lpObject, AtkSelectionIfaceFc.select_all_selection, (jlong)lpStruct->select_all_selection);
403 	(*env)->SetLongField(env, lpObject, AtkSelectionIfaceFc.selection_changed, (jlong)lpStruct->selection_changed);
404 }
405 #endif
406 
407 #ifndef NO_AtkTableIface
408 typedef struct AtkTableIface_FID_CACHE {
409 	int cached;
410 	jclass clazz;
411 	jfieldID ref_at, get_index_at, get_column_at_index, get_row_at_index, get_n_columns, get_n_rows, get_column_extent_at, get_row_extent_at, get_caption, get_column_description, get_column_header, get_row_description, get_row_header, get_summary, set_caption, set_column_description, set_column_header, set_row_description, set_row_header, set_summary, get_selected_columns, get_selected_rows, is_column_selected, is_row_selected, is_selected, add_row_selection, remove_row_selection, add_column_selection, remove_column_selection, row_inserted, column_inserted, row_deleted, column_deleted, row_reordered, column_reordered, model_changed;
412 } AtkTableIface_FID_CACHE;
413 
414 AtkTableIface_FID_CACHE AtkTableIfaceFc;
415 
cacheAtkTableIfaceFields(JNIEnv * env,jobject lpObject)416 void cacheAtkTableIfaceFields(JNIEnv *env, jobject lpObject)
417 {
418 	if (AtkTableIfaceFc.cached) return;
419 	AtkTableIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
420 	AtkTableIfaceFc.ref_at = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "ref_at", "J");
421 	AtkTableIfaceFc.get_index_at = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_index_at", "J");
422 	AtkTableIfaceFc.get_column_at_index = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_column_at_index", "J");
423 	AtkTableIfaceFc.get_row_at_index = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_row_at_index", "J");
424 	AtkTableIfaceFc.get_n_columns = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_n_columns", "J");
425 	AtkTableIfaceFc.get_n_rows = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_n_rows", "J");
426 	AtkTableIfaceFc.get_column_extent_at = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_column_extent_at", "J");
427 	AtkTableIfaceFc.get_row_extent_at = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_row_extent_at", "J");
428 	AtkTableIfaceFc.get_caption = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_caption", "J");
429 	AtkTableIfaceFc.get_column_description = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_column_description", "J");
430 	AtkTableIfaceFc.get_column_header = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_column_header", "J");
431 	AtkTableIfaceFc.get_row_description = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_row_description", "J");
432 	AtkTableIfaceFc.get_row_header = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_row_header", "J");
433 	AtkTableIfaceFc.get_summary = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_summary", "J");
434 	AtkTableIfaceFc.set_caption = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_caption", "J");
435 	AtkTableIfaceFc.set_column_description = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_column_description", "J");
436 	AtkTableIfaceFc.set_column_header = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_column_header", "J");
437 	AtkTableIfaceFc.set_row_description = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_row_description", "J");
438 	AtkTableIfaceFc.set_row_header = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_row_header", "J");
439 	AtkTableIfaceFc.set_summary = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_summary", "J");
440 	AtkTableIfaceFc.get_selected_columns = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_selected_columns", "J");
441 	AtkTableIfaceFc.get_selected_rows = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_selected_rows", "J");
442 	AtkTableIfaceFc.is_column_selected = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "is_column_selected", "J");
443 	AtkTableIfaceFc.is_row_selected = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "is_row_selected", "J");
444 	AtkTableIfaceFc.is_selected = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "is_selected", "J");
445 	AtkTableIfaceFc.add_row_selection = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "add_row_selection", "J");
446 	AtkTableIfaceFc.remove_row_selection = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "remove_row_selection", "J");
447 	AtkTableIfaceFc.add_column_selection = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "add_column_selection", "J");
448 	AtkTableIfaceFc.remove_column_selection = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "remove_column_selection", "J");
449 	AtkTableIfaceFc.row_inserted = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "row_inserted", "J");
450 	AtkTableIfaceFc.column_inserted = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "column_inserted", "J");
451 	AtkTableIfaceFc.row_deleted = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "row_deleted", "J");
452 	AtkTableIfaceFc.column_deleted = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "column_deleted", "J");
453 	AtkTableIfaceFc.row_reordered = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "row_reordered", "J");
454 	AtkTableIfaceFc.column_reordered = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "column_reordered", "J");
455 	AtkTableIfaceFc.model_changed = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "model_changed", "J");
456 	AtkTableIfaceFc.cached = 1;
457 }
458 
getAtkTableIfaceFields(JNIEnv * env,jobject lpObject,AtkTableIface * lpStruct)459 AtkTableIface *getAtkTableIfaceFields(JNIEnv *env, jobject lpObject, AtkTableIface *lpStruct)
460 {
461 	if (!AtkTableIfaceFc.cached) cacheAtkTableIfaceFields(env, lpObject);
462 	lpStruct->ref_at = (AtkObject* (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.ref_at);
463 	lpStruct->get_index_at = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_index_at);
464 	lpStruct->get_column_at_index = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_column_at_index);
465 	lpStruct->get_row_at_index = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_row_at_index);
466 	lpStruct->get_n_columns = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_n_columns);
467 	lpStruct->get_n_rows = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_n_rows);
468 	lpStruct->get_column_extent_at = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_column_extent_at);
469 	lpStruct->get_row_extent_at = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_row_extent_at);
470 	lpStruct->get_caption = (AtkObject* (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_caption);
471 	lpStruct->get_column_description = (const gchar* (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_column_description);
472 	lpStruct->get_column_header = (AtkObject* (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_column_header);
473 	lpStruct->get_row_description = (const gchar* (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_row_description);
474 	lpStruct->get_row_header = (AtkObject* (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_row_header);
475 	lpStruct->get_summary = (AtkObject* (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_summary);
476 	lpStruct->set_caption = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.set_caption);
477 	lpStruct->set_column_description = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.set_column_description);
478 	lpStruct->set_column_header = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.set_column_header);
479 	lpStruct->set_row_description = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.set_row_description);
480 	lpStruct->set_row_header = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.set_row_header);
481 	lpStruct->set_summary = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.set_summary);
482 	lpStruct->get_selected_columns = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_selected_columns);
483 	lpStruct->get_selected_rows = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.get_selected_rows);
484 	lpStruct->is_column_selected = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.is_column_selected);
485 	lpStruct->is_row_selected = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.is_row_selected);
486 	lpStruct->is_selected = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.is_selected);
487 	lpStruct->add_row_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.add_row_selection);
488 	lpStruct->remove_row_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.remove_row_selection);
489 	lpStruct->add_column_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.add_column_selection);
490 	lpStruct->remove_column_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.remove_column_selection);
491 	lpStruct->row_inserted = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.row_inserted);
492 	lpStruct->column_inserted = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.column_inserted);
493 	lpStruct->row_deleted = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.row_deleted);
494 	lpStruct->column_deleted = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.column_deleted);
495 	lpStruct->row_reordered = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.row_reordered);
496 	lpStruct->column_reordered = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.column_reordered);
497 	lpStruct->model_changed = (void (*)())(*env)->GetLongField(env, lpObject, AtkTableIfaceFc.model_changed);
498 	return lpStruct;
499 }
500 
setAtkTableIfaceFields(JNIEnv * env,jobject lpObject,AtkTableIface * lpStruct)501 void setAtkTableIfaceFields(JNIEnv *env, jobject lpObject, AtkTableIface *lpStruct)
502 {
503 	if (!AtkTableIfaceFc.cached) cacheAtkTableIfaceFields(env, lpObject);
504 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.ref_at, (jlong)lpStruct->ref_at);
505 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_index_at, (jlong)lpStruct->get_index_at);
506 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_column_at_index, (jlong)lpStruct->get_column_at_index);
507 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_row_at_index, (jlong)lpStruct->get_row_at_index);
508 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_n_columns, (jlong)lpStruct->get_n_columns);
509 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_n_rows, (jlong)lpStruct->get_n_rows);
510 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_column_extent_at, (jlong)lpStruct->get_column_extent_at);
511 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_row_extent_at, (jlong)lpStruct->get_row_extent_at);
512 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_caption, (jlong)lpStruct->get_caption);
513 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_column_description, (jlong)lpStruct->get_column_description);
514 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_column_header, (jlong)lpStruct->get_column_header);
515 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_row_description, (jlong)lpStruct->get_row_description);
516 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_row_header, (jlong)lpStruct->get_row_header);
517 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_summary, (jlong)lpStruct->get_summary);
518 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.set_caption, (jlong)lpStruct->set_caption);
519 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.set_column_description, (jlong)lpStruct->set_column_description);
520 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.set_column_header, (jlong)lpStruct->set_column_header);
521 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.set_row_description, (jlong)lpStruct->set_row_description);
522 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.set_row_header, (jlong)lpStruct->set_row_header);
523 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.set_summary, (jlong)lpStruct->set_summary);
524 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_selected_columns, (jlong)lpStruct->get_selected_columns);
525 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.get_selected_rows, (jlong)lpStruct->get_selected_rows);
526 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.is_column_selected, (jlong)lpStruct->is_column_selected);
527 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.is_row_selected, (jlong)lpStruct->is_row_selected);
528 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.is_selected, (jlong)lpStruct->is_selected);
529 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.add_row_selection, (jlong)lpStruct->add_row_selection);
530 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.remove_row_selection, (jlong)lpStruct->remove_row_selection);
531 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.add_column_selection, (jlong)lpStruct->add_column_selection);
532 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.remove_column_selection, (jlong)lpStruct->remove_column_selection);
533 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.row_inserted, (jlong)lpStruct->row_inserted);
534 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.column_inserted, (jlong)lpStruct->column_inserted);
535 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.row_deleted, (jlong)lpStruct->row_deleted);
536 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.column_deleted, (jlong)lpStruct->column_deleted);
537 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.row_reordered, (jlong)lpStruct->row_reordered);
538 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.column_reordered, (jlong)lpStruct->column_reordered);
539 	(*env)->SetLongField(env, lpObject, AtkTableIfaceFc.model_changed, (jlong)lpStruct->model_changed);
540 }
541 #endif
542 
543 #ifndef NO_AtkTextIface
544 typedef struct AtkTextIface_FID_CACHE {
545 	int cached;
546 	jclass clazz;
547 	jfieldID get_text, get_text_after_offset, get_text_at_offset, get_character_at_offset, get_text_before_offset, get_caret_offset, get_run_attributes, get_default_attributes, get_character_extents, get_character_count, get_offset_at_point, get_n_selections, get_selection, add_selection, remove_selection, set_selection, set_caret_offset, text_changed, text_caret_moved, text_selection_changed, get_range_extents, get_bounded_ranges;
548 } AtkTextIface_FID_CACHE;
549 
550 AtkTextIface_FID_CACHE AtkTextIfaceFc;
551 
cacheAtkTextIfaceFields(JNIEnv * env,jobject lpObject)552 void cacheAtkTextIfaceFields(JNIEnv *env, jobject lpObject)
553 {
554 	if (AtkTextIfaceFc.cached) return;
555 	AtkTextIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
556 	AtkTextIfaceFc.get_text = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_text", "J");
557 	AtkTextIfaceFc.get_text_after_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_text_after_offset", "J");
558 	AtkTextIfaceFc.get_text_at_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_text_at_offset", "J");
559 	AtkTextIfaceFc.get_character_at_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_character_at_offset", "J");
560 	AtkTextIfaceFc.get_text_before_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_text_before_offset", "J");
561 	AtkTextIfaceFc.get_caret_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_caret_offset", "J");
562 	AtkTextIfaceFc.get_run_attributes = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_run_attributes", "J");
563 	AtkTextIfaceFc.get_default_attributes = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_default_attributes", "J");
564 	AtkTextIfaceFc.get_character_extents = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_character_extents", "J");
565 	AtkTextIfaceFc.get_character_count = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_character_count", "J");
566 	AtkTextIfaceFc.get_offset_at_point = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_offset_at_point", "J");
567 	AtkTextIfaceFc.get_n_selections = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_n_selections", "J");
568 	AtkTextIfaceFc.get_selection = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_selection", "J");
569 	AtkTextIfaceFc.add_selection = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "add_selection", "J");
570 	AtkTextIfaceFc.remove_selection = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "remove_selection", "J");
571 	AtkTextIfaceFc.set_selection = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "set_selection", "J");
572 	AtkTextIfaceFc.set_caret_offset = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "set_caret_offset", "J");
573 	AtkTextIfaceFc.text_changed = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "text_changed", "J");
574 	AtkTextIfaceFc.text_caret_moved = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "text_caret_moved", "J");
575 	AtkTextIfaceFc.text_selection_changed = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "text_selection_changed", "J");
576 	AtkTextIfaceFc.get_range_extents = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_range_extents", "J");
577 	AtkTextIfaceFc.get_bounded_ranges = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_bounded_ranges", "J");
578 	AtkTextIfaceFc.cached = 1;
579 }
580 
getAtkTextIfaceFields(JNIEnv * env,jobject lpObject,AtkTextIface * lpStruct)581 AtkTextIface *getAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface *lpStruct)
582 {
583 	if (!AtkTextIfaceFc.cached) cacheAtkTextIfaceFields(env, lpObject);
584 	lpStruct->get_text = (gchar *(*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_text);
585 	lpStruct->get_text_after_offset = (gchar *(*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_text_after_offset);
586 	lpStruct->get_text_at_offset = (gchar *(*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_text_at_offset);
587 	lpStruct->get_character_at_offset = (gunichar (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_character_at_offset);
588 	lpStruct->get_text_before_offset = (gchar *(*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_text_before_offset);
589 	lpStruct->get_caret_offset = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_caret_offset);
590 	lpStruct->get_run_attributes = (AtkAttributeSet *(*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_run_attributes);
591 	lpStruct->get_default_attributes = (AtkAttributeSet *(*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_default_attributes);
592 	lpStruct->get_character_extents = (void (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_character_extents);
593 	lpStruct->get_character_count = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_character_count);
594 	lpStruct->get_offset_at_point = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_offset_at_point);
595 	lpStruct->get_n_selections = (gint (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_n_selections);
596 	lpStruct->get_selection = (gchar *(*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_selection);
597 	lpStruct->add_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.add_selection);
598 	lpStruct->remove_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.remove_selection);
599 	lpStruct->set_selection = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.set_selection);
600 	lpStruct->set_caret_offset = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.set_caret_offset);
601 	lpStruct->text_changed = (void (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.text_changed);
602 	lpStruct->text_caret_moved = (void (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.text_caret_moved);
603 	lpStruct->text_selection_changed = (void (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.text_selection_changed);
604 	lpStruct->get_range_extents = (void (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_range_extents);
605 	lpStruct->get_bounded_ranges = (AtkTextRange** (*)())(*env)->GetLongField(env, lpObject, AtkTextIfaceFc.get_bounded_ranges);
606 	return lpStruct;
607 }
608 
setAtkTextIfaceFields(JNIEnv * env,jobject lpObject,AtkTextIface * lpStruct)609 void setAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface *lpStruct)
610 {
611 	if (!AtkTextIfaceFc.cached) cacheAtkTextIfaceFields(env, lpObject);
612 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_text, (jlong)lpStruct->get_text);
613 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_text_after_offset, (jlong)lpStruct->get_text_after_offset);
614 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_text_at_offset, (jlong)lpStruct->get_text_at_offset);
615 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_character_at_offset, (jlong)lpStruct->get_character_at_offset);
616 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_text_before_offset, (jlong)lpStruct->get_text_before_offset);
617 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_caret_offset, (jlong)lpStruct->get_caret_offset);
618 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_run_attributes, (jlong)lpStruct->get_run_attributes);
619 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_default_attributes, (jlong)lpStruct->get_default_attributes);
620 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_character_extents, (jlong)lpStruct->get_character_extents);
621 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_character_count, (jlong)lpStruct->get_character_count);
622 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_offset_at_point, (jlong)lpStruct->get_offset_at_point);
623 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_n_selections, (jlong)lpStruct->get_n_selections);
624 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_selection, (jlong)lpStruct->get_selection);
625 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.add_selection, (jlong)lpStruct->add_selection);
626 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.remove_selection, (jlong)lpStruct->remove_selection);
627 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.set_selection, (jlong)lpStruct->set_selection);
628 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.set_caret_offset, (jlong)lpStruct->set_caret_offset);
629 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.text_changed, (jlong)lpStruct->text_changed);
630 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.text_caret_moved, (jlong)lpStruct->text_caret_moved);
631 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.text_selection_changed, (jlong)lpStruct->text_selection_changed);
632 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_range_extents, (jlong)lpStruct->get_range_extents);
633 	(*env)->SetLongField(env, lpObject, AtkTextIfaceFc.get_bounded_ranges, (jlong)lpStruct->get_bounded_ranges);
634 }
635 #endif
636 
637 #ifndef NO_AtkTextRange
638 typedef struct AtkTextRange_FID_CACHE {
639 	int cached;
640 	jclass clazz;
641 	jfieldID bounds, start_offset, end_offset, content;
642 } AtkTextRange_FID_CACHE;
643 
644 AtkTextRange_FID_CACHE AtkTextRangeFc;
645 
cacheAtkTextRangeFields(JNIEnv * env,jobject lpObject)646 void cacheAtkTextRangeFields(JNIEnv *env, jobject lpObject)
647 {
648 	if (AtkTextRangeFc.cached) return;
649 	AtkTextRangeFc.clazz = (*env)->GetObjectClass(env, lpObject);
650 	AtkTextRangeFc.bounds = (*env)->GetFieldID(env, AtkTextRangeFc.clazz, "bounds", "Lorg/eclipse/swt/internal/accessibility/gtk/AtkTextRectangle;");
651 	AtkTextRangeFc.start_offset = (*env)->GetFieldID(env, AtkTextRangeFc.clazz, "start_offset", "I");
652 	AtkTextRangeFc.end_offset = (*env)->GetFieldID(env, AtkTextRangeFc.clazz, "end_offset", "I");
653 	AtkTextRangeFc.content = (*env)->GetFieldID(env, AtkTextRangeFc.clazz, "content", "J");
654 	AtkTextRangeFc.cached = 1;
655 }
656 
getAtkTextRangeFields(JNIEnv * env,jobject lpObject,AtkTextRange * lpStruct)657 AtkTextRange *getAtkTextRangeFields(JNIEnv *env, jobject lpObject, AtkTextRange *lpStruct)
658 {
659 	if (!AtkTextRangeFc.cached) cacheAtkTextRangeFields(env, lpObject);
660 	{
661 	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, AtkTextRangeFc.bounds);
662 	if (lpObject1 != NULL) getAtkTextRectangleFields(env, lpObject1, &lpStruct->bounds);
663 	}
664 	lpStruct->start_offset = (*env)->GetIntField(env, lpObject, AtkTextRangeFc.start_offset);
665 	lpStruct->end_offset = (*env)->GetIntField(env, lpObject, AtkTextRangeFc.end_offset);
666 	lpStruct->content = (gchar *)(*env)->GetLongField(env, lpObject, AtkTextRangeFc.content);
667 	return lpStruct;
668 }
669 
setAtkTextRangeFields(JNIEnv * env,jobject lpObject,AtkTextRange * lpStruct)670 void setAtkTextRangeFields(JNIEnv *env, jobject lpObject, AtkTextRange *lpStruct)
671 {
672 	if (!AtkTextRangeFc.cached) cacheAtkTextRangeFields(env, lpObject);
673 	{
674 	jobject lpObject1 = (*env)->GetObjectField(env, lpObject, AtkTextRangeFc.bounds);
675 	if (lpObject1 != NULL) setAtkTextRectangleFields(env, lpObject1, &lpStruct->bounds);
676 	}
677 	(*env)->SetIntField(env, lpObject, AtkTextRangeFc.start_offset, (jint)lpStruct->start_offset);
678 	(*env)->SetIntField(env, lpObject, AtkTextRangeFc.end_offset, (jint)lpStruct->end_offset);
679 	(*env)->SetLongField(env, lpObject, AtkTextRangeFc.content, (jlong)lpStruct->content);
680 }
681 #endif
682 
683 #ifndef NO_AtkTextRectangle
684 typedef struct AtkTextRectangle_FID_CACHE {
685 	int cached;
686 	jclass clazz;
687 	jfieldID x, y, width, height;
688 } AtkTextRectangle_FID_CACHE;
689 
690 AtkTextRectangle_FID_CACHE AtkTextRectangleFc;
691 
cacheAtkTextRectangleFields(JNIEnv * env,jobject lpObject)692 void cacheAtkTextRectangleFields(JNIEnv *env, jobject lpObject)
693 {
694 	if (AtkTextRectangleFc.cached) return;
695 	AtkTextRectangleFc.clazz = (*env)->GetObjectClass(env, lpObject);
696 	AtkTextRectangleFc.x = (*env)->GetFieldID(env, AtkTextRectangleFc.clazz, "x", "I");
697 	AtkTextRectangleFc.y = (*env)->GetFieldID(env, AtkTextRectangleFc.clazz, "y", "I");
698 	AtkTextRectangleFc.width = (*env)->GetFieldID(env, AtkTextRectangleFc.clazz, "width", "I");
699 	AtkTextRectangleFc.height = (*env)->GetFieldID(env, AtkTextRectangleFc.clazz, "height", "I");
700 	AtkTextRectangleFc.cached = 1;
701 }
702 
getAtkTextRectangleFields(JNIEnv * env,jobject lpObject,AtkTextRectangle * lpStruct)703 AtkTextRectangle *getAtkTextRectangleFields(JNIEnv *env, jobject lpObject, AtkTextRectangle *lpStruct)
704 {
705 	if (!AtkTextRectangleFc.cached) cacheAtkTextRectangleFields(env, lpObject);
706 	lpStruct->x = (*env)->GetIntField(env, lpObject, AtkTextRectangleFc.x);
707 	lpStruct->y = (*env)->GetIntField(env, lpObject, AtkTextRectangleFc.y);
708 	lpStruct->width = (*env)->GetIntField(env, lpObject, AtkTextRectangleFc.width);
709 	lpStruct->height = (*env)->GetIntField(env, lpObject, AtkTextRectangleFc.height);
710 	return lpStruct;
711 }
712 
setAtkTextRectangleFields(JNIEnv * env,jobject lpObject,AtkTextRectangle * lpStruct)713 void setAtkTextRectangleFields(JNIEnv *env, jobject lpObject, AtkTextRectangle *lpStruct)
714 {
715 	if (!AtkTextRectangleFc.cached) cacheAtkTextRectangleFields(env, lpObject);
716 	(*env)->SetIntField(env, lpObject, AtkTextRectangleFc.x, (jint)lpStruct->x);
717 	(*env)->SetIntField(env, lpObject, AtkTextRectangleFc.y, (jint)lpStruct->y);
718 	(*env)->SetIntField(env, lpObject, AtkTextRectangleFc.width, (jint)lpStruct->width);
719 	(*env)->SetIntField(env, lpObject, AtkTextRectangleFc.height, (jint)lpStruct->height);
720 }
721 #endif
722 
723 #ifndef NO_AtkValueIface
724 typedef struct AtkValueIface_FID_CACHE {
725 	int cached;
726 	jclass clazz;
727 	jfieldID get_current_value, get_maximum_value, get_minimum_value, set_current_value;
728 } AtkValueIface_FID_CACHE;
729 
730 AtkValueIface_FID_CACHE AtkValueIfaceFc;
731 
cacheAtkValueIfaceFields(JNIEnv * env,jobject lpObject)732 void cacheAtkValueIfaceFields(JNIEnv *env, jobject lpObject)
733 {
734 	if (AtkValueIfaceFc.cached) return;
735 	AtkValueIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
736 	AtkValueIfaceFc.get_current_value = (*env)->GetFieldID(env, AtkValueIfaceFc.clazz, "get_current_value", "J");
737 	AtkValueIfaceFc.get_maximum_value = (*env)->GetFieldID(env, AtkValueIfaceFc.clazz, "get_maximum_value", "J");
738 	AtkValueIfaceFc.get_minimum_value = (*env)->GetFieldID(env, AtkValueIfaceFc.clazz, "get_minimum_value", "J");
739 	AtkValueIfaceFc.set_current_value = (*env)->GetFieldID(env, AtkValueIfaceFc.clazz, "set_current_value", "J");
740 	AtkValueIfaceFc.cached = 1;
741 }
742 
getAtkValueIfaceFields(JNIEnv * env,jobject lpObject,AtkValueIface * lpStruct)743 AtkValueIface *getAtkValueIfaceFields(JNIEnv *env, jobject lpObject, AtkValueIface *lpStruct)
744 {
745 	if (!AtkValueIfaceFc.cached) cacheAtkValueIfaceFields(env, lpObject);
746 	lpStruct->get_current_value = (void (*)())(*env)->GetLongField(env, lpObject, AtkValueIfaceFc.get_current_value);
747 	lpStruct->get_maximum_value = (void (*)())(*env)->GetLongField(env, lpObject, AtkValueIfaceFc.get_maximum_value);
748 	lpStruct->get_minimum_value = (void (*)())(*env)->GetLongField(env, lpObject, AtkValueIfaceFc.get_minimum_value);
749 	lpStruct->set_current_value = (gboolean (*)())(*env)->GetLongField(env, lpObject, AtkValueIfaceFc.set_current_value);
750 	return lpStruct;
751 }
752 
setAtkValueIfaceFields(JNIEnv * env,jobject lpObject,AtkValueIface * lpStruct)753 void setAtkValueIfaceFields(JNIEnv *env, jobject lpObject, AtkValueIface *lpStruct)
754 {
755 	if (!AtkValueIfaceFc.cached) cacheAtkValueIfaceFields(env, lpObject);
756 	(*env)->SetLongField(env, lpObject, AtkValueIfaceFc.get_current_value, (jlong)lpStruct->get_current_value);
757 	(*env)->SetLongField(env, lpObject, AtkValueIfaceFc.get_maximum_value, (jlong)lpStruct->get_maximum_value);
758 	(*env)->SetLongField(env, lpObject, AtkValueIfaceFc.get_minimum_value, (jlong)lpStruct->get_minimum_value);
759 	(*env)->SetLongField(env, lpObject, AtkValueIfaceFc.set_current_value, (jlong)lpStruct->set_current_value);
760 }
761 #endif
762 
763