summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qjniobject/testdata/src/org/qtproject/qt/android/testdata/QtJniObjectTestClass.java
blob: 07a94d1cac4793c4a95e8111d44ecff7e704e7af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

package org.qtproject.qt.android.testdatapackage;

public class QtJniObjectTestClass
{
    static final byte A_BYTE_VALUE = 127;
    static final short A_SHORT_VALUE = 32767;
    static final int A_INT_VALUE = 060701;
    static final long A_LONG_VALUE = 060701;
    static final float A_FLOAT_VALUE = 1.0f;
    static final double A_DOUBLE_VALUE = 1.0;
    static final boolean A_BOOLEAN_VALUE = true;
    static final char A_CHAR_VALUE = 'Q';
    static final String A_STRING_OBJECT = "TEST_DATA_STRING";
    static final Class A_CLASS_OBJECT = QtJniObjectTestClass.class;
    static final Object A_OBJECT_OBJECT = new QtJniObjectTestClass();
    static final Throwable A_THROWABLE_OBJECT = new Throwable(A_STRING_OBJECT);

    // --------------------------------------------------------------------------------------------

    final int INT_FIELD = 123;
    final boolean BOOL_FIELD = true;

    byte BYTE_VAR;
    short SHORT_VAR;
    int INT_VAR;
    long LONG_VAR;
    float FLOAT_VAR;
    double DOUBLE_VAR;
    boolean BOOLEAN_VAR;
    char CHAR_VAR;
    String STRING_OBJECT_VAR;

    static byte S_BYTE_VAR;
    static short S_SHORT_VAR;
    static int S_INT_VAR;
    static long S_LONG_VAR;
    static float S_FLOAT_VAR;
    static double S_DOUBLE_VAR;
    static boolean S_BOOLEAN_VAR;
    static char S_CHAR_VAR;
    static String S_STRING_OBJECT_VAR;

    // --------------------------------------------------------------------------------------------
    public static void staticVoidMethod() { return; }
    public static void staticVoidMethodWithArgs(int a, boolean b, char c) { return; }

    public void voidMethod() { return; }
    public void voidMethodWithArgs(int a, boolean b, char c) { return; }

    // --------------------------------------------------------------------------------------------
    public static boolean staticBooleanMethod() { return A_BOOLEAN_VALUE; }
    public static boolean staticBooleanMethodWithArgs(boolean a, boolean b, boolean c)
    { return staticBooleanMethod(); }

    public boolean booleanMethod() { return staticBooleanMethod(); }
    public boolean booleanMethodWithArgs(boolean a, boolean b, boolean c)
    { return staticBooleanMethodWithArgs(a, b, c); }

    // --------------------------------------------------------------------------------------------
    public static byte staticByteMethod() { return A_BYTE_VALUE; }
    public static byte staticByteMethodWithArgs(byte a, byte b, byte c) { return staticByteMethod(); }

    public byte byteMethod() { return staticByteMethod(); }
    public byte byteMethodWithArgs(byte a, byte b, byte c)
    { return staticByteMethodWithArgs(a, b, c); }

    // --------------------------------------------------------------------------------------------
    public static char staticCharMethod() { return A_CHAR_VALUE; }
    public static char staticCharMethodWithArgs(char a, char b, char c) { return staticCharMethod(); }

    public char charMethod() { return staticCharMethod(); }
    public char charMethodWithArgs(char a, char b, char c)
    { return staticCharMethodWithArgs(a, b, c); }

    // --------------------------------------------------------------------------------------------
    public static short staticShortMethod() { return A_SHORT_VALUE; }
    public static short staticShortMethodWithArgs(short a, short b, short c) { return staticShortMethod(); }

    public short shortMethod() { return staticShortMethod(); }
    public short shortMethodWithArgs(short a, short b, short c)
    { return staticShortMethodWithArgs(a, b, c); }

    // --------------------------------------------------------------------------------------------
    public static int staticIntMethod() { return A_INT_VALUE; }
    public static int staticIntMethodWithArgs(int a, int b, int c) { return staticIntMethod(); }

    public int intMethod() { return staticIntMethod(); }
    public int intMethodWithArgs(int a, int b, int c) { return staticIntMethodWithArgs(a, b, c); }

    // --------------------------------------------------------------------------------------------
    public static long staticLongMethod() { return A_LONG_VALUE; }
    public static long staticLongMethodWithArgs(long a, long b, long c) { return staticLongMethod(); }

