| /******************************************************************************* |
| * Copyright (c) 2000, 2016 IBM Corporation and others. All rights reserved. |
| * The contents of this file are made available under the terms |
| * of the GNU Lesser General Public License (LGPL) Version 2.1 that |
| * accompanies this distribution (lgpl-v21.txt). The LGPL is also |
| * available at http://www.gnu.org/licenses/lgpl.html. If the version |
| * of the LGPL at http://www.gnu.org is different to the version of |
| * the LGPL accompanying this distribution and there is any conflict |
| * between the two license versions, the terms of the LGPL accompanying |
| * this distribution shall govern. |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| #include "swt.h" |
| #include "atk_stats.h" |
| |
| #ifdef NATIVE_STATS |
| |
| char * ATK_nativeFunctionNames[] = { |
| "ATK_1IS_1NO_1OP_1OBJECT_1FACTORY", |
| "ATK_1TYPE_1ACTION", |
| "ATK_1TYPE_1COMPONENT", |
| "ATK_1TYPE_1EDITABLE_1TEXT", |
| "ATK_1TYPE_1HYPERTEXT", |
| "ATK_1TYPE_1OBJECT_1FACTORY", |
| "ATK_1TYPE_1SELECTION", |
| "ATK_1TYPE_1TABLE", |
| "ATK_1TYPE_1TEXT", |
| "ATK_1TYPE_1VALUE", |
| "AtkAttribute_1sizeof", |
| "AtkObjectFactoryClass_1sizeof", |
| "AtkObjectFactory_1sizeof", |
| "AtkTextRange_1sizeof", |
| "AtkTextRectangle_1sizeof", |
| "_1ATK_1ACTION_1GET_1IFACE", |
| "_1ATK_1COMPONENT_1GET_1IFACE", |
| "_1ATK_1EDITABLE_1TEXT_1GET_1IFACE", |
| "_1ATK_1HYPERTEXT_1GET_1IFACE", |
| "_1ATK_1OBJECT_1FACTORY_1CLASS", |
| "_1ATK_1SELECTION_1GET_1IFACE", |
| "_1ATK_1TABLE_1GET_1IFACE", |
| "_1ATK_1TEXT_1GET_1IFACE", |
| "_1ATK_1VALUE_1GET_1IFACE", |
| "_1atk_1get_1default_1registry", |
| "_1atk_1object_1factory_1get_1accessible_1type", |
| "_1atk_1object_1initialize", |
| "_1atk_1object_1notify_1state_1change", |
| "_1atk_1registry_1get_1factory", |
| "_1atk_1registry_1set_1factory_1type", |
| "_1atk_1role_1register", |
| "_1atk_1state_1set_1add_1state", |
| "_1atk_1text_1attribute_1get_1name", |
| "_1atk_1text_1attribute_1get_1value", |
| #ifndef JNI64 |
| "_1call__II", |
| #else |
| "_1call__JJ", |
| #endif |
| #ifndef JNI64 |
| "_1call__III", |
| #else |
| "_1call__JJJ", |
| #endif |
| #ifndef JNI64 |
| "_1call__IIII", |
| #else |
| "_1call__JJJJ", |
| #endif |
| #ifndef JNI64 |
| "_1call__IIIIII", |
| #else |
| "_1call__JJJJJJ", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I", |
| #endif |
| #ifndef JNI64 |
| "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2", |
| #else |
| "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2II", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2JI", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkEditableTextIface_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkHypertextIface_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectClass_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkObjectFactoryClass_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2II", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2JI", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2II", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2JI", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2J", |
| #endif |
| #ifndef JNI64 |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I", |
| #else |
| "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2J", |
| #endif |
| }; |
| #define NATIVE_FUNCTION_COUNT sizeof(ATK_nativeFunctionNames) / sizeof(char*) |
| int ATK_nativeFunctionCount = NATIVE_FUNCTION_COUNT; |
| int ATK_nativeFunctionCallCount[NATIVE_FUNCTION_COUNT]; |
| |
| #define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func |
| |
| JNIEXPORT jint JNICALL STATS_NATIVE(ATK_1GetFunctionCount) |
| (JNIEnv *env, jclass that) |
| { |
| return ATK_nativeFunctionCount; |
| } |
| |
| JNIEXPORT jstring JNICALL STATS_NATIVE(ATK_1GetFunctionName) |
| (JNIEnv *env, jclass that, jint index) |
| { |
| return (*env)->NewStringUTF(env, ATK_nativeFunctionNames[index]); |
| } |
| |
| JNIEXPORT jint JNICALL STATS_NATIVE(ATK_1GetFunctionCallCount) |
| (JNIEnv *env, jclass that, jint index) |
| { |
| return ATK_nativeFunctionCallCount[index]; |
| } |
| |
| #endif |