    public long longMethod() { return staticLongMethod(); }
    public long longMethodWithArgs(long a, long b, long c)
    { return staticLongMethodWithArgs(a, b, c); }

    // --------------------------------------------------------------------------------------------
    public static float staticFloatMethod() { return A_FLOAT_VALUE; }
    public static float staticFloatMethodWithArgs(float a, float b, float c) { return staticFloatMethod(); }

    public float floatMethod() { return staticFloatMethod(); }
    public float floatMethodWithArgs(float a, float b, float c)
    { return staticFloatMethodWithArgs(a, b, c); }

    // --------------------------------------------------------------------------------------------
    public static double staticDoubleMethod() { return A_DOUBLE_VALUE; }
    public static double staticDoubleMethodWithArgs(double a, double b, double c)
    { return staticDoubleMethod(); }

    public double doubleMethod() { return staticDoubleMethod(); }
    public double doubleMethodWithArgs(double a, double b, double c)
    { return staticDoubleMethodWithArgs(a, b, c); }

    // --------------------------------------------------------------------------------------------
    public static Object staticObjectMethod() { return A_OBJECT_OBJECT; }
    public Object objectMethod() { return staticObjectMethod(); }

    // --------------------------------------------------------------------------------------------
    public static Class staticClassMethod() { return A_CLASS_OBJECT; }
    public Class classMethod() { return staticClassMethod(); }

    // --------------------------------------------------------------------------------------------
    public static String staticStringMethod() { return A_STRING_OBJECT; }
    public String stringMethod() { return staticStringMethod(); }

    // --------------------------------------------------------------------------------------------
    public static String staticEchoMethod(String value) { return value; }

    // --------------------------------------------------------------------------------------------
    public static Throwable staticThrowableMethod() { return A_THROWABLE_OBJECT; }
    public Throwable throwableMethod() { return staticThrowableMethod(); }

    // --------------------------------------------------------------------------------------------
    public static Object[] staticObjectArrayMethod()
    { Object[] array = { new Object(), new Object(), new Object() }; return array; }
    public Object[] objectArrayMethod() { return staticObjectArrayMethod(); }
    public static Object[] staticReverseObjectArray(Object[] array)
    {
        for (int i = 0; i < array.length / 2; ++i) {
            Object old = array[array.length - i - 1];
            array[array.length - i - 1] = array[i];
            array[i] = old;
        }
        return array;
    }
    public Object[] reverseObjectArray(Object[] array)
    { return staticReverseObjectArray(array); }

    // --------------------------------------------------------------------------------------------
    public static boolean[] staticBooleanArrayMethod()
    { boolean[] array = { true, true, true }; return array; }
    public boolean[] booleanArrayMethod() { return staticBooleanArrayMethod(); }
    public static boolean[] staticReverseBooleanArray(boolean[] array)
    {
        for (int i = 0; i < array.length / 2; ++i) {
            boolean old = array[array.length - i - 1];
            array[array.length - i - 1] = array[i];
            array[i] = old;
        }
        return array;
    }
    public boolean[] reverseBooleanArray(boolean[] array)
    { return staticReverseBooleanArray(array); }

    // --------------------------------------------------------------------------------------------
    public static byte[] staticByteArrayMethod()
    { byte[] array = { 'a', 'b', 'c' }; return array; }
    public byte[] byteArrayMethod() { return staticByteArrayMethod(); }
    public static byte[] staticReverseByteArray(byte[] array)
    {
        for (int i = 0; i < array.length / 2; ++i) {
            byte old = array[array.length - i - 1];
            array[array.length - i - 1] = array[i];
            array[i] = old;
        }
        return array;
    }
    public byte[] reverseByteArray(byte[] array)
    { return staticReverseByteArray(array); }

    // --------------------------------------------------------------------------------------------
    public static char[] staticCharArrayMethod()
    { char[] array = { 'a', 'b', 'c' }; return array; }
    public char[] charArrayMethod() { return staticCharArrayMethod(); }
    public static char[] staticReverseCharArray(char[] array)
    {
        for (int i = 0; i < array.length / 2; ++i) {
            char old = array[array.length - i - 1];
            array[array.length - i - 1] = array[i];
            array[i] = old;
        }
        return array;
    }
    public char[] reverseCharArray(char[] array)
    { return staticReverseCharArray(array); }

    // --------------------------------------------------------------------------------------------
    public static short[] staticShortArrayMethod() { short[] array = { 3, 2, 1 }; return array; }
    public short[] shortArrayMethod() { return staticShortArrayMethod(); }
    public static short[] staticReverseShortArray(short[] array)
    {
        for (int i = 0; i < array.length / 2; ++i) {
            short old = array[array.length - i - 1];
            array[array.length - i - 1] = array[i];
            array[i] = old;
        }
        return array;
    }
    public short[] reverseShortArray(short[] array)
    { return staticReverseShortArray(array); }

    // --------------------------------------------------------------------------------------------
    public static int[] staticIntArrayMethod() { int[] array = { 3, 2, 1 }; return array; }
    public int[] intArrayMethod() { return staticIntArrayMethod(); }
    public static int[] staticReverseIntArray(int[] array)
    {
        for (int i = 0; i < array.length / 2; ++i) {
            int old = array[array.length - i - 1];
            array[array.length - i - 1] = array[i];
            array[i] = old;
        }
        return array;
    }
    public int[] reverseIntArray(int[] array)
    { return staticReverseIntArray(array); }

    // --------------------------------------------------------------------------------------------
    public static long[] staticLongArrayMethod()
    { long[] array = { 3, 2, 1 }; return array; }
    public long[] longArrayMethod() { return staticLongArrayMethod(); }
    public static long[] staticReverseLongArray(long[] array)
    {
        for (int i = 0; i < array.length / 2; ++i) {
            long old = array[array.length - i - 1];
            array[array.length - i - 1] = array[i];
            array[i] = old;
        }
        return array;
    }
    public long[] reverseLongArray(long[] array)
    { return staticReverseLongArray(array); }

    // --------------------------------------------------------------------------------------------
    public static float[] staticFloatArrayMethod()
    { float[] array = { 1.0f, 2.0f, 3.0f }; return array; }
    public float[] floatArrayMethod() { return staticFloatArrayMethod(); }
    public static float[] staticReverseFloatArray(float[] array)
    {
        for (int i = 0; i < array.length / 2; ++i) {
            float old = array[array.length - i - 1];
            array[array.length - i - 1] = array[i];
            array[i] = old;
        }
        return array;
    }
    public float[] reverseFloatArray(float[] array)
    { return staticReverseFloatArray(array); }

    // --------------------------------------------------------------------------------------------
    public static double[] staticDoubleArrayMethod()
    { double[] array = { 3.0, 2.0, 1.0 }; return array; }
    public double[] doubleArrayMethod() { return staticDoubleArrayMethod(); }
    public static double[] staticReverseDoubleArray(double[] array)
    {
        for (int i = 0; i < array.length / 2; ++i) {
            double old = array[array.length - i - 1];
            array[array.length - i - 1] = array[i];
            array[i] = old;
        }
        return array;
    }
    public double[] reverseDoubleArray(double[] array)
    { return staticReverseDoubleArray(array); }

    // --------------------------------------------------------------------------------------------
    native public int callbackWithObject(QtJniObjectTestClass that);
    native public int callbackWithObjectRef(QtJniObjectTestClass that);
    native public int callbackWithString(String string);
    native public int callbackWithByte(byte value);
    native public int callbackWithBoolean(boolean value);
    native public int callbackWithInt(int value);
    native public int callbackWithDouble(double value);
    native public int callbackWithJniArray(double[] value);
    native public int callbackWithQList(double[] value);
    native public int callbackWithStringList(String[] value);

    public int callMeBackWithObject(QtJniObjectTestClass that)
    {
        return callbackWithObject(that);
    }

    public int callMeBackWithObjectRef(QtJniObjectTestClass that)
    {
        return callbackWithObjectRef(that);
    }

    public int callMeBackWithString(String string)
    {
        return callbackWithString(string);
    }

    public int callMeBackWithByte(byte value)
    {
        return callbackWithByte(value);
    }

    public int callMeBackWithBoolean(boolean value)
    {
        return callbackWithBoolean(value);
    }

    public int callMeBackWithInt(int value)
    {
        return callbackWithInt(value);
    }

    public int callMeBackWithDouble(double value)
    {
        return callbackWithDouble(value);
    }
    public int callMeBackWithJniArray(double[] value)
    {
        return callbackWithJniArray(value);
    }
    public int callMeBackWithQList(double[] value)
    {
        return callbackWithQList(value);
    }
    public int callMeBackWithStringList(String[] value)
    {
        return callbackWithStringList(value);
    }

    public Object callMethodThrowsException() throws Exception {
        throw new Exception();
    }

    public static Object callStaticMethodThrowsException() throws Exception {
        throw new Exception();
    }
}