1*3c7ae9deSAndroid Build Coastguard Worker /**
2*3c7ae9deSAndroid Build Coastguard Worker * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3*3c7ae9deSAndroid Build Coastguard Worker * SPDX-License-Identifier: Apache-2.0.
4*3c7ae9deSAndroid Build Coastguard Worker */
5*3c7ae9deSAndroid Build Coastguard Worker
6*3c7ae9deSAndroid Build Coastguard Worker #include "java_class_ids.h"
7*3c7ae9deSAndroid Build Coastguard Worker
8*3c7ae9deSAndroid Build Coastguard Worker #include <aws/common/assert.h>
9*3c7ae9deSAndroid Build Coastguard Worker #include <aws/common/thread.h>
10*3c7ae9deSAndroid Build Coastguard Worker
11*3c7ae9deSAndroid Build Coastguard Worker struct java_http_request_body_stream_properties http_request_body_stream_properties;
12*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_request_body_stream(JNIEnv * env)13*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_request_body_stream(JNIEnv *env) {
14*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpRequestBodyStream");
15*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
16*3c7ae9deSAndroid Build Coastguard Worker
17*3c7ae9deSAndroid Build Coastguard Worker http_request_body_stream_properties.send_outgoing_body =
18*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "sendRequestBody", "(Ljava/nio/ByteBuffer;)Z");
19*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_request_body_stream_properties.send_outgoing_body);
20*3c7ae9deSAndroid Build Coastguard Worker
21*3c7ae9deSAndroid Build Coastguard Worker http_request_body_stream_properties.reset_position = (*env)->GetMethodID(env, cls, "resetPosition", "()Z");
22*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_request_body_stream_properties.reset_position);
23*3c7ae9deSAndroid Build Coastguard Worker
24*3c7ae9deSAndroid Build Coastguard Worker http_request_body_stream_properties.get_length = (*env)->GetMethodID(env, cls, "getLength", "()J");
25*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_request_body_stream_properties.get_length);
26*3c7ae9deSAndroid Build Coastguard Worker }
27*3c7ae9deSAndroid Build Coastguard Worker
28*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_signing_config_properties aws_signing_config_properties;
29*3c7ae9deSAndroid Build Coastguard Worker
s_cache_aws_signing_config(JNIEnv * env)30*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_aws_signing_config(JNIEnv *env) {
31*3c7ae9deSAndroid Build Coastguard Worker jclass aws_signing_config_class =
32*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/auth/signing/AwsSigningConfig");
33*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_class);
34*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.aws_signing_config_class = (*env)->NewGlobalRef(env, aws_signing_config_class);
35*3c7ae9deSAndroid Build Coastguard Worker
36*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.algorithm_field_id =
37*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "algorithm", "I");
38*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.algorithm_field_id);
39*3c7ae9deSAndroid Build Coastguard Worker
40*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.signature_type_field_id =
41*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "signatureType", "I");
42*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.signature_type_field_id);
43*3c7ae9deSAndroid Build Coastguard Worker
44*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.region_field_id =
45*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "region", "Ljava/lang/String;");
46*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.region_field_id);
47*3c7ae9deSAndroid Build Coastguard Worker
48*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.service_field_id =
49*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "service", "Ljava/lang/String;");
50*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.service_field_id);
51*3c7ae9deSAndroid Build Coastguard Worker
52*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.time_field_id = (*env)->GetFieldID(env, aws_signing_config_class, "time", "J");
53*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.time_field_id);
54*3c7ae9deSAndroid Build Coastguard Worker
55*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.credentials_provider_field_id = (*env)->GetFieldID(
56*3c7ae9deSAndroid Build Coastguard Worker env,
57*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_class,
58*3c7ae9deSAndroid Build Coastguard Worker "credentialsProvider",
59*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/auth/credentials/CredentialsProvider;");
60*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.credentials_provider_field_id);
61*3c7ae9deSAndroid Build Coastguard Worker
62*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.credentials_field_id = (*env)->GetFieldID(
63*3c7ae9deSAndroid Build Coastguard Worker env, aws_signing_config_class, "credentials", "Lsoftware/amazon/awssdk/crt/auth/credentials/Credentials;");
64*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.credentials_field_id);
65*3c7ae9deSAndroid Build Coastguard Worker
66*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.should_sign_header_field_id =
67*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "shouldSignHeader", "Ljava/util/function/Predicate;");
68*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.should_sign_header_field_id);
69*3c7ae9deSAndroid Build Coastguard Worker
70*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.use_double_uri_encode_field_id =
71*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "useDoubleUriEncode", "Z");
72*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.use_double_uri_encode_field_id);
73*3c7ae9deSAndroid Build Coastguard Worker
74*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.should_normalize_uri_path_field_id =
75*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "shouldNormalizeUriPath", "Z");
76*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.should_normalize_uri_path_field_id);
77*3c7ae9deSAndroid Build Coastguard Worker
78*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.omit_session_token_field_id =
79*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "omitSessionToken", "Z");
80*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.omit_session_token_field_id);
81*3c7ae9deSAndroid Build Coastguard Worker
82*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.signed_body_value_field_id =
83*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "signedBodyValue", "Ljava/lang/String;");
84*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.signed_body_value_field_id);
85*3c7ae9deSAndroid Build Coastguard Worker
86*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.signed_body_header_field_id =
87*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "signedBodyHeader", "I");
88*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.signed_body_header_field_id);
89*3c7ae9deSAndroid Build Coastguard Worker
90*3c7ae9deSAndroid Build Coastguard Worker aws_signing_config_properties.expiration_in_seconds_field_id =
91*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, aws_signing_config_class, "expirationInSeconds", "J");
92*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_config_properties.expiration_in_seconds_field_id);
93*3c7ae9deSAndroid Build Coastguard Worker }
94*3c7ae9deSAndroid Build Coastguard Worker
95*3c7ae9deSAndroid Build Coastguard Worker struct java_predicate_properties predicate_properties;
96*3c7ae9deSAndroid Build Coastguard Worker
s_cache_predicate(JNIEnv * env)97*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_predicate(JNIEnv *env) {
98*3c7ae9deSAndroid Build Coastguard Worker jclass predicate_class = (*env)->FindClass(env, "java/util/function/Predicate");
99*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(predicate_class);
100*3c7ae9deSAndroid Build Coastguard Worker predicate_properties.predicate_class = (*env)->NewGlobalRef(env, predicate_class);
101*3c7ae9deSAndroid Build Coastguard Worker
102*3c7ae9deSAndroid Build Coastguard Worker predicate_properties.test_method_id = (*env)->GetMethodID(env, predicate_class, "test", "(Ljava/lang/Object;)Z");
103*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(predicate_properties.test_method_id);
104*3c7ae9deSAndroid Build Coastguard Worker }
105*3c7ae9deSAndroid Build Coastguard Worker
106*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_long_properties boxed_long_properties;
107*3c7ae9deSAndroid Build Coastguard Worker
s_cache_boxed_long(JNIEnv * env)108*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_boxed_long(JNIEnv *env) {
109*3c7ae9deSAndroid Build Coastguard Worker jclass boxed_long_class = (*env)->FindClass(env, "java/lang/Long");
110*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_long_class);
111*3c7ae9deSAndroid Build Coastguard Worker boxed_long_properties.long_class = (*env)->NewGlobalRef(env, boxed_long_class);
112*3c7ae9deSAndroid Build Coastguard Worker
113*3c7ae9deSAndroid Build Coastguard Worker boxed_long_properties.constructor = (*env)->GetMethodID(env, boxed_long_class, "<init>", "(J)V");
114*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_long_properties.constructor);
115*3c7ae9deSAndroid Build Coastguard Worker
116*3c7ae9deSAndroid Build Coastguard Worker boxed_long_properties.long_value_method_id = (*env)->GetMethodID(env, boxed_long_class, "longValue", "()J");
117*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_long_properties.long_value_method_id);
118*3c7ae9deSAndroid Build Coastguard Worker }
119*3c7ae9deSAndroid Build Coastguard Worker
120*3c7ae9deSAndroid Build Coastguard Worker struct java_http_request_properties http_request_properties;
121*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_request(JNIEnv * env)122*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_request(JNIEnv *env) {
123*3c7ae9deSAndroid Build Coastguard Worker jclass http_request_class = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpRequest");
124*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_request_class);
125*3c7ae9deSAndroid Build Coastguard Worker http_request_properties.http_request_class = (*env)->NewGlobalRef(env, http_request_class);
126*3c7ae9deSAndroid Build Coastguard Worker
127*3c7ae9deSAndroid Build Coastguard Worker http_request_properties.constructor_method_id = (*env)->GetMethodID(
128*3c7ae9deSAndroid Build Coastguard Worker env,
129*3c7ae9deSAndroid Build Coastguard Worker http_request_class,
130*3c7ae9deSAndroid Build Coastguard Worker "<init>",
131*3c7ae9deSAndroid Build Coastguard Worker "(Ljava/nio/ByteBuffer;Lsoftware/amazon/awssdk/crt/http/HttpRequestBodyStream;)V");
132*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_request_properties.constructor_method_id);
133*3c7ae9deSAndroid Build Coastguard Worker
134*3c7ae9deSAndroid Build Coastguard Worker http_request_properties.body_stream_field_id = (*env)->GetFieldID(
135*3c7ae9deSAndroid Build Coastguard Worker env, http_request_class, "bodyStream", "Lsoftware/amazon/awssdk/crt/http/HttpRequestBodyStream;");
136*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_request_properties.body_stream_field_id);
137*3c7ae9deSAndroid Build Coastguard Worker }
138*3c7ae9deSAndroid Build Coastguard Worker
139*3c7ae9deSAndroid Build Coastguard Worker struct java_crt_resource_properties crt_resource_properties;
140*3c7ae9deSAndroid Build Coastguard Worker
s_cache_crt_resource(JNIEnv * env)141*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_crt_resource(JNIEnv *env) {
142*3c7ae9deSAndroid Build Coastguard Worker jclass crt_resource_class = (*env)->FindClass(env, "software/amazon/awssdk/crt/CrtResource");
143*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(crt_resource_class);
144*3c7ae9deSAndroid Build Coastguard Worker
145*3c7ae9deSAndroid Build Coastguard Worker crt_resource_properties.get_native_handle_method_id =
146*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, crt_resource_class, "getNativeHandle", "()J");
147*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(crt_resource_properties.get_native_handle_method_id);
148*3c7ae9deSAndroid Build Coastguard Worker
149*3c7ae9deSAndroid Build Coastguard Worker crt_resource_properties.release_references =
150*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, crt_resource_class, "releaseReferences", "()V");
151*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(crt_resource_properties.release_references);
152*3c7ae9deSAndroid Build Coastguard Worker
153*3c7ae9deSAndroid Build Coastguard Worker crt_resource_properties.add_ref = (*env)->GetMethodID(env, crt_resource_class, "addRef", "()V");
154*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(crt_resource_properties.add_ref);
155*3c7ae9deSAndroid Build Coastguard Worker
156*3c7ae9deSAndroid Build Coastguard Worker crt_resource_properties.close = (*env)->GetMethodID(env, crt_resource_class, "close", "()V");
157*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(crt_resource_properties.close);
158*3c7ae9deSAndroid Build Coastguard Worker }
159*3c7ae9deSAndroid Build Coastguard Worker
160*3c7ae9deSAndroid Build Coastguard Worker struct java_mqtt_connection_properties mqtt_connection_properties;
161*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt_connection(JNIEnv * env)162*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt_connection(JNIEnv *env) {
163*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt/MqttClientConnection");
164*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
165*3c7ae9deSAndroid Build Coastguard Worker
166*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_properties.on_connection_complete = (*env)->GetMethodID(env, cls, "onConnectionComplete", "(IZ)V");
167*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_properties.on_connection_complete);
168*3c7ae9deSAndroid Build Coastguard Worker
169*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_properties.on_connection_interrupted =
170*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onConnectionInterrupted", "(ILsoftware/amazon/awssdk/crt/AsyncCallback;)V");
171*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_properties.on_connection_interrupted);
172*3c7ae9deSAndroid Build Coastguard Worker
173*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_properties.on_connection_resumed = (*env)->GetMethodID(env, cls, "onConnectionResumed", "(Z)V");
174*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_properties.on_connection_resumed);
175*3c7ae9deSAndroid Build Coastguard Worker
176*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_properties.on_connection_closed = (*env)->GetMethodID(env, cls, "onConnectionClosed", "()V");
177*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_properties.on_connection_closed);
178*3c7ae9deSAndroid Build Coastguard Worker
179*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_properties.on_websocket_handshake =
180*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onWebsocketHandshake", "(Lsoftware/amazon/awssdk/crt/http/HttpRequest;J)V");
181*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_properties.on_websocket_handshake);
182*3c7ae9deSAndroid Build Coastguard Worker
183*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_properties.on_connection_success = (*env)->GetMethodID(env, cls, "onConnectionSuccess", "(Z)V");
184*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_properties.on_connection_success);
185*3c7ae9deSAndroid Build Coastguard Worker
186*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_properties.on_connection_failure = (*env)->GetMethodID(env, cls, "onConnectionFailure", "(I)V");
187*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_properties.on_connection_failure);
188*3c7ae9deSAndroid Build Coastguard Worker }
189*3c7ae9deSAndroid Build Coastguard Worker
190*3c7ae9deSAndroid Build Coastguard Worker struct java_message_handler_properties message_handler_properties;
191*3c7ae9deSAndroid Build Coastguard Worker
s_cache_message_handler(JNIEnv * env)192*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_message_handler(JNIEnv *env) {
193*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt/MqttClientConnection$MessageHandler");
194*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
195*3c7ae9deSAndroid Build Coastguard Worker
196*3c7ae9deSAndroid Build Coastguard Worker message_handler_properties.deliver = (*env)->GetMethodID(env, cls, "deliver", "(Ljava/lang/String;[BZIZ)V");
197*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(message_handler_properties.deliver);
198*3c7ae9deSAndroid Build Coastguard Worker }
199*3c7ae9deSAndroid Build Coastguard Worker
200*3c7ae9deSAndroid Build Coastguard Worker struct java_mqtt_exception_properties mqtt_exception_properties;
201*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt_exception(JNIEnv * env)202*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt_exception(JNIEnv *env) {
203*3c7ae9deSAndroid Build Coastguard Worker mqtt_exception_properties.jni_mqtt_exception =
204*3c7ae9deSAndroid Build Coastguard Worker (*env)->NewGlobalRef(env, (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt/MqttException"));
205*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_exception_properties.jni_mqtt_exception);
206*3c7ae9deSAndroid Build Coastguard Worker
207*3c7ae9deSAndroid Build Coastguard Worker mqtt_exception_properties.jni_constructor =
208*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt_exception_properties.jni_mqtt_exception, "<init>", "(I)V");
209*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_exception_properties.jni_constructor);
210*3c7ae9deSAndroid Build Coastguard Worker }
211*3c7ae9deSAndroid Build Coastguard Worker
212*3c7ae9deSAndroid Build Coastguard Worker struct java_mqtt_connection_operation_statistics_properties mqtt_connection_operation_statistics_properties;
213*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt_client_connection_operation_statistics(JNIEnv * env)214*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt_client_connection_operation_statistics(JNIEnv *env) {
215*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt/MqttClientConnectionOperationStatistics");
216*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
217*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_operation_statistics_properties.statistics_class = (*env)->NewGlobalRef(env, cls);
218*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_operation_statistics_properties.statistics_class);
219*3c7ae9deSAndroid Build Coastguard Worker // Functions
220*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_operation_statistics_properties.statistics_constructor_id =
221*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt_connection_operation_statistics_properties.statistics_class, "<init>", "()V");
222*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_operation_statistics_properties.statistics_constructor_id);
223*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
224*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_operation_statistics_properties.incomplete_operation_count_field_id = (*env)->GetFieldID(
225*3c7ae9deSAndroid Build Coastguard Worker env, mqtt_connection_operation_statistics_properties.statistics_class, "incompleteOperationCount", "J");
226*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_operation_statistics_properties.incomplete_operation_count_field_id);
227*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_operation_statistics_properties.incomplete_operation_size_field_id = (*env)->GetFieldID(
228*3c7ae9deSAndroid Build Coastguard Worker env, mqtt_connection_operation_statistics_properties.statistics_class, "incompleteOperationSize", "J");
229*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_operation_statistics_properties.incomplete_operation_size_field_id);
230*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_operation_statistics_properties.unacked_operation_count_field_id = (*env)->GetFieldID(
231*3c7ae9deSAndroid Build Coastguard Worker env, mqtt_connection_operation_statistics_properties.statistics_class, "unackedOperationCount", "J");
232*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_operation_statistics_properties.unacked_operation_count_field_id);
233*3c7ae9deSAndroid Build Coastguard Worker mqtt_connection_operation_statistics_properties.unacked_operation_size_field_id = (*env)->GetFieldID(
234*3c7ae9deSAndroid Build Coastguard Worker env, mqtt_connection_operation_statistics_properties.statistics_class, "unackedOperationSize", "J");
235*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt_connection_operation_statistics_properties.unacked_operation_size_field_id);
236*3c7ae9deSAndroid Build Coastguard Worker }
237*3c7ae9deSAndroid Build Coastguard Worker
238*3c7ae9deSAndroid Build Coastguard Worker struct java_byte_buffer_properties byte_buffer_properties;
239*3c7ae9deSAndroid Build Coastguard Worker
s_cache_byte_buffer(JNIEnv * env)240*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_byte_buffer(JNIEnv *env) {
241*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "java/nio/ByteBuffer");
242*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
243*3c7ae9deSAndroid Build Coastguard Worker
244*3c7ae9deSAndroid Build Coastguard Worker // FindClass() returns local JNI references that become eligible for GC once this native method returns to Java.
245*3c7ae9deSAndroid Build Coastguard Worker // Call NewGlobalRef() so that this class reference doesn't get Garbage collected.
246*3c7ae9deSAndroid Build Coastguard Worker byte_buffer_properties.cls = (*env)->NewGlobalRef(env, cls);
247*3c7ae9deSAndroid Build Coastguard Worker
248*3c7ae9deSAndroid Build Coastguard Worker byte_buffer_properties.get_capacity = (*env)->GetMethodID(env, cls, "capacity", "()I");
249*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(byte_buffer_properties.get_capacity);
250*3c7ae9deSAndroid Build Coastguard Worker
251*3c7ae9deSAndroid Build Coastguard Worker byte_buffer_properties.get_limit = (*env)->GetMethodID(env, cls, "limit", "()I");
252*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(byte_buffer_properties.get_limit);
253*3c7ae9deSAndroid Build Coastguard Worker
254*3c7ae9deSAndroid Build Coastguard Worker byte_buffer_properties.set_limit = (*env)->GetMethodID(env, cls, "limit", "(I)Ljava/nio/Buffer;");
255*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(byte_buffer_properties.set_limit);
256*3c7ae9deSAndroid Build Coastguard Worker
257*3c7ae9deSAndroid Build Coastguard Worker byte_buffer_properties.get_position = (*env)->GetMethodID(env, cls, "position", "()I");
258*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(byte_buffer_properties.get_position);
259*3c7ae9deSAndroid Build Coastguard Worker
260*3c7ae9deSAndroid Build Coastguard Worker byte_buffer_properties.set_position = (*env)->GetMethodID(env, cls, "position", "(I)Ljava/nio/Buffer;");
261*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(byte_buffer_properties.set_position);
262*3c7ae9deSAndroid Build Coastguard Worker
263*3c7ae9deSAndroid Build Coastguard Worker byte_buffer_properties.get_remaining = (*env)->GetMethodID(env, cls, "remaining", "()I");
264*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(byte_buffer_properties.get_remaining);
265*3c7ae9deSAndroid Build Coastguard Worker
266*3c7ae9deSAndroid Build Coastguard Worker byte_buffer_properties.wrap = (*env)->GetStaticMethodID(env, cls, "wrap", "([B)Ljava/nio/ByteBuffer;");
267*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(byte_buffer_properties.wrap);
268*3c7ae9deSAndroid Build Coastguard Worker }
269*3c7ae9deSAndroid Build Coastguard Worker
270*3c7ae9deSAndroid Build Coastguard Worker struct java_credentials_provider_properties credentials_provider_properties;
271*3c7ae9deSAndroid Build Coastguard Worker
s_cache_credentials_provider(JNIEnv * env)272*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_credentials_provider(JNIEnv *env) {
273*3c7ae9deSAndroid Build Coastguard Worker jclass provider_class = (*env)->FindClass(env, "software/amazon/awssdk/crt/auth/credentials/CredentialsProvider");
274*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(provider_class);
275*3c7ae9deSAndroid Build Coastguard Worker
276*3c7ae9deSAndroid Build Coastguard Worker credentials_provider_properties.on_shutdown_complete_method_id =
277*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, provider_class, "onShutdownComplete", "()V");
278*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(credentials_provider_properties.on_shutdown_complete_method_id);
279*3c7ae9deSAndroid Build Coastguard Worker
280*3c7ae9deSAndroid Build Coastguard Worker credentials_provider_properties.on_get_credentials_complete_method_id = (*env)->GetMethodID(
281*3c7ae9deSAndroid Build Coastguard Worker env,
282*3c7ae9deSAndroid Build Coastguard Worker provider_class,
283*3c7ae9deSAndroid Build Coastguard Worker "onGetCredentialsComplete",
284*3c7ae9deSAndroid Build Coastguard Worker "(Ljava/util/concurrent/CompletableFuture;Lsoftware/amazon/awssdk/crt/auth/credentials/Credentials;)V");
285*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(credentials_provider_properties.on_get_credentials_complete_method_id);
286*3c7ae9deSAndroid Build Coastguard Worker }
287*3c7ae9deSAndroid Build Coastguard Worker
288*3c7ae9deSAndroid Build Coastguard Worker struct java_credentials_properties credentials_properties;
289*3c7ae9deSAndroid Build Coastguard Worker
s_cache_credentials(JNIEnv * env)290*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_credentials(JNIEnv *env) {
291*3c7ae9deSAndroid Build Coastguard Worker credentials_properties.credentials_class =
292*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/auth/credentials/Credentials");
293*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(credentials_properties.credentials_class);
294*3c7ae9deSAndroid Build Coastguard Worker credentials_properties.credentials_class = (*env)->NewGlobalRef(env, credentials_properties.credentials_class);
295*3c7ae9deSAndroid Build Coastguard Worker
296*3c7ae9deSAndroid Build Coastguard Worker credentials_properties.constructor_method_id =
297*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, credentials_properties.credentials_class, "<init>", "()V");
298*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(credentials_properties.constructor_method_id);
299*3c7ae9deSAndroid Build Coastguard Worker
300*3c7ae9deSAndroid Build Coastguard Worker credentials_properties.access_key_id_field_id =
301*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, credentials_properties.credentials_class, "accessKeyId", "[B");
302*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(credentials_properties.access_key_id_field_id);
303*3c7ae9deSAndroid Build Coastguard Worker
304*3c7ae9deSAndroid Build Coastguard Worker credentials_properties.secret_access_key_field_id =
305*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, credentials_properties.credentials_class, "secretAccessKey", "[B");
306*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(credentials_properties.secret_access_key_field_id);
307*3c7ae9deSAndroid Build Coastguard Worker
308*3c7ae9deSAndroid Build Coastguard Worker credentials_properties.session_token_field_id =
309*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, credentials_properties.credentials_class, "sessionToken", "[B");
310*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(credentials_properties.session_token_field_id);
311*3c7ae9deSAndroid Build Coastguard Worker
312*3c7ae9deSAndroid Build Coastguard Worker credentials_properties.expiration_field_id =
313*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, credentials_properties.credentials_class, "expirationTimePointSecs", "J");
314*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(credentials_properties.expiration_field_id);
315*3c7ae9deSAndroid Build Coastguard Worker }
316*3c7ae9deSAndroid Build Coastguard Worker
317*3c7ae9deSAndroid Build Coastguard Worker struct java_credentials_handler_properties credentials_handler_properties;
318*3c7ae9deSAndroid Build Coastguard Worker
s_cache_credentials_handler(JNIEnv * env)319*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_credentials_handler(JNIEnv *env) {
320*3c7ae9deSAndroid Build Coastguard Worker jclass handler_cls =
321*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/auth/credentials/DelegateCredentialsHandler");
322*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(handler_cls);
323*3c7ae9deSAndroid Build Coastguard Worker
324*3c7ae9deSAndroid Build Coastguard Worker credentials_handler_properties.on_handler_get_credentials_method_id = (*env)->GetMethodID(
325*3c7ae9deSAndroid Build Coastguard Worker env, handler_cls, "getCredentials", "()Lsoftware/amazon/awssdk/crt/auth/credentials/Credentials;");
326*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(credentials_handler_properties.on_handler_get_credentials_method_id);
327*3c7ae9deSAndroid Build Coastguard Worker }
328*3c7ae9deSAndroid Build Coastguard Worker
329*3c7ae9deSAndroid Build Coastguard Worker struct java_async_callback_properties async_callback_properties;
330*3c7ae9deSAndroid Build Coastguard Worker
s_cache_async_callback(JNIEnv * env)331*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_async_callback(JNIEnv *env) {
332*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/AsyncCallback");
333*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
334*3c7ae9deSAndroid Build Coastguard Worker
335*3c7ae9deSAndroid Build Coastguard Worker async_callback_properties.on_success_with_object =
336*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onSuccess", "(Ljava/lang/Object;)V");
337*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(async_callback_properties.on_success_with_object);
338*3c7ae9deSAndroid Build Coastguard Worker
339*3c7ae9deSAndroid Build Coastguard Worker async_callback_properties.on_success = (*env)->GetMethodID(env, cls, "onSuccess", "()V");
340*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(async_callback_properties.on_success);
341*3c7ae9deSAndroid Build Coastguard Worker
342*3c7ae9deSAndroid Build Coastguard Worker async_callback_properties.on_failure = (*env)->GetMethodID(env, cls, "onFailure", "(Ljava/lang/Throwable;)V");
343*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(async_callback_properties.on_failure);
344*3c7ae9deSAndroid Build Coastguard Worker }
345*3c7ae9deSAndroid Build Coastguard Worker
346*3c7ae9deSAndroid Build Coastguard Worker struct java_event_loop_group_properties event_loop_group_properties;
347*3c7ae9deSAndroid Build Coastguard Worker
s_cache_event_loop_group(JNIEnv * env)348*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_event_loop_group(JNIEnv *env) {
349*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/EventLoopGroup");
350*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
351*3c7ae9deSAndroid Build Coastguard Worker
352*3c7ae9deSAndroid Build Coastguard Worker event_loop_group_properties.onCleanupComplete = (*env)->GetMethodID(env, cls, "onCleanupComplete", "()V");
353*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_loop_group_properties.onCleanupComplete);
354*3c7ae9deSAndroid Build Coastguard Worker }
355*3c7ae9deSAndroid Build Coastguard Worker
356*3c7ae9deSAndroid Build Coastguard Worker struct java_client_bootstrap_properties client_bootstrap_properties;
357*3c7ae9deSAndroid Build Coastguard Worker
s_cache_client_bootstrap(JNIEnv * env)358*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_client_bootstrap(JNIEnv *env) {
359*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/ClientBootstrap");
360*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
361*3c7ae9deSAndroid Build Coastguard Worker
362*3c7ae9deSAndroid Build Coastguard Worker client_bootstrap_properties.onShutdownComplete = (*env)->GetMethodID(env, cls, "onShutdownComplete", "()V");
363*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(client_bootstrap_properties.onShutdownComplete);
364*3c7ae9deSAndroid Build Coastguard Worker }
365*3c7ae9deSAndroid Build Coastguard Worker
366*3c7ae9deSAndroid Build Coastguard Worker struct java_tls_context_pkcs11_options_properties tls_context_pkcs11_options_properties;
367*3c7ae9deSAndroid Build Coastguard Worker
s_cache_tls_context_pkcs11_options(JNIEnv * env)368*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_tls_context_pkcs11_options(JNIEnv *env) {
369*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/TlsContextPkcs11Options");
370*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
371*3c7ae9deSAndroid Build Coastguard Worker
372*3c7ae9deSAndroid Build Coastguard Worker tls_context_pkcs11_options_properties.pkcs11Lib =
373*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "pkcs11Lib", "Lsoftware/amazon/awssdk/crt/io/Pkcs11Lib;");
374*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_pkcs11_options_properties.pkcs11Lib);
375*3c7ae9deSAndroid Build Coastguard Worker
376*3c7ae9deSAndroid Build Coastguard Worker tls_context_pkcs11_options_properties.userPin = (*env)->GetFieldID(env, cls, "userPin", "Ljava/lang/String;");
377*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_pkcs11_options_properties.userPin);
378*3c7ae9deSAndroid Build Coastguard Worker
379*3c7ae9deSAndroid Build Coastguard Worker tls_context_pkcs11_options_properties.slotId = (*env)->GetFieldID(env, cls, "slotId", "Ljava/lang/Long;");
380*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_pkcs11_options_properties.slotId);
381*3c7ae9deSAndroid Build Coastguard Worker
382*3c7ae9deSAndroid Build Coastguard Worker tls_context_pkcs11_options_properties.tokenLabel = (*env)->GetFieldID(env, cls, "tokenLabel", "Ljava/lang/String;");
383*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_pkcs11_options_properties.tokenLabel);
384*3c7ae9deSAndroid Build Coastguard Worker
385*3c7ae9deSAndroid Build Coastguard Worker tls_context_pkcs11_options_properties.privateKeyObjectLabel =
386*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "privateKeyObjectLabel", "Ljava/lang/String;");
387*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_pkcs11_options_properties.privateKeyObjectLabel);
388*3c7ae9deSAndroid Build Coastguard Worker
389*3c7ae9deSAndroid Build Coastguard Worker tls_context_pkcs11_options_properties.certificateFilePath =
390*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "certificateFilePath", "Ljava/lang/String;");
391*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_pkcs11_options_properties.certificateFilePath);
392*3c7ae9deSAndroid Build Coastguard Worker
393*3c7ae9deSAndroid Build Coastguard Worker tls_context_pkcs11_options_properties.certificateFileContents =
394*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "certificateFileContents", "Ljava/lang/String;");
395*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_pkcs11_options_properties.certificateFileContents);
396*3c7ae9deSAndroid Build Coastguard Worker }
397*3c7ae9deSAndroid Build Coastguard Worker
398*3c7ae9deSAndroid Build Coastguard Worker struct java_tls_key_operation_properties tls_key_operation_properties;
399*3c7ae9deSAndroid Build Coastguard Worker
s_cache_tls_key_operation(JNIEnv * env)400*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_tls_key_operation(JNIEnv *env) {
401*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/TlsKeyOperation");
402*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
403*3c7ae9deSAndroid Build Coastguard Worker tls_key_operation_properties.cls = (*env)->NewGlobalRef(env, cls);
404*3c7ae9deSAndroid Build Coastguard Worker
405*3c7ae9deSAndroid Build Coastguard Worker tls_key_operation_properties.constructor = (*env)->GetMethodID(env, cls, "<init>", "(J[BIII)V");
406*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_key_operation_properties.constructor);
407*3c7ae9deSAndroid Build Coastguard Worker
408*3c7ae9deSAndroid Build Coastguard Worker tls_key_operation_properties.invoke_operation_id = (*env)->GetStaticMethodID(
409*3c7ae9deSAndroid Build Coastguard Worker env,
410*3c7ae9deSAndroid Build Coastguard Worker cls,
411*3c7ae9deSAndroid Build Coastguard Worker "invokePerformOperation",
412*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/io/TlsKeyOperationHandler;Lsoftware/amazon/awssdk/crt/io/TlsKeyOperation;)V");
413*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_key_operation_properties.invoke_operation_id);
414*3c7ae9deSAndroid Build Coastguard Worker }
415*3c7ae9deSAndroid Build Coastguard Worker
416*3c7ae9deSAndroid Build Coastguard Worker struct java_tls_context_custom_key_operation_options_properties tls_context_custom_key_operation_options_properties;
417*3c7ae9deSAndroid Build Coastguard Worker
s_cache_tls_context_custom_key_operation_options(JNIEnv * env)418*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_tls_context_custom_key_operation_options(JNIEnv *env) {
419*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/TlsContextCustomKeyOperationOptions");
420*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
421*3c7ae9deSAndroid Build Coastguard Worker
422*3c7ae9deSAndroid Build Coastguard Worker tls_context_custom_key_operation_options_properties.operation_handler_field_id =
423*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "operationHandler", "Lsoftware/amazon/awssdk/crt/io/TlsKeyOperationHandler;");
424*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_custom_key_operation_options_properties.operation_handler_field_id);
425*3c7ae9deSAndroid Build Coastguard Worker
426*3c7ae9deSAndroid Build Coastguard Worker tls_context_custom_key_operation_options_properties.certificate_file_path_field_id =
427*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "certificateFilePath", "Ljava/lang/String;");
428*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_custom_key_operation_options_properties.certificate_file_path_field_id);
429*3c7ae9deSAndroid Build Coastguard Worker
430*3c7ae9deSAndroid Build Coastguard Worker tls_context_custom_key_operation_options_properties.certificate_file_contents_field_id =
431*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "certificateFileContents", "Ljava/lang/String;");
432*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_context_custom_key_operation_options_properties.certificate_file_contents_field_id);
433*3c7ae9deSAndroid Build Coastguard Worker }
434*3c7ae9deSAndroid Build Coastguard Worker
435*3c7ae9deSAndroid Build Coastguard Worker struct java_tls_key_operation_handler_properties tls_key_operation_handler_properties;
436*3c7ae9deSAndroid Build Coastguard Worker
s_cache_tls_key_operation_handler(JNIEnv * env)437*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_tls_key_operation_handler(JNIEnv *env) {
438*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/TlsKeyOperationHandler");
439*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
440*3c7ae9deSAndroid Build Coastguard Worker
441*3c7ae9deSAndroid Build Coastguard Worker tls_key_operation_handler_properties.perform_operation_id =
442*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "performOperation", "(Lsoftware/amazon/awssdk/crt/io/TlsKeyOperation;)V");
443*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(tls_key_operation_handler_properties.perform_operation_id);
444*3c7ae9deSAndroid Build Coastguard Worker }
445*3c7ae9deSAndroid Build Coastguard Worker
446*3c7ae9deSAndroid Build Coastguard Worker struct java_http_client_connection_manager_properties http_client_connection_manager_properties;
447*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_client_connection_manager(JNIEnv * env)448*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_client_connection_manager(JNIEnv *env) {
449*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpClientConnectionManager");
450*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
451*3c7ae9deSAndroid Build Coastguard Worker
452*3c7ae9deSAndroid Build Coastguard Worker http_client_connection_manager_properties.onShutdownComplete =
453*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onShutdownComplete", "()V");
454*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_client_connection_manager_properties.onShutdownComplete);
455*3c7ae9deSAndroid Build Coastguard Worker }
456*3c7ae9deSAndroid Build Coastguard Worker
457*3c7ae9deSAndroid Build Coastguard Worker struct java_http2_stream_manager_properties http2_stream_manager_properties;
458*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http2_stream_manager(JNIEnv * env)459*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http2_stream_manager(JNIEnv *env) {
460*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/Http2StreamManager");
461*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
462*3c7ae9deSAndroid Build Coastguard Worker
463*3c7ae9deSAndroid Build Coastguard Worker http2_stream_manager_properties.onShutdownComplete = (*env)->GetMethodID(env, cls, "onShutdownComplete", "()V");
464*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http2_stream_manager_properties.onShutdownComplete);
465*3c7ae9deSAndroid Build Coastguard Worker }
466*3c7ae9deSAndroid Build Coastguard Worker
467*3c7ae9deSAndroid Build Coastguard Worker struct java_http_client_connection_properties http_client_connection_properties;
468*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_client_connection(JNIEnv * env)469*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_client_connection(JNIEnv *env) {
470*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpClientConnection");
471*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
472*3c7ae9deSAndroid Build Coastguard Worker http_client_connection_properties.http_client_connection_class = (*env)->NewGlobalRef(env, cls);
473*3c7ae9deSAndroid Build Coastguard Worker
474*3c7ae9deSAndroid Build Coastguard Worker http_client_connection_properties.on_connection_acquired_method_id =
475*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetStaticMethodID(env, cls, "onConnectionAcquired", "(Ljava/util/concurrent/CompletableFuture;JI)V");
476*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_client_connection_properties.on_connection_acquired_method_id);
477*3c7ae9deSAndroid Build Coastguard Worker }
478*3c7ae9deSAndroid Build Coastguard Worker
479*3c7ae9deSAndroid Build Coastguard Worker struct java_http_stream_properties http_stream_properties;
480*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_stream(JNIEnv * env)481*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_stream(JNIEnv *env) {
482*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpStream");
483*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
484*3c7ae9deSAndroid Build Coastguard Worker http_stream_properties.stream_class = (*env)->NewGlobalRef(env, cls);
485*3c7ae9deSAndroid Build Coastguard Worker
486*3c7ae9deSAndroid Build Coastguard Worker http_stream_properties.constructor = (*env)->GetMethodID(env, cls, "<init>", "(J)V");
487*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_stream_properties.constructor);
488*3c7ae9deSAndroid Build Coastguard Worker
489*3c7ae9deSAndroid Build Coastguard Worker http_stream_properties.close = (*env)->GetMethodID(env, cls, "close", "()V");
490*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_stream_properties.close);
491*3c7ae9deSAndroid Build Coastguard Worker }
492*3c7ae9deSAndroid Build Coastguard Worker
493*3c7ae9deSAndroid Build Coastguard Worker struct java_http2_stream_properties http2_stream_properties;
494*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http2_stream(JNIEnv * env)495*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http2_stream(JNIEnv *env) {
496*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/Http2Stream");
497*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
498*3c7ae9deSAndroid Build Coastguard Worker http2_stream_properties.stream_class = (*env)->NewGlobalRef(env, cls);
499*3c7ae9deSAndroid Build Coastguard Worker
500*3c7ae9deSAndroid Build Coastguard Worker http2_stream_properties.constructor = (*env)->GetMethodID(env, cls, "<init>", "(J)V");
501*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http2_stream_properties.constructor);
502*3c7ae9deSAndroid Build Coastguard Worker }
503*3c7ae9deSAndroid Build Coastguard Worker
504*3c7ae9deSAndroid Build Coastguard Worker struct java_http_stream_response_handler_native_adapter_properties http_stream_response_handler_properties;
505*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_stream_response_handler_native_adapter(JNIEnv * env)506*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_stream_response_handler_native_adapter(JNIEnv *env) {
507*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpStreamResponseHandlerNativeAdapter");
508*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
509*3c7ae9deSAndroid Build Coastguard Worker
510*3c7ae9deSAndroid Build Coastguard Worker http_stream_response_handler_properties.onResponseHeaders = (*env)->GetMethodID(
511*3c7ae9deSAndroid Build Coastguard Worker env, cls, "onResponseHeaders", "(Lsoftware/amazon/awssdk/crt/http/HttpStreamBase;IILjava/nio/ByteBuffer;)V");
512*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_stream_response_handler_properties.onResponseHeaders);
513*3c7ae9deSAndroid Build Coastguard Worker
514*3c7ae9deSAndroid Build Coastguard Worker http_stream_response_handler_properties.onResponseHeadersDone =
515*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onResponseHeadersDone", "(Lsoftware/amazon/awssdk/crt/http/HttpStreamBase;I)V");
516*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_stream_response_handler_properties.onResponseHeadersDone);
517*3c7ae9deSAndroid Build Coastguard Worker
518*3c7ae9deSAndroid Build Coastguard Worker http_stream_response_handler_properties.onResponseBody = (*env)->GetMethodID(
519*3c7ae9deSAndroid Build Coastguard Worker env, cls, "onResponseBody", "(Lsoftware/amazon/awssdk/crt/http/HttpStreamBase;Ljava/nio/ByteBuffer;)I");
520*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_stream_response_handler_properties.onResponseBody);
521*3c7ae9deSAndroid Build Coastguard Worker
522*3c7ae9deSAndroid Build Coastguard Worker http_stream_response_handler_properties.onResponseComplete =
523*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onResponseComplete", "(Lsoftware/amazon/awssdk/crt/http/HttpStreamBase;I)V");
524*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_stream_response_handler_properties.onResponseComplete);
525*3c7ae9deSAndroid Build Coastguard Worker
526*3c7ae9deSAndroid Build Coastguard Worker http_stream_response_handler_properties.onMetrics = (*env)->GetMethodID(
527*3c7ae9deSAndroid Build Coastguard Worker env,
528*3c7ae9deSAndroid Build Coastguard Worker cls,
529*3c7ae9deSAndroid Build Coastguard Worker "onMetrics",
530*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/http/HttpStreamBase;Lsoftware/amazon/awssdk/crt/http/HttpStreamMetrics;)V");
531*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_stream_response_handler_properties.onMetrics);
532*3c7ae9deSAndroid Build Coastguard Worker }
533*3c7ae9deSAndroid Build Coastguard Worker
534*3c7ae9deSAndroid Build Coastguard Worker struct java_http_stream_write_chunk_completion_properties http_stream_write_chunk_completion_properties;
535*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_stream_write_chunk_completion_properties(JNIEnv * env)536*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_stream_write_chunk_completion_properties(JNIEnv *env) {
537*3c7ae9deSAndroid Build Coastguard Worker jclass cls =
538*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpStream$HttpStreamWriteChunkCompletionCallback");
539*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
540*3c7ae9deSAndroid Build Coastguard Worker
541*3c7ae9deSAndroid Build Coastguard Worker http_stream_write_chunk_completion_properties.callback = (*env)->GetMethodID(env, cls, "onChunkCompleted", "(I)V");
542*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_stream_write_chunk_completion_properties.callback);
543*3c7ae9deSAndroid Build Coastguard Worker }
544*3c7ae9deSAndroid Build Coastguard Worker
545*3c7ae9deSAndroid Build Coastguard Worker struct java_http_stream_metrics_properties http_stream_metrics_properties;
546*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_stream_metrics_properties(JNIEnv * env)547*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_stream_metrics_properties(JNIEnv *env) {
548*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpStreamMetrics");
549*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
550*3c7ae9deSAndroid Build Coastguard Worker http_stream_metrics_properties.http_stream_metrics_class = (*env)->NewGlobalRef(env, cls);
551*3c7ae9deSAndroid Build Coastguard Worker
552*3c7ae9deSAndroid Build Coastguard Worker http_stream_metrics_properties.constructor_id = (*env)->GetMethodID(env, cls, "<init>", "(JJJJJJI)V");
553*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_stream_metrics_properties.constructor_id);
554*3c7ae9deSAndroid Build Coastguard Worker }
555*3c7ae9deSAndroid Build Coastguard Worker
556*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_server_listener_properties event_stream_server_listener_properties;
557*3c7ae9deSAndroid Build Coastguard Worker
s_cache_event_stream_server_listener_properties(JNIEnv * env)558*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_event_stream_server_listener_properties(JNIEnv *env) {
559*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/eventstream/ServerListener");
560*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
561*3c7ae9deSAndroid Build Coastguard Worker
562*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_listener_properties.onShutdownComplete =
563*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onShutdownComplete", "()V");
564*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_listener_properties.onShutdownComplete);
565*3c7ae9deSAndroid Build Coastguard Worker }
566*3c7ae9deSAndroid Build Coastguard Worker
567*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_server_listener_handler_properties event_stream_server_listener_handler_properties;
568*3c7ae9deSAndroid Build Coastguard Worker
s_cache_event_stream_server_listener_handler_properties(JNIEnv * env)569*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_event_stream_server_listener_handler_properties(JNIEnv *env) {
570*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/eventstream/ServerListenerHandler");
571*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
572*3c7ae9deSAndroid Build Coastguard Worker
573*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_listener_handler_properties.connCls =
574*3c7ae9deSAndroid Build Coastguard Worker (*env)->NewGlobalRef(env, (*env)->FindClass(env, "software/amazon/awssdk/crt/eventstream/ServerConnection"));
575*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_listener_handler_properties.connCls);
576*3c7ae9deSAndroid Build Coastguard Worker
577*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_listener_handler_properties.newConnConstructor =
578*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, event_stream_server_listener_handler_properties.connCls, "<init>", "(J)V");
579*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_listener_handler_properties.newConnConstructor);
580*3c7ae9deSAndroid Build Coastguard Worker
581*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_listener_handler_properties.onNewConnection = (*env)->GetMethodID(
582*3c7ae9deSAndroid Build Coastguard Worker env,
583*3c7ae9deSAndroid Build Coastguard Worker cls,
584*3c7ae9deSAndroid Build Coastguard Worker "onNewConnection",
585*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/eventstream/ServerConnection;I)Lsoftware/amazon/awssdk/crt/eventstream/"
586*3c7ae9deSAndroid Build Coastguard Worker "ServerConnectionHandler;");
587*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_listener_handler_properties.onNewConnection);
588*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_listener_handler_properties.onConnectionShutdown = (*env)->GetMethodID(
589*3c7ae9deSAndroid Build Coastguard Worker env, cls, "onConnectionShutdownShim", "(Lsoftware/amazon/awssdk/crt/eventstream/ServerConnection;I)V");
590*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_listener_handler_properties.onConnectionShutdown);
591*3c7ae9deSAndroid Build Coastguard Worker }
592*3c7ae9deSAndroid Build Coastguard Worker
593*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_server_connection_handler_properties event_stream_server_connection_handler_properties;
594*3c7ae9deSAndroid Build Coastguard Worker
s_cache_event_stream_server_connection_handler_properties(JNIEnv * env)595*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_event_stream_server_connection_handler_properties(JNIEnv *env) {
596*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/eventstream/ServerConnectionHandler");
597*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
598*3c7ae9deSAndroid Build Coastguard Worker
599*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_connection_handler_properties.continuationCls = (*env)->NewGlobalRef(
600*3c7ae9deSAndroid Build Coastguard Worker env, (*env)->FindClass(env, "software/amazon/awssdk/crt/eventstream/ServerConnectionContinuation"));
601*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_connection_handler_properties.continuationCls);
602*3c7ae9deSAndroid Build Coastguard Worker
603*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_connection_handler_properties.newContinuationConstructor =
604*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, event_stream_server_connection_handler_properties.continuationCls, "<init>", "(J)V");
605*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_connection_handler_properties.newContinuationConstructor);
606*3c7ae9deSAndroid Build Coastguard Worker
607*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_connection_handler_properties.onProtocolMessage =
608*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onProtocolMessage", "([B[BII)V");
609*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_connection_handler_properties.onProtocolMessage);
610*3c7ae9deSAndroid Build Coastguard Worker
611*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_connection_handler_properties.onIncomingStream = (*env)->GetMethodID(
612*3c7ae9deSAndroid Build Coastguard Worker env,
613*3c7ae9deSAndroid Build Coastguard Worker cls,
614*3c7ae9deSAndroid Build Coastguard Worker "onIncomingStream",
615*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/eventstream/ServerConnectionContinuation;[B)Lsoftware/amazon/awssdk/crt/"
616*3c7ae9deSAndroid Build Coastguard Worker "eventstream/ServerConnectionContinuationHandler;");
617*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_connection_handler_properties.onIncomingStream);
618*3c7ae9deSAndroid Build Coastguard Worker }
619*3c7ae9deSAndroid Build Coastguard Worker
620*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_server_continuation_handler_properties event_stream_server_continuation_handler_properties;
621*3c7ae9deSAndroid Build Coastguard Worker
s_cache_event_stream_server_continuation_handler_properties(JNIEnv * env)622*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_event_stream_server_continuation_handler_properties(JNIEnv *env) {
623*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/eventstream/ServerConnectionContinuationHandler");
624*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
625*3c7ae9deSAndroid Build Coastguard Worker
626*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_continuation_handler_properties.onContinuationMessage =
627*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onContinuationMessageShim", "([B[BII)V");
628*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_continuation_handler_properties.onContinuationMessage);
629*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_continuation_handler_properties.onContinuationClosed =
630*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onContinuationClosedShim", "()V");
631*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_continuation_handler_properties.onContinuationClosed);
632*3c7ae9deSAndroid Build Coastguard Worker }
633*3c7ae9deSAndroid Build Coastguard Worker
634*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_client_connection_handler_properties event_stream_client_connection_handler_properties;
635*3c7ae9deSAndroid Build Coastguard Worker
s_cache_event_stream_client_connection_handler_properties(JNIEnv * env)636*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_event_stream_client_connection_handler_properties(JNIEnv *env) {
637*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/eventstream/ClientConnectionHandler");
638*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
639*3c7ae9deSAndroid Build Coastguard Worker
640*3c7ae9deSAndroid Build Coastguard Worker event_stream_client_connection_handler_properties.onSetup =
641*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onConnectionSetupShim", "(JI)V");
642*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_client_connection_handler_properties.onSetup);
643*3c7ae9deSAndroid Build Coastguard Worker event_stream_client_connection_handler_properties.onProtocolMessage =
644*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onProtocolMessage", "([B[BII)V");
645*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_client_connection_handler_properties.onProtocolMessage);
646*3c7ae9deSAndroid Build Coastguard Worker event_stream_client_connection_handler_properties.onClosed =
647*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onConnectionClosedShim", "(I)V");
648*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_client_connection_handler_properties.onClosed);
649*3c7ae9deSAndroid Build Coastguard Worker }
650*3c7ae9deSAndroid Build Coastguard Worker
651*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_client_continuation_handler_properties event_stream_client_continuation_handler_properties;
652*3c7ae9deSAndroid Build Coastguard Worker
s_cache_event_stream_client_continuation_handler_properties(JNIEnv * env)653*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_event_stream_client_continuation_handler_properties(JNIEnv *env) {
654*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/eventstream/ClientConnectionContinuationHandler");
655*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
656*3c7ae9deSAndroid Build Coastguard Worker
657*3c7ae9deSAndroid Build Coastguard Worker event_stream_client_continuation_handler_properties.onContinuationMessage =
658*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onContinuationMessageShim", "([B[BII)V");
659*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_client_continuation_handler_properties.onContinuationMessage);
660*3c7ae9deSAndroid Build Coastguard Worker event_stream_client_continuation_handler_properties.onContinuationClosed =
661*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onContinuationClosedShim", "()V");
662*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_client_continuation_handler_properties.onContinuationClosed);
663*3c7ae9deSAndroid Build Coastguard Worker }
664*3c7ae9deSAndroid Build Coastguard Worker
665*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_message_flush_properties event_stream_server_message_flush_properties;
666*3c7ae9deSAndroid Build Coastguard Worker
s_cache_event_stream_message_flush_properties(JNIEnv * env)667*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_event_stream_message_flush_properties(JNIEnv *env) {
668*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/eventstream/MessageFlushCallback");
669*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
670*3c7ae9deSAndroid Build Coastguard Worker
671*3c7ae9deSAndroid Build Coastguard Worker event_stream_server_message_flush_properties.callback = (*env)->GetMethodID(env, cls, "onCallbackInvoked", "(I)V");
672*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(event_stream_server_message_flush_properties.callback);
673*3c7ae9deSAndroid Build Coastguard Worker }
674*3c7ae9deSAndroid Build Coastguard Worker
675*3c7ae9deSAndroid Build Coastguard Worker struct java_cpu_info_properties cpu_info_properties;
676*3c7ae9deSAndroid Build Coastguard Worker
s_cache_cpu_info_properties(JNIEnv * env)677*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_cpu_info_properties(JNIEnv *env) {
678*3c7ae9deSAndroid Build Coastguard Worker cpu_info_properties.cpu_info_class =
679*3c7ae9deSAndroid Build Coastguard Worker (*env)->NewGlobalRef(env, (*env)->FindClass(env, "software/amazon/awssdk/crt/SystemInfo$CpuInfo"));
680*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cpu_info_properties.cpu_info_class);
681*3c7ae9deSAndroid Build Coastguard Worker
682*3c7ae9deSAndroid Build Coastguard Worker cpu_info_properties.cpu_info_constructor =
683*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cpu_info_properties.cpu_info_class, "<init>", "(IZ)V");
684*3c7ae9deSAndroid Build Coastguard Worker }
685*3c7ae9deSAndroid Build Coastguard Worker
686*3c7ae9deSAndroid Build Coastguard Worker struct java_s3_client_properties s3_client_properties;
687*3c7ae9deSAndroid Build Coastguard Worker
s_cache_s3_client_properties(JNIEnv * env)688*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_s3_client_properties(JNIEnv *env) {
689*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/s3/S3Client");
690*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
691*3c7ae9deSAndroid Build Coastguard Worker
692*3c7ae9deSAndroid Build Coastguard Worker s3_client_properties.onShutdownComplete = (*env)->GetMethodID(env, cls, "onShutdownComplete", "()V");
693*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3_client_properties.onShutdownComplete);
694*3c7ae9deSAndroid Build Coastguard Worker }
695*3c7ae9deSAndroid Build Coastguard Worker
696*3c7ae9deSAndroid Build Coastguard Worker struct java_s3_meta_request_properties s3_meta_request_properties;
697*3c7ae9deSAndroid Build Coastguard Worker
s_cache_s3_meta_request_properties(JNIEnv * env)698*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_s3_meta_request_properties(JNIEnv *env) {
699*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/s3/S3MetaRequest");
700*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
701*3c7ae9deSAndroid Build Coastguard Worker
702*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_properties.onShutdownComplete = (*env)->GetMethodID(env, cls, "onShutdownComplete", "()V");
703*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3_meta_request_properties.onShutdownComplete);
704*3c7ae9deSAndroid Build Coastguard Worker }
705*3c7ae9deSAndroid Build Coastguard Worker
706*3c7ae9deSAndroid Build Coastguard Worker struct java_s3_meta_request_response_handler_native_adapter_properties
707*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_response_handler_native_adapter_properties;
708*3c7ae9deSAndroid Build Coastguard Worker
s_cache_s3_meta_request_response_handler_native_adapter_properties(JNIEnv * env)709*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_s3_meta_request_response_handler_native_adapter_properties(JNIEnv *env) {
710*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/s3/S3MetaRequestResponseHandlerNativeAdapter");
711*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
712*3c7ae9deSAndroid Build Coastguard Worker
713*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_response_handler_native_adapter_properties.onResponseBody =
714*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onResponseBody", "([BJJ)I");
715*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3_meta_request_response_handler_native_adapter_properties.onResponseBody);
716*3c7ae9deSAndroid Build Coastguard Worker
717*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_response_handler_native_adapter_properties.onFinished =
718*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onFinished", "(II[BIZLjava/lang/Throwable;Ljava/nio/ByteBuffer;)V");
719*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3_meta_request_response_handler_native_adapter_properties.onFinished);
720*3c7ae9deSAndroid Build Coastguard Worker
721*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_response_handler_native_adapter_properties.onResponseHeaders =
722*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onResponseHeaders", "(ILjava/nio/ByteBuffer;)V");
723*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3_meta_request_response_handler_native_adapter_properties.onResponseHeaders);
724*3c7ae9deSAndroid Build Coastguard Worker
725*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_response_handler_native_adapter_properties.onProgress =
726*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "onProgress", "(Lsoftware/amazon/awssdk/crt/s3/S3MetaRequestProgress;)V");
727*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3_meta_request_response_handler_native_adapter_properties.onResponseHeaders);
728*3c7ae9deSAndroid Build Coastguard Worker }
729*3c7ae9deSAndroid Build Coastguard Worker
730*3c7ae9deSAndroid Build Coastguard Worker struct java_completable_future_properties completable_future_properties;
731*3c7ae9deSAndroid Build Coastguard Worker
s_cache_completable_future(JNIEnv * env)732*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_completable_future(JNIEnv *env) {
733*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "java/util/concurrent/CompletableFuture");
734*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
735*3c7ae9deSAndroid Build Coastguard Worker
736*3c7ae9deSAndroid Build Coastguard Worker completable_future_properties.complete_method_id =
737*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "complete", "(Ljava/lang/Object;)Z");
738*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(completable_future_properties.complete_method_id != NULL);
739*3c7ae9deSAndroid Build Coastguard Worker
740*3c7ae9deSAndroid Build Coastguard Worker completable_future_properties.complete_exceptionally_method_id =
741*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, cls, "completeExceptionally", "(Ljava/lang/Throwable;)Z");
742*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(completable_future_properties.complete_exceptionally_method_id != NULL);
743*3c7ae9deSAndroid Build Coastguard Worker }
744*3c7ae9deSAndroid Build Coastguard Worker
745*3c7ae9deSAndroid Build Coastguard Worker struct java_crt_runtime_exception_properties crt_runtime_exception_properties;
746*3c7ae9deSAndroid Build Coastguard Worker
s_cache_crt_runtime_exception(JNIEnv * env)747*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_crt_runtime_exception(JNIEnv *env) {
748*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/CrtRuntimeException");
749*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
750*3c7ae9deSAndroid Build Coastguard Worker crt_runtime_exception_properties.crt_runtime_exception_class = (*env)->NewGlobalRef(env, cls);
751*3c7ae9deSAndroid Build Coastguard Worker
752*3c7ae9deSAndroid Build Coastguard Worker crt_runtime_exception_properties.constructor_method_id = (*env)->GetMethodID(env, cls, "<init>", "(I)V");
753*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(crt_runtime_exception_properties.constructor_method_id);
754*3c7ae9deSAndroid Build Coastguard Worker
755*3c7ae9deSAndroid Build Coastguard Worker crt_runtime_exception_properties.error_code_field_id = (*env)->GetFieldID(env, cls, "errorCode", "I");
756*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(crt_runtime_exception_properties.error_code_field_id);
757*3c7ae9deSAndroid Build Coastguard Worker }
758*3c7ae9deSAndroid Build Coastguard Worker
759*3c7ae9deSAndroid Build Coastguard Worker struct java_ecc_key_pair_properties ecc_key_pair_properties;
760*3c7ae9deSAndroid Build Coastguard Worker
s_cache_ecc_key_pair(JNIEnv * env)761*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_ecc_key_pair(JNIEnv *env) {
762*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/cal/EccKeyPair");
763*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
764*3c7ae9deSAndroid Build Coastguard Worker ecc_key_pair_properties.ecc_key_pair_class = (*env)->NewGlobalRef(env, cls);
765*3c7ae9deSAndroid Build Coastguard Worker
766*3c7ae9deSAndroid Build Coastguard Worker ecc_key_pair_properties.constructor = (*env)->GetMethodID(env, cls, "<init>", "(J)V");
767*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(ecc_key_pair_properties.constructor);
768*3c7ae9deSAndroid Build Coastguard Worker }
769*3c7ae9deSAndroid Build Coastguard Worker
770*3c7ae9deSAndroid Build Coastguard Worker struct java_crt_properties crt_properties;
771*3c7ae9deSAndroid Build Coastguard Worker
s_cache_crt(JNIEnv * env)772*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_crt(JNIEnv *env) {
773*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/CRT");
774*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
775*3c7ae9deSAndroid Build Coastguard Worker crt_properties.crt_class = (*env)->NewGlobalRef(env, cls);
776*3c7ae9deSAndroid Build Coastguard Worker
777*3c7ae9deSAndroid Build Coastguard Worker crt_properties.test_jni_exception_method_id = (*env)->GetStaticMethodID(env, cls, "testJniException", "(Z)V");
778*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(crt_properties.test_jni_exception_method_id);
779*3c7ae9deSAndroid Build Coastguard Worker }
780*3c7ae9deSAndroid Build Coastguard Worker
781*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_signing_result_properties aws_signing_result_properties;
782*3c7ae9deSAndroid Build Coastguard Worker
s_cache_aws_signing_result(JNIEnv * env)783*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_aws_signing_result(JNIEnv *env) {
784*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/auth/signing/AwsSigningResult");
785*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
786*3c7ae9deSAndroid Build Coastguard Worker aws_signing_result_properties.aws_signing_result_class = (*env)->NewGlobalRef(env, cls);
787*3c7ae9deSAndroid Build Coastguard Worker
788*3c7ae9deSAndroid Build Coastguard Worker aws_signing_result_properties.constructor = (*env)->GetMethodID(env, cls, "<init>", "()V");
789*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_result_properties.constructor);
790*3c7ae9deSAndroid Build Coastguard Worker
791*3c7ae9deSAndroid Build Coastguard Worker aws_signing_result_properties.signed_request_field_id =
792*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "signedRequest", "Lsoftware/amazon/awssdk/crt/http/HttpRequest;");
793*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_result_properties.signed_request_field_id);
794*3c7ae9deSAndroid Build Coastguard Worker
795*3c7ae9deSAndroid Build Coastguard Worker aws_signing_result_properties.signature_field_id = (*env)->GetFieldID(env, cls, "signature", "[B");
796*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(aws_signing_result_properties.signature_field_id);
797*3c7ae9deSAndroid Build Coastguard Worker }
798*3c7ae9deSAndroid Build Coastguard Worker
799*3c7ae9deSAndroid Build Coastguard Worker struct java_http_header_properties http_header_properties;
800*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_header(JNIEnv * env)801*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_header(JNIEnv *env) {
802*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpHeader");
803*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
804*3c7ae9deSAndroid Build Coastguard Worker http_header_properties.http_header_class = (*env)->NewGlobalRef(env, cls);
805*3c7ae9deSAndroid Build Coastguard Worker
806*3c7ae9deSAndroid Build Coastguard Worker http_header_properties.constructor_method_id = (*env)->GetMethodID(env, cls, "<init>", "([B[B)V");
807*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_header_properties.constructor_method_id);
808*3c7ae9deSAndroid Build Coastguard Worker }
809*3c7ae9deSAndroid Build Coastguard Worker
810*3c7ae9deSAndroid Build Coastguard Worker struct java_http_manager_metrics_properties http_manager_metrics_properties;
s_cache_http_manager_metrics(JNIEnv * env)811*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_manager_metrics(JNIEnv *env) {
812*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpManagerMetrics");
813*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
814*3c7ae9deSAndroid Build Coastguard Worker http_manager_metrics_properties.http_manager_metrics_class = (*env)->NewGlobalRef(env, cls);
815*3c7ae9deSAndroid Build Coastguard Worker
816*3c7ae9deSAndroid Build Coastguard Worker http_manager_metrics_properties.constructor_method_id = (*env)->GetMethodID(env, cls, "<init>", "(JJJ)V");
817*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_manager_metrics_properties.constructor_method_id);
818*3c7ae9deSAndroid Build Coastguard Worker }
819*3c7ae9deSAndroid Build Coastguard Worker
820*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_exponential_backoff_retry_options_properties exponential_backoff_retry_options_properties;
821*3c7ae9deSAndroid Build Coastguard Worker
s_cache_exponential_backoff_retry_options(JNIEnv * env)822*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_exponential_backoff_retry_options(JNIEnv *env) {
823*3c7ae9deSAndroid Build Coastguard Worker (void)env;
824*3c7ae9deSAndroid Build Coastguard Worker
825*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/ExponentialBackoffRetryOptions");
826*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
827*3c7ae9deSAndroid Build Coastguard Worker exponential_backoff_retry_options_properties.exponential_backoff_retry_options_class =
828*3c7ae9deSAndroid Build Coastguard Worker (*env)->NewGlobalRef(env, cls);
829*3c7ae9deSAndroid Build Coastguard Worker
830*3c7ae9deSAndroid Build Coastguard Worker exponential_backoff_retry_options_properties.exponential_backoff_retry_options_constructor_method_id =
831*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(
832*3c7ae9deSAndroid Build Coastguard Worker env, exponential_backoff_retry_options_properties.exponential_backoff_retry_options_class, "<init>", "()V");
833*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(
834*3c7ae9deSAndroid Build Coastguard Worker exponential_backoff_retry_options_properties.exponential_backoff_retry_options_constructor_method_id);
835*3c7ae9deSAndroid Build Coastguard Worker
836*3c7ae9deSAndroid Build Coastguard Worker exponential_backoff_retry_options_properties.el_group_field_id =
837*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "eventLoopGroup", "Lsoftware/amazon/awssdk/crt/io/EventLoopGroup;");
838*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(exponential_backoff_retry_options_properties.el_group_field_id);
839*3c7ae9deSAndroid Build Coastguard Worker
840*3c7ae9deSAndroid Build Coastguard Worker exponential_backoff_retry_options_properties.max_retries_field_id = (*env)->GetFieldID(env, cls, "maxRetries", "J");
841*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(exponential_backoff_retry_options_properties.max_retries_field_id);
842*3c7ae9deSAndroid Build Coastguard Worker
843*3c7ae9deSAndroid Build Coastguard Worker exponential_backoff_retry_options_properties.backoff_scale_factor_ms_field_id =
844*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "backoffScaleFactorMS", "J");
845*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(exponential_backoff_retry_options_properties.backoff_scale_factor_ms_field_id);
846*3c7ae9deSAndroid Build Coastguard Worker
847*3c7ae9deSAndroid Build Coastguard Worker exponential_backoff_retry_options_properties.jitter_mode_field_id = (*env)->GetFieldID(
848*3c7ae9deSAndroid Build Coastguard Worker env, cls, "jitterMode", "Lsoftware/amazon/awssdk/crt/io/ExponentialBackoffRetryOptions$JitterMode;");
849*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(exponential_backoff_retry_options_properties.jitter_mode_field_id);
850*3c7ae9deSAndroid Build Coastguard Worker
851*3c7ae9deSAndroid Build Coastguard Worker jclass jitter_mode_cls =
852*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/io/ExponentialBackoffRetryOptions$JitterMode");
853*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(jitter_mode_cls);
854*3c7ae9deSAndroid Build Coastguard Worker exponential_backoff_retry_options_properties.jitter_mode_class = (*env)->NewGlobalRef(env, jitter_mode_cls);
855*3c7ae9deSAndroid Build Coastguard Worker
856*3c7ae9deSAndroid Build Coastguard Worker exponential_backoff_retry_options_properties.jitter_mode_value_field_id =
857*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, jitter_mode_cls, "value", "I");
858*3c7ae9deSAndroid Build Coastguard Worker
859*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(exponential_backoff_retry_options_properties.jitter_mode_value_field_id);
860*3c7ae9deSAndroid Build Coastguard Worker }
861*3c7ae9deSAndroid Build Coastguard Worker
862*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_standard_retry_options_properties standard_retry_options_properties;
863*3c7ae9deSAndroid Build Coastguard Worker
s_cache_standard_retry_options(JNIEnv * env)864*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_standard_retry_options(JNIEnv *env) {
865*3c7ae9deSAndroid Build Coastguard Worker (void)env;
866*3c7ae9deSAndroid Build Coastguard Worker
867*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/StandardRetryOptions");
868*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
869*3c7ae9deSAndroid Build Coastguard Worker standard_retry_options_properties.standard_retry_options_class = (*env)->NewGlobalRef(env, cls);
870*3c7ae9deSAndroid Build Coastguard Worker
871*3c7ae9deSAndroid Build Coastguard Worker standard_retry_options_properties.standard_retry_options_constructor_method_id =
872*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, standard_retry_options_properties.standard_retry_options_class, "<init>", "()V");
873*3c7ae9deSAndroid Build Coastguard Worker
874*3c7ae9deSAndroid Build Coastguard Worker standard_retry_options_properties.backoff_retry_options_field_id = (*env)->GetFieldID(
875*3c7ae9deSAndroid Build Coastguard Worker env, cls, "backoffRetryOptions", "Lsoftware/amazon/awssdk/crt/io/ExponentialBackoffRetryOptions;");
876*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(standard_retry_options_properties.backoff_retry_options_field_id);
877*3c7ae9deSAndroid Build Coastguard Worker
878*3c7ae9deSAndroid Build Coastguard Worker standard_retry_options_properties.initial_bucket_capacity_field_id =
879*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "initialBucketCapacity", "J");
880*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(standard_retry_options_properties.initial_bucket_capacity_field_id);
881*3c7ae9deSAndroid Build Coastguard Worker }
882*3c7ae9deSAndroid Build Coastguard Worker
883*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_directory_traversal_handler_properties directory_traversal_handler_properties;
884*3c7ae9deSAndroid Build Coastguard Worker
s_cache_directory_traversal_handler(JNIEnv * env)885*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_directory_traversal_handler(JNIEnv *env) {
886*3c7ae9deSAndroid Build Coastguard Worker (void)env;
887*3c7ae9deSAndroid Build Coastguard Worker
888*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/DirectoryTraversalHandler");
889*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
890*3c7ae9deSAndroid Build Coastguard Worker directory_traversal_handler_properties.directory_traversal_handler_class = (*env)->NewGlobalRef(env, cls);
891*3c7ae9deSAndroid Build Coastguard Worker
892*3c7ae9deSAndroid Build Coastguard Worker directory_traversal_handler_properties.on_directory_entry_method_id = (*env)->GetMethodID(
893*3c7ae9deSAndroid Build Coastguard Worker env,
894*3c7ae9deSAndroid Build Coastguard Worker directory_traversal_handler_properties.directory_traversal_handler_class,
895*3c7ae9deSAndroid Build Coastguard Worker "onDirectoryEntry",
896*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/io/DirectoryEntry;)Z");
897*3c7ae9deSAndroid Build Coastguard Worker }
898*3c7ae9deSAndroid Build Coastguard Worker
899*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_directory_entry_properties directory_entry_properties;
900*3c7ae9deSAndroid Build Coastguard Worker
s_cache_directory_entry(JNIEnv * env)901*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_directory_entry(JNIEnv *env) {
902*3c7ae9deSAndroid Build Coastguard Worker (void)env;
903*3c7ae9deSAndroid Build Coastguard Worker
904*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/DirectoryEntry");
905*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
906*3c7ae9deSAndroid Build Coastguard Worker directory_entry_properties.directory_entry_class = (*env)->NewGlobalRef(env, cls);
907*3c7ae9deSAndroid Build Coastguard Worker
908*3c7ae9deSAndroid Build Coastguard Worker directory_entry_properties.directory_entry_constructor_method_id =
909*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, directory_entry_properties.directory_entry_class, "<init>", "()V");
910*3c7ae9deSAndroid Build Coastguard Worker
911*3c7ae9deSAndroid Build Coastguard Worker directory_entry_properties.path_field_id = (*env)->GetFieldID(env, cls, "path", "Ljava/lang/String;");
912*3c7ae9deSAndroid Build Coastguard Worker
913*3c7ae9deSAndroid Build Coastguard Worker directory_entry_properties.relative_path_field_id =
914*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "relativePath", "Ljava/lang/String;");
915*3c7ae9deSAndroid Build Coastguard Worker
916*3c7ae9deSAndroid Build Coastguard Worker directory_entry_properties.is_directory_field_id = (*env)->GetFieldID(env, cls, "isDirectory", "Z");
917*3c7ae9deSAndroid Build Coastguard Worker
918*3c7ae9deSAndroid Build Coastguard Worker directory_entry_properties.is_symlink_field_id = (*env)->GetFieldID(env, cls, "isSymLink", "Z");
919*3c7ae9deSAndroid Build Coastguard Worker
920*3c7ae9deSAndroid Build Coastguard Worker directory_entry_properties.is_file_field_id = (*env)->GetFieldID(env, cls, "isFile", "Z");
921*3c7ae9deSAndroid Build Coastguard Worker
922*3c7ae9deSAndroid Build Coastguard Worker directory_entry_properties.file_size_field_id = (*env)->GetFieldID(env, cls, "fileSize", "J");
923*3c7ae9deSAndroid Build Coastguard Worker }
924*3c7ae9deSAndroid Build Coastguard Worker
925*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_s3_meta_request_progress s3_meta_request_progress_properties;
926*3c7ae9deSAndroid Build Coastguard Worker
s_cache_s3_meta_request_progress(JNIEnv * env)927*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_s3_meta_request_progress(JNIEnv *env) {
928*3c7ae9deSAndroid Build Coastguard Worker (void)env;
929*3c7ae9deSAndroid Build Coastguard Worker
930*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/s3/S3MetaRequestProgress");
931*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
932*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_progress_properties.s3_meta_request_progress_class = (*env)->NewGlobalRef(env, cls);
933*3c7ae9deSAndroid Build Coastguard Worker
934*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_progress_properties.s3_meta_request_progress_constructor_method_id =
935*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, s3_meta_request_progress_properties.s3_meta_request_progress_class, "<init>", "()V");
936*3c7ae9deSAndroid Build Coastguard Worker
937*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_progress_properties.bytes_transferred_field_id =
938*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "bytesTransferred", "J");
939*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_progress_properties.content_length_field_id = (*env)->GetFieldID(env, cls, "contentLength", "J");
940*3c7ae9deSAndroid Build Coastguard Worker }
941*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_s3_tcp_keep_alive_options_properties s3_tcp_keep_alive_options_properties;
942*3c7ae9deSAndroid Build Coastguard Worker
s_cache_s3_tcp_keep_alive_options(JNIEnv * env)943*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_s3_tcp_keep_alive_options(JNIEnv *env) {
944*3c7ae9deSAndroid Build Coastguard Worker (void)env;
945*3c7ae9deSAndroid Build Coastguard Worker
946*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/s3/S3TcpKeepAliveOptions");
947*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
948*3c7ae9deSAndroid Build Coastguard Worker s3_tcp_keep_alive_options_properties.s3_tcp_keep_alive_options_class = (*env)->NewGlobalRef(env, cls);
949*3c7ae9deSAndroid Build Coastguard Worker
950*3c7ae9deSAndroid Build Coastguard Worker s3_tcp_keep_alive_options_properties.s3_tcp_keep_alive_options_constructor_method_id =
951*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, s3_tcp_keep_alive_options_properties.s3_tcp_keep_alive_options_class, "<init>", "()V");
952*3c7ae9deSAndroid Build Coastguard Worker
953*3c7ae9deSAndroid Build Coastguard Worker s3_tcp_keep_alive_options_properties.keep_alive_interval_sec_field_id =
954*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "keepAliveIntervalSec", "S");
955*3c7ae9deSAndroid Build Coastguard Worker
956*3c7ae9deSAndroid Build Coastguard Worker s3_tcp_keep_alive_options_properties.keep_alive_timeout_sec_field_id =
957*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "keepAliveTimeoutSec", "S");
958*3c7ae9deSAndroid Build Coastguard Worker
959*3c7ae9deSAndroid Build Coastguard Worker s3_tcp_keep_alive_options_properties.keep_alive_max_failed_probes_field_id =
960*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "keepAliveMaxFailedProbes", "S");
961*3c7ae9deSAndroid Build Coastguard Worker }
962*3c7ae9deSAndroid Build Coastguard Worker
963*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_s3_meta_request_resume_token s3_meta_request_resume_token_properties;
964*3c7ae9deSAndroid Build Coastguard Worker
s_cache_s3_meta_request_resume_token(JNIEnv * env)965*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_s3_meta_request_resume_token(JNIEnv *env) {
966*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/s3/ResumeToken");
967*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
968*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_resume_token_properties.s3_meta_request_resume_token_class = (*env)->NewGlobalRef(env, cls);
969*3c7ae9deSAndroid Build Coastguard Worker
970*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_resume_token_properties.s3_meta_request_resume_token_constructor_method_id =
971*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, s3_meta_request_progress_properties.s3_meta_request_progress_class, "<init>", "()V");
972*3c7ae9deSAndroid Build Coastguard Worker
973*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_resume_token_properties.native_type_field_id = (*env)->GetFieldID(env, cls, "nativeType", "I");
974*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3_meta_request_resume_token_properties.native_type_field_id);
975*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_resume_token_properties.part_size_field_id = (*env)->GetFieldID(env, cls, "partSize", "J");
976*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_resume_token_properties.total_num_parts_field_id =
977*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "totalNumParts", "J");
978*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_resume_token_properties.num_parts_completed_field_id =
979*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "numPartsCompleted", "J");
980*3c7ae9deSAndroid Build Coastguard Worker s3_meta_request_resume_token_properties.upload_id_field_id =
981*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "uploadId", "Ljava/lang/String;");
982*3c7ae9deSAndroid Build Coastguard Worker }
983*3c7ae9deSAndroid Build Coastguard Worker
984*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_connack_packet_properties mqtt5_connack_packet_properties;
985*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_connack_packet(JNIEnv * env)986*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_connack_packet(JNIEnv *env) {
987*3c7ae9deSAndroid Build Coastguard Worker (void)env;
988*3c7ae9deSAndroid Build Coastguard Worker
989*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/ConnAckPacket");
990*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
991*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_packet_class = (*env)->NewGlobalRef(env, cls);
992*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_packet_class);
993*3c7ae9deSAndroid Build Coastguard Worker
994*3c7ae9deSAndroid Build Coastguard Worker // Functions
995*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_constructor_id =
996*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_connack_packet_properties.connack_packet_class, "<init>", "()V");
997*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_constructor_id);
998*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_native_add_maximum_qos_id =
999*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_connack_packet_properties.connack_packet_class, "nativeAddMaximumQOS", "(I)V");
1000*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_native_add_maximum_qos_id);
1001*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_native_add_reason_code_id =
1002*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_connack_packet_properties.connack_packet_class, "nativeAddReasonCode", "(I)V");
1003*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_native_add_reason_code_id);
1004*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1005*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_session_present_field_id =
1006*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_connack_packet_properties.connack_packet_class, "sessionPresent", "Z");
1007*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_session_present_field_id);
1008*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_reason_code_field_id = (*env)->GetFieldID(
1009*3c7ae9deSAndroid Build Coastguard Worker env,
1010*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_packet_class,
1011*3c7ae9deSAndroid Build Coastguard Worker "reasonCode",
1012*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/packets/ConnAckPacket$ConnectReasonCode;");
1013*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_reason_code_field_id);
1014*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_session_expiry_interval_field_id = (*env)->GetFieldID(
1015*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "sessionExpiryIntervalSeconds", "Ljava/lang/Long;");
1016*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_session_expiry_interval_field_id);
1017*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_receive_maximum_field_id = (*env)->GetFieldID(
1018*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "receiveMaximum", "Ljava/lang/Integer;");
1019*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_receive_maximum_field_id);
1020*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_maximum_qos_field_id = (*env)->GetFieldID(
1021*3c7ae9deSAndroid Build Coastguard Worker env,
1022*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_packet_class,
1023*3c7ae9deSAndroid Build Coastguard Worker "maximumQOS",
1024*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/QOS;");
1025*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_maximum_qos_field_id);
1026*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_retain_available_field_id = (*env)->GetFieldID(
1027*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "retainAvailable", "Ljava/lang/Boolean;");
1028*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_retain_available_field_id);
1029*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_maximum_packet_size_field_id = (*env)->GetFieldID(
1030*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "maximumPacketSize", "Ljava/lang/Long;");
1031*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_maximum_packet_size_field_id);
1032*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_assigned_client_identifier_field_id = (*env)->GetFieldID(
1033*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "assignedClientIdentifier", "Ljava/lang/String;");
1034*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_assigned_client_identifier_field_id);
1035*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_topic_alias_maximum_field_id = (*env)->GetFieldID(
1036*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "topicAliasMaximum", "Ljava/lang/Integer;");
1037*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_topic_alias_maximum_field_id);
1038*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_reason_string_field_id = (*env)->GetFieldID(
1039*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "reasonString", "Ljava/lang/String;");
1040*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_reason_string_field_id);
1041*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_wildcard_subscriptions_available_field_id = (*env)->GetFieldID(
1042*3c7ae9deSAndroid Build Coastguard Worker env,
1043*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_packet_class,
1044*3c7ae9deSAndroid Build Coastguard Worker "wildcardSubscriptionsAvailable",
1045*3c7ae9deSAndroid Build Coastguard Worker "Ljava/lang/Boolean;");
1046*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_wildcard_subscriptions_available_field_id);
1047*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_subscription_identifiers_available_field_id = (*env)->GetFieldID(
1048*3c7ae9deSAndroid Build Coastguard Worker env,
1049*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_packet_class,
1050*3c7ae9deSAndroid Build Coastguard Worker "subscriptionIdentifiersAvailable",
1051*3c7ae9deSAndroid Build Coastguard Worker "Ljava/lang/Boolean;");
1052*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_subscription_identifiers_available_field_id);
1053*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_shared_subscriptions_available_field_id = (*env)->GetFieldID(
1054*3c7ae9deSAndroid Build Coastguard Worker env,
1055*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_packet_class,
1056*3c7ae9deSAndroid Build Coastguard Worker "sharedSubscriptionsAvailable",
1057*3c7ae9deSAndroid Build Coastguard Worker "Ljava/lang/Boolean;");
1058*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_shared_subscriptions_available_field_id);
1059*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_server_keep_alive_field_id = (*env)->GetFieldID(
1060*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "serverKeepAlive", "Ljava/lang/Integer;");
1061*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_server_keep_alive_field_id);
1062*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_response_information_field_id = (*env)->GetFieldID(
1063*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "responseInformation", "Ljava/lang/String;");
1064*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_response_information_field_id);
1065*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_server_reference_field_id = (*env)->GetFieldID(
1066*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "serverReference", "Ljava/lang/String;");
1067*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_server_reference_field_id);
1068*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connack_packet_properties.connack_user_properties_field_id = (*env)->GetFieldID(
1069*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connack_packet_properties.connack_packet_class, "userProperties", "Ljava/util/List;");
1070*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connack_packet_properties.connack_user_properties_field_id);
1071*3c7ae9deSAndroid Build Coastguard Worker }
1072*3c7ae9deSAndroid Build Coastguard Worker
1073*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_connect_reason_code_properties mqtt5_connect_reason_code_properties;
1074*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_connect_reason_code(JNIEnv * env)1075*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_connect_reason_code(JNIEnv *env) {
1076*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/ConnAckPacket$ConnectReasonCode");
1077*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1078*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_reason_code_properties.reason_code_class = (*env)->NewGlobalRef(env, cls);
1079*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_reason_code_properties.reason_code_class);
1080*3c7ae9deSAndroid Build Coastguard Worker // Functions
1081*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_reason_code_properties.code_get_value_id =
1082*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_connect_reason_code_properties.reason_code_class, "getValue", "()I");
1083*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_reason_code_properties.code_get_value_id);
1084*3c7ae9deSAndroid Build Coastguard Worker // Static functions
1085*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_reason_code_properties.code_s_get_enum_value_from_integer_id = (*env)->GetStaticMethodID(
1086*3c7ae9deSAndroid Build Coastguard Worker env,
1087*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_reason_code_properties.reason_code_class,
1088*3c7ae9deSAndroid Build Coastguard Worker "getEnumValueFromInteger",
1089*3c7ae9deSAndroid Build Coastguard Worker "(I)Lsoftware/amazon/awssdk/crt/mqtt5/packets/ConnAckPacket$ConnectReasonCode;");
1090*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_reason_code_properties.code_s_get_enum_value_from_integer_id);
1091*3c7ae9deSAndroid Build Coastguard Worker }
1092*3c7ae9deSAndroid Build Coastguard Worker
1093*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_connect_packet_properties mqtt5_connect_packet_properties;
1094*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_connect_packet(JNIEnv * env)1095*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_connect_packet(JNIEnv *env) {
1096*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/ConnectPacket");
1097*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1098*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_packet_class = (*env)->NewGlobalRef(env, cls);
1099*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_packet_class);
1100*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1101*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_keep_alive_interval_seconds_field_id = (*env)->GetFieldID(
1102*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connect_packet_properties.connect_packet_class, "keepAliveIntervalSeconds", "Ljava/lang/Long;");
1103*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_keep_alive_interval_seconds_field_id);
1104*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_client_id_field_id =
1105*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_connect_packet_properties.connect_packet_class, "clientId", "Ljava/lang/String;");
1106*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_client_id_field_id);
1107*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_username_field_id =
1108*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_connect_packet_properties.connect_packet_class, "username", "Ljava/lang/String;");
1109*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_username_field_id);
1110*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_password_field_id =
1111*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_connect_packet_properties.connect_packet_class, "password", "[B");
1112*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_password_field_id);
1113*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_session_expiry_interval_seconds_field_id = (*env)->GetFieldID(
1114*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connect_packet_properties.connect_packet_class, "sessionExpiryIntervalSeconds", "Ljava/lang/Long;");
1115*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_session_expiry_interval_seconds_field_id);
1116*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_request_response_information_field_id = (*env)->GetFieldID(
1117*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connect_packet_properties.connect_packet_class, "requestResponseInformation", "Ljava/lang/Boolean;");
1118*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_request_response_information_field_id);
1119*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_request_problem_information_field_id = (*env)->GetFieldID(
1120*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connect_packet_properties.connect_packet_class, "requestProblemInformation", "Ljava/lang/Boolean;");
1121*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_request_problem_information_field_id);
1122*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_receive_maximum_field_id = (*env)->GetFieldID(
1123*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connect_packet_properties.connect_packet_class, "receiveMaximum", "Ljava/lang/Long;");
1124*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_receive_maximum_field_id);
1125*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_maximum_packet_size_bytes_field_id = (*env)->GetFieldID(
1126*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connect_packet_properties.connect_packet_class, "maximumPacketSizeBytes", "Ljava/lang/Long;");
1127*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_maximum_packet_size_bytes_field_id);
1128*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_will_delay_interval_seconds_field_id = (*env)->GetFieldID(
1129*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connect_packet_properties.connect_packet_class, "willDelayIntervalSeconds", "Ljava/lang/Long;");
1130*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_will_delay_interval_seconds_field_id);
1131*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_user_properties_field_id = (*env)->GetFieldID(
1132*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_connect_packet_properties.connect_packet_class, "userProperties", "Ljava/util/List;");
1133*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_user_properties_field_id);
1134*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_will_field_id = (*env)->GetFieldID(
1135*3c7ae9deSAndroid Build Coastguard Worker env,
1136*3c7ae9deSAndroid Build Coastguard Worker mqtt5_connect_packet_properties.connect_packet_class,
1137*3c7ae9deSAndroid Build Coastguard Worker "will",
1138*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/packets/PublishPacket;");
1139*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_connect_packet_properties.connect_will_field_id);
1140*3c7ae9deSAndroid Build Coastguard Worker }
1141*3c7ae9deSAndroid Build Coastguard Worker
1142*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_disconnect_packet_properties mqtt5_disconnect_packet_properties;
1143*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_disconnect_packet(JNIEnv * env)1144*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_disconnect_packet(JNIEnv *env) {
1145*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/DisconnectPacket");
1146*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1147*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_packet_class = (*env)->NewGlobalRef(env, cls);
1148*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_packet_properties.disconnect_packet_class);
1149*3c7ae9deSAndroid Build Coastguard Worker // Functions
1150*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_constructor_id =
1151*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_disconnect_packet_properties.disconnect_packet_class, "<init>", "()V");
1152*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_packet_properties.disconnect_constructor_id);
1153*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_native_add_disconnect_reason_code_id = (*env)->GetMethodID(
1154*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_disconnect_packet_properties.disconnect_packet_class, "nativeAddDisconnectReasonCode", "(I)V");
1155*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_packet_properties.disconnect_native_add_disconnect_reason_code_id);
1156*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_get_reason_code_id = (*env)->GetMethodID(
1157*3c7ae9deSAndroid Build Coastguard Worker env,
1158*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_packet_class,
1159*3c7ae9deSAndroid Build Coastguard Worker "getReasonCode",
1160*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/mqtt5/packets/DisconnectPacket$DisconnectReasonCode;");
1161*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_packet_properties.disconnect_get_reason_code_id);
1162*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1163*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_reason_code_field_id = (*env)->GetFieldID(
1164*3c7ae9deSAndroid Build Coastguard Worker env,
1165*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_packet_class,
1166*3c7ae9deSAndroid Build Coastguard Worker "reasonCode",
1167*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/packets/DisconnectPacket$DisconnectReasonCode;");
1168*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_packet_properties.disconnect_reason_code_field_id);
1169*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_session_expiry_interval_seconds_field_id = (*env)->GetFieldID(
1170*3c7ae9deSAndroid Build Coastguard Worker env,
1171*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_packet_class,
1172*3c7ae9deSAndroid Build Coastguard Worker "sessionExpiryIntervalSeconds",
1173*3c7ae9deSAndroid Build Coastguard Worker "Ljava/lang/Long;");
1174*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_packet_properties.disconnect_session_expiry_interval_seconds_field_id);
1175*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_reason_string_field_id = (*env)->GetFieldID(
1176*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_disconnect_packet_properties.disconnect_packet_class, "reasonString", "Ljava/lang/String;");
1177*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_packet_properties.disconnect_reason_string_field_id);
1178*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_session_server_reference_field_id = (*env)->GetFieldID(
1179*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_disconnect_packet_properties.disconnect_packet_class, "serverReference", "Ljava/lang/String;");
1180*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_packet_properties.disconnect_session_server_reference_field_id);
1181*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_packet_properties.disconnect_user_properties_field_id = (*env)->GetFieldID(
1182*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_disconnect_packet_properties.disconnect_packet_class, "userProperties", "Ljava/util/List;");
1183*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_packet_properties.disconnect_user_properties_field_id);
1184*3c7ae9deSAndroid Build Coastguard Worker }
1185*3c7ae9deSAndroid Build Coastguard Worker
1186*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_disconnect_reason_code_properties mqtt5_disconnect_reason_code_properties;
1187*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_disconnect_reason_code(JNIEnv * env)1188*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_disconnect_reason_code(JNIEnv *env) {
1189*3c7ae9deSAndroid Build Coastguard Worker jclass cls =
1190*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/DisconnectPacket$DisconnectReasonCode");
1191*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1192*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_reason_code_properties.reason_code_class = (*env)->NewGlobalRef(env, cls);
1193*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_reason_code_properties.reason_code_class);
1194*3c7ae9deSAndroid Build Coastguard Worker // Functions
1195*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_reason_code_properties.code_get_value_id =
1196*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_disconnect_reason_code_properties.reason_code_class, "getValue", "()I");
1197*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_reason_code_properties.code_get_value_id);
1198*3c7ae9deSAndroid Build Coastguard Worker // Static functions
1199*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_reason_code_properties.code_s_get_enum_value_from_integer_id = (*env)->GetStaticMethodID(
1200*3c7ae9deSAndroid Build Coastguard Worker env,
1201*3c7ae9deSAndroid Build Coastguard Worker mqtt5_disconnect_reason_code_properties.reason_code_class,
1202*3c7ae9deSAndroid Build Coastguard Worker "getEnumValueFromInteger",
1203*3c7ae9deSAndroid Build Coastguard Worker "(I)Lsoftware/amazon/awssdk/crt/mqtt5/packets/DisconnectPacket$DisconnectReasonCode;");
1204*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_disconnect_reason_code_properties.code_s_get_enum_value_from_integer_id);
1205*3c7ae9deSAndroid Build Coastguard Worker }
1206*3c7ae9deSAndroid Build Coastguard Worker
1207*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_puback_packet_properties mqtt5_puback_packet_properties;
1208*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_puback_packet(JNIEnv * env)1209*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_puback_packet(JNIEnv *env) {
1210*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/PubAckPacket");
1211*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1212*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_packet_properties.puback_packet_class = (*env)->NewGlobalRef(env, cls);
1213*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_puback_packet_properties.puback_packet_class);
1214*3c7ae9deSAndroid Build Coastguard Worker // Functions
1215*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_packet_properties.puback_constructor_id =
1216*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_puback_packet_properties.puback_packet_class, "<init>", "()V");
1217*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_puback_packet_properties.puback_constructor_id);
1218*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_packet_properties.puback_native_add_reason_code_id =
1219*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_puback_packet_properties.puback_packet_class, "nativeAddReasonCode", "(I)V");
1220*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_puback_packet_properties.puback_native_add_reason_code_id);
1221*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1222*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_packet_properties.puback_reason_code_field_id = (*env)->GetFieldID(
1223*3c7ae9deSAndroid Build Coastguard Worker env,
1224*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_packet_properties.puback_packet_class,
1225*3c7ae9deSAndroid Build Coastguard Worker "reasonCode",
1226*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/packets/PubAckPacket$PubAckReasonCode;");
1227*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_puback_packet_properties.puback_reason_code_field_id);
1228*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_packet_properties.puback_reason_string_field_id = (*env)->GetFieldID(
1229*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_puback_packet_properties.puback_packet_class, "reasonString", "Ljava/lang/String;");
1230*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_puback_packet_properties.puback_reason_string_field_id);
1231*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_packet_properties.puback_user_properties_field_id = (*env)->GetFieldID(
1232*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_puback_packet_properties.puback_packet_class, "userProperties", "Ljava/util/List;");
1233*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_puback_packet_properties.puback_user_properties_field_id);
1234*3c7ae9deSAndroid Build Coastguard Worker }
1235*3c7ae9deSAndroid Build Coastguard Worker
1236*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_puback_reason_code_properties mqtt5_puback_reason_code_properties;
1237*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_puback_reason_code(JNIEnv * env)1238*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_puback_reason_code(JNIEnv *env) {
1239*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/PubAckPacket$PubAckReasonCode");
1240*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1241*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_reason_code_properties.reason_code_class = (*env)->NewGlobalRef(env, cls);
1242*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_puback_reason_code_properties.reason_code_class);
1243*3c7ae9deSAndroid Build Coastguard Worker // Functions
1244*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_reason_code_properties.code_get_value_id =
1245*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_puback_reason_code_properties.reason_code_class, "getValue", "()I");
1246*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_puback_reason_code_properties.code_get_value_id);
1247*3c7ae9deSAndroid Build Coastguard Worker // Static functions
1248*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_reason_code_properties.code_s_get_enum_value_from_integer_id = (*env)->GetStaticMethodID(
1249*3c7ae9deSAndroid Build Coastguard Worker env,
1250*3c7ae9deSAndroid Build Coastguard Worker mqtt5_puback_reason_code_properties.reason_code_class,
1251*3c7ae9deSAndroid Build Coastguard Worker "getEnumValueFromInteger",
1252*3c7ae9deSAndroid Build Coastguard Worker "(I)Lsoftware/amazon/awssdk/crt/mqtt5/packets/PubAckPacket$PubAckReasonCode;");
1253*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_puback_reason_code_properties.code_s_get_enum_value_from_integer_id);
1254*3c7ae9deSAndroid Build Coastguard Worker }
1255*3c7ae9deSAndroid Build Coastguard Worker
1256*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_publish_packet_properties mqtt5_publish_packet_properties;
1257*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_publish_packet(JNIEnv * env)1258*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_publish_packet(JNIEnv *env) {
1259*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/PublishPacket");
1260*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1261*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_packet_class = (*env)->NewGlobalRef(env, cls);
1262*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_packet_class);
1263*3c7ae9deSAndroid Build Coastguard Worker // Functions
1264*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_constructor_id =
1265*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_publish_packet_properties.publish_packet_class, "<init>", "()V");
1266*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_constructor_id);
1267*3c7ae9deSAndroid Build Coastguard Worker
1268*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_native_set_qos_id =
1269*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_publish_packet_properties.publish_packet_class, "nativeSetQOS", "(I)V");
1270*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_native_set_qos_id);
1271*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_native_set_payload_format_indicator_id = (*env)->GetMethodID(
1272*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_publish_packet_properties.publish_packet_class, "nativeSetPayloadFormatIndicator", "(I)V");
1273*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_native_set_payload_format_indicator_id);
1274*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_get_qos_id = (*env)->GetMethodID(
1275*3c7ae9deSAndroid Build Coastguard Worker env,
1276*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_packet_class,
1277*3c7ae9deSAndroid Build Coastguard Worker "getQOS",
1278*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/mqtt5/QOS;");
1279*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_get_qos_id);
1280*3c7ae9deSAndroid Build Coastguard Worker
1281*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_get_payload_format_id = (*env)->GetMethodID(
1282*3c7ae9deSAndroid Build Coastguard Worker env,
1283*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_packet_class,
1284*3c7ae9deSAndroid Build Coastguard Worker "getPayloadFormat",
1285*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/mqtt5/packets/PublishPacket$PayloadFormatIndicator;");
1286*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_get_payload_format_id);
1287*3c7ae9deSAndroid Build Coastguard Worker
1288*3c7ae9deSAndroid Build Coastguard Worker // FieldIDs
1289*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_payload_field_id =
1290*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_publish_packet_properties.publish_packet_class, "payload", "[B");
1291*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_payload_field_id);
1292*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_qos_field_id = (*env)->GetFieldID(
1293*3c7ae9deSAndroid Build Coastguard Worker env,
1294*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_packet_class,
1295*3c7ae9deSAndroid Build Coastguard Worker "packetQOS",
1296*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/QOS;");
1297*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_qos_field_id);
1298*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_retain_field_id =
1299*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_publish_packet_properties.publish_packet_class, "retain", "Ljava/lang/Boolean;");
1300*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_retain_field_id);
1301*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_topic_field_id =
1302*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_publish_packet_properties.publish_packet_class, "topic", "Ljava/lang/String;");
1303*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_topic_field_id);
1304*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_payload_format_field_id = (*env)->GetFieldID(
1305*3c7ae9deSAndroid Build Coastguard Worker env,
1306*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_packet_class,
1307*3c7ae9deSAndroid Build Coastguard Worker "payloadFormat",
1308*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/packets/PublishPacket$PayloadFormatIndicator;");
1309*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_payload_format_field_id);
1310*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_message_expiry_interval_seconds_field_id = (*env)->GetFieldID(
1311*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_publish_packet_properties.publish_packet_class, "messageExpiryIntervalSeconds", "Ljava/lang/Long;");
1312*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_message_expiry_interval_seconds_field_id);
1313*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_topic_alias_field_id =
1314*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_publish_packet_properties.publish_packet_class, "topicAlias", "Ljava/lang/Long;");
1315*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_topic_alias_field_id);
1316*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_response_topic_field_id = (*env)->GetFieldID(
1317*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_publish_packet_properties.publish_packet_class, "responseTopic", "Ljava/lang/String;");
1318*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_response_topic_field_id);
1319*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_correlation_data_field_id =
1320*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_publish_packet_properties.publish_packet_class, "correlationData", "[B");
1321*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_correlation_data_field_id);
1322*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_content_type_field_id = (*env)->GetFieldID(
1323*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_publish_packet_properties.publish_packet_class, "contentType", "Ljava/lang/String;");
1324*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_content_type_field_id);
1325*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_subscription_identifiers_field_id = (*env)->GetFieldID(
1326*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_publish_packet_properties.publish_packet_class, "subscriptionIdentifiers", "Ljava/util/List;");
1327*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_subscription_identifiers_field_id);
1328*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_packet_properties.publish_user_properties_field_id = (*env)->GetFieldID(
1329*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_publish_packet_properties.publish_packet_class, "userProperties", "Ljava/util/List;");
1330*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_packet_properties.publish_user_properties_field_id);
1331*3c7ae9deSAndroid Build Coastguard Worker }
1332*3c7ae9deSAndroid Build Coastguard Worker
1333*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_payload_format_indicator_properties mqtt5_payload_format_indicator_properties;
1334*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_payload_format_indicator(JNIEnv * env)1335*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_payload_format_indicator(JNIEnv *env) {
1336*3c7ae9deSAndroid Build Coastguard Worker jclass cls =
1337*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/PublishPacket$PayloadFormatIndicator");
1338*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1339*3c7ae9deSAndroid Build Coastguard Worker mqtt5_payload_format_indicator_properties.payload_format_class = (*env)->NewGlobalRef(env, cls);
1340*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_payload_format_indicator_properties.payload_format_class);
1341*3c7ae9deSAndroid Build Coastguard Worker // Functions
1342*3c7ae9deSAndroid Build Coastguard Worker mqtt5_payload_format_indicator_properties.format_get_value_id =
1343*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_payload_format_indicator_properties.payload_format_class, "getValue", "()I");
1344*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_payload_format_indicator_properties.format_get_value_id);
1345*3c7ae9deSAndroid Build Coastguard Worker // Static functions
1346*3c7ae9deSAndroid Build Coastguard Worker mqtt5_payload_format_indicator_properties.format_s_get_enum_value_from_integer_id = (*env)->GetStaticMethodID(
1347*3c7ae9deSAndroid Build Coastguard Worker env,
1348*3c7ae9deSAndroid Build Coastguard Worker mqtt5_payload_format_indicator_properties.payload_format_class,
1349*3c7ae9deSAndroid Build Coastguard Worker "getEnumValueFromInteger",
1350*3c7ae9deSAndroid Build Coastguard Worker "(I)Lsoftware/amazon/awssdk/crt/mqtt5/packets/PublishPacket$PayloadFormatIndicator;");
1351*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_payload_format_indicator_properties.format_s_get_enum_value_from_integer_id);
1352*3c7ae9deSAndroid Build Coastguard Worker }
1353*3c7ae9deSAndroid Build Coastguard Worker
1354*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_negotiated_settings_properties mqtt5_negotiated_settings_properties;
1355*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_negotiated_settings(JNIEnv * env)1356*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_negotiated_settings(JNIEnv *env) {
1357*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/NegotiatedSettings");
1358*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1359*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_class = (*env)->NewGlobalRef(env, cls);
1360*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_class);
1361*3c7ae9deSAndroid Build Coastguard Worker // Functions
1362*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_constructor_id =
1363*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "<init>", "()V");
1364*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_constructor_id);
1365*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_native_set_qos_id = (*env)->GetMethodID(
1366*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "nativeSetQOS", "(I)V");
1367*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_native_set_qos_id);
1368*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1369*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_maximum_qos_field_id = (*env)->GetFieldID(
1370*3c7ae9deSAndroid Build Coastguard Worker env,
1371*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_class,
1372*3c7ae9deSAndroid Build Coastguard Worker "maximumQOS",
1373*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/QOS;");
1374*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_maximum_qos_field_id);
1375*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_session_expiry_interval_field_id = (*env)->GetFieldID(
1376*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "sessionExpiryInterval", "J");
1377*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_session_expiry_interval_field_id);
1378*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_receive_maximum_from_server_field_id = (*env)->GetFieldID(
1379*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "receiveMaximumFromServer", "I");
1380*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_receive_maximum_from_server_field_id);
1381*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_maximum_packet_size_to_server_field_id =
1382*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(
1383*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "maximumPacketSizeToServer", "J");
1384*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_maximum_packet_size_to_server_field_id);
1385*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_topic_alias_maximum_to_server_field_id =
1386*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(
1387*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "topicAliasMaximumToServer", "I");
1388*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_topic_alias_maximum_to_server_field_id);
1389*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_topic_alias_maximum_to_client_field_id =
1390*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(
1391*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "topicAliasMaximumToClient", "I");
1392*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_topic_alias_maximum_to_client_field_id);
1393*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_server_keep_alive_field_id =
1394*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "serverKeepAlive", "I");
1395*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_server_keep_alive_field_id);
1396*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_retain_available_field_id =
1397*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "retainAvailable", "Z");
1398*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_retain_available_field_id);
1399*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_wildcard_subscriptions_available_field_id =
1400*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(
1401*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "wildcardSubscriptionsAvailable", "Z");
1402*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(
1403*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_wildcard_subscriptions_available_field_id);
1404*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_subscription_identifiers_available_field_id =
1405*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(
1406*3c7ae9deSAndroid Build Coastguard Worker env,
1407*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_class,
1408*3c7ae9deSAndroid Build Coastguard Worker "subscriptionIdentifiersAvailable",
1409*3c7ae9deSAndroid Build Coastguard Worker "Z");
1410*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(
1411*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_subscription_identifiers_available_field_id);
1412*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_shared_subscriptions_available_field_id =
1413*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(
1414*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "sharedSubscriptionsAvailable", "Z");
1415*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_shared_subscriptions_available_field_id);
1416*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_rejoined_session_field_id =
1417*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "rejoinedSession", "Z");
1418*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_rejoined_session_field_id);
1419*3c7ae9deSAndroid Build Coastguard Worker mqtt5_negotiated_settings_properties.negotiated_settings_assigned_client_id_field_id = (*env)->GetFieldID(
1420*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_negotiated_settings_properties.negotiated_settings_class, "assignedClientID", "Ljava/lang/String;");
1421*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_negotiated_settings_properties.negotiated_settings_assigned_client_id_field_id);
1422*3c7ae9deSAndroid Build Coastguard Worker }
1423*3c7ae9deSAndroid Build Coastguard Worker
1424*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_http_proxy_options_properties http_proxy_options_properties;
1425*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_proxy_options(JNIEnv * env)1426*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_proxy_options(JNIEnv *env) {
1427*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpProxyOptions");
1428*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1429*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.http_proxy_options_class = (*env)->NewGlobalRef(env, cls);
1430*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_options_properties.http_proxy_options_class);
1431*3c7ae9deSAndroid Build Coastguard Worker // Functions
1432*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.proxy_get_connection_type_id = (*env)->GetMethodID(
1433*3c7ae9deSAndroid Build Coastguard Worker env,
1434*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.http_proxy_options_class,
1435*3c7ae9deSAndroid Build Coastguard Worker "getConnectionType",
1436*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/http/HttpProxyOptions$HttpProxyConnectionType;");
1437*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_options_properties.proxy_get_connection_type_id);
1438*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.proxy_get_proxy_host_id = (*env)->GetMethodID(
1439*3c7ae9deSAndroid Build Coastguard Worker env, http_proxy_options_properties.http_proxy_options_class, "getHost", "()Ljava/lang/String;");
1440*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_options_properties.proxy_get_proxy_host_id);
1441*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.proxy_get_proxy_port_id =
1442*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, http_proxy_options_properties.http_proxy_options_class, "getPort", "()I");
1443*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_options_properties.proxy_get_proxy_port_id);
1444*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.proxy_get_proxy_tls_context_id = (*env)->GetMethodID(
1445*3c7ae9deSAndroid Build Coastguard Worker env,
1446*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.http_proxy_options_class,
1447*3c7ae9deSAndroid Build Coastguard Worker "getTlsContext",
1448*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/io/TlsContext;");
1449*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_options_properties.proxy_get_proxy_tls_context_id);
1450*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.proxy_get_proxy_authorization_type_id = (*env)->GetMethodID(
1451*3c7ae9deSAndroid Build Coastguard Worker env,
1452*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.http_proxy_options_class,
1453*3c7ae9deSAndroid Build Coastguard Worker "getAuthorizationType",
1454*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/http/HttpProxyOptions$HttpProxyAuthorizationType;");
1455*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_options_properties.proxy_get_proxy_authorization_type_id);
1456*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.proxy_get_authorization_username_id = (*env)->GetMethodID(
1457*3c7ae9deSAndroid Build Coastguard Worker env,
1458*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.http_proxy_options_class,
1459*3c7ae9deSAndroid Build Coastguard Worker "getAuthorizationUsername",
1460*3c7ae9deSAndroid Build Coastguard Worker "()Ljava/lang/String;");
1461*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_options_properties.proxy_get_authorization_username_id);
1462*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.proxy_get_authorization_password_id = (*env)->GetMethodID(
1463*3c7ae9deSAndroid Build Coastguard Worker env,
1464*3c7ae9deSAndroid Build Coastguard Worker http_proxy_options_properties.http_proxy_options_class,
1465*3c7ae9deSAndroid Build Coastguard Worker "getAuthorizationPassword",
1466*3c7ae9deSAndroid Build Coastguard Worker "()Ljava/lang/String;");
1467*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_options_properties.proxy_get_authorization_password_id);
1468*3c7ae9deSAndroid Build Coastguard Worker }
1469*3c7ae9deSAndroid Build Coastguard Worker
1470*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_http_proxy_connection_type_properties http_proxy_connection_type_properties;
1471*3c7ae9deSAndroid Build Coastguard Worker
s_cache_http_proxy_connection_type(JNIEnv * env)1472*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_http_proxy_connection_type(JNIEnv *env) {
1473*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/http/HttpProxyOptions$HttpProxyConnectionType");
1474*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1475*3c7ae9deSAndroid Build Coastguard Worker http_proxy_connection_type_properties.http_proxy_connection_type_class = (*env)->NewGlobalRef(env, cls);
1476*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_connection_type_properties.http_proxy_connection_type_class);
1477*3c7ae9deSAndroid Build Coastguard Worker // Functions
1478*3c7ae9deSAndroid Build Coastguard Worker http_proxy_connection_type_properties.proxy_get_value_id = (*env)->GetMethodID(
1479*3c7ae9deSAndroid Build Coastguard Worker env, http_proxy_connection_type_properties.http_proxy_connection_type_class, "getValue", "()I");
1480*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(http_proxy_connection_type_properties.proxy_get_value_id);
1481*3c7ae9deSAndroid Build Coastguard Worker }
1482*3c7ae9deSAndroid Build Coastguard Worker
1483*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_options_properties mqtt5_client_options_properties;
1484*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_client_options(JNIEnv * env)1485*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_client_options(JNIEnv *env) {
1486*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions");
1487*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1488*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class = (*env)->NewGlobalRef(env, cls);
1489*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.client_options_class);
1490*3c7ae9deSAndroid Build Coastguard Worker // Functions
1491*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.options_get_bootstrap_id = (*env)->GetMethodID(
1492*3c7ae9deSAndroid Build Coastguard Worker env,
1493*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1494*3c7ae9deSAndroid Build Coastguard Worker "getBootstrap",
1495*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/io/ClientBootstrap;");
1496*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.options_get_bootstrap_id);
1497*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.options_get_socket_options_id = (*env)->GetMethodID(
1498*3c7ae9deSAndroid Build Coastguard Worker env,
1499*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1500*3c7ae9deSAndroid Build Coastguard Worker "getSocketOptions",
1501*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/io/SocketOptions;");
1502*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.options_get_socket_options_id);
1503*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.options_get_tls_options_id = (*env)->GetMethodID(
1504*3c7ae9deSAndroid Build Coastguard Worker env,
1505*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1506*3c7ae9deSAndroid Build Coastguard Worker "getTlsContext",
1507*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/io/TlsContext;");
1508*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.options_get_tls_options_id);
1509*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.options_get_session_behavior_id = (*env)->GetMethodID(
1510*3c7ae9deSAndroid Build Coastguard Worker env,
1511*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1512*3c7ae9deSAndroid Build Coastguard Worker "getSessionBehavior",
1513*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$ClientSessionBehavior;");
1514*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.options_get_session_behavior_id);
1515*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.options_get_extended_validation_and_flow_control_options_id = (*env)->GetMethodID(
1516*3c7ae9deSAndroid Build Coastguard Worker env,
1517*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1518*3c7ae9deSAndroid Build Coastguard Worker "getExtendedValidationAndFlowControlOptions",
1519*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$ExtendedValidationAndFlowControlOptions;");
1520*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.options_get_extended_validation_and_flow_control_options_id);
1521*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.options_get_offline_queue_behavior_id = (*env)->GetMethodID(
1522*3c7ae9deSAndroid Build Coastguard Worker env,
1523*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1524*3c7ae9deSAndroid Build Coastguard Worker "getOfflineQueueBehavior",
1525*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$ClientOfflineQueueBehavior;");
1526*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.options_get_offline_queue_behavior_id);
1527*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.options_get_retry_jitter_mode_id = (*env)->GetMethodID(
1528*3c7ae9deSAndroid Build Coastguard Worker env,
1529*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1530*3c7ae9deSAndroid Build Coastguard Worker "getRetryJitterMode",
1531*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/io/ExponentialBackoffRetryOptions$JitterMode;");
1532*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.options_get_retry_jitter_mode_id);
1533*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1534*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.options_host_name_field_id =
1535*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_client_options_properties.client_options_class, "hostName", "Ljava/lang/String;");
1536*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.options_host_name_field_id);
1537*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.options_port_field_id =
1538*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_client_options_properties.client_options_class, "port", "Ljava/lang/Long;");
1539*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.options_port_field_id);
1540*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.http_proxy_options_field_id = (*env)->GetFieldID(
1541*3c7ae9deSAndroid Build Coastguard Worker env,
1542*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1543*3c7ae9deSAndroid Build Coastguard Worker "httpProxyOptions",
1544*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/http/HttpProxyOptions;");
1545*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.http_proxy_options_field_id);
1546*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.session_behavior_field_id = (*env)->GetFieldID(
1547*3c7ae9deSAndroid Build Coastguard Worker env,
1548*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1549*3c7ae9deSAndroid Build Coastguard Worker "sessionBehavior",
1550*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$ClientSessionBehavior;");
1551*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.session_behavior_field_id);
1552*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.extended_validation_and_flow_control_options_field_id = (*env)->GetFieldID(
1553*3c7ae9deSAndroid Build Coastguard Worker env,
1554*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1555*3c7ae9deSAndroid Build Coastguard Worker "extendedValidationAndFlowControlOptions",
1556*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$ExtendedValidationAndFlowControlOptions;");
1557*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.extended_validation_and_flow_control_options_field_id);
1558*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.offline_queue_behavior_field_id = (*env)->GetFieldID(
1559*3c7ae9deSAndroid Build Coastguard Worker env,
1560*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1561*3c7ae9deSAndroid Build Coastguard Worker "offlineQueueBehavior",
1562*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$ClientOfflineQueueBehavior;");
1563*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.offline_queue_behavior_field_id);
1564*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.retry_jitter_mode_field_id = (*env)->GetFieldID(
1565*3c7ae9deSAndroid Build Coastguard Worker env,
1566*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1567*3c7ae9deSAndroid Build Coastguard Worker "retryJitterMode",
1568*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/io/ExponentialBackoffRetryOptions$JitterMode;");
1569*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.retry_jitter_mode_field_id);
1570*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.min_reconnect_delay_ms_field_id = (*env)->GetFieldID(
1571*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_options_properties.client_options_class, "minReconnectDelayMs", "Ljava/lang/Long;");
1572*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.min_reconnect_delay_ms_field_id);
1573*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.max_reconnect_delay_ms_field_id = (*env)->GetFieldID(
1574*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_options_properties.client_options_class, "maxReconnectDelayMs", "Ljava/lang/Long;");
1575*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.max_reconnect_delay_ms_field_id);
1576*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.min_connected_time_to_reset_reconnect_delay_ms_field_id = (*env)->GetFieldID(
1577*3c7ae9deSAndroid Build Coastguard Worker env,
1578*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1579*3c7ae9deSAndroid Build Coastguard Worker "minConnectedTimeToResetReconnectDelayMs",
1580*3c7ae9deSAndroid Build Coastguard Worker "Ljava/lang/Long;");
1581*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.min_connected_time_to_reset_reconnect_delay_ms_field_id);
1582*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.ping_timeout_ms_field_id = (*env)->GetFieldID(
1583*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_options_properties.client_options_class, "pingTimeoutMs", "Ljava/lang/Long;");
1584*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.ping_timeout_ms_field_id);
1585*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.connack_timeout_ms_field_id = (*env)->GetFieldID(
1586*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_options_properties.client_options_class, "connackTimeoutMs", "Ljava/lang/Long;");
1587*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.connack_timeout_ms_field_id);
1588*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.ack_timeout_seconds_field_id = (*env)->GetFieldID(
1589*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_options_properties.client_options_class, "ackTimeoutSeconds", "Ljava/lang/Long;");
1590*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.ack_timeout_seconds_field_id);
1591*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.publish_events_field_id = (*env)->GetFieldID(
1592*3c7ae9deSAndroid Build Coastguard Worker env,
1593*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1594*3c7ae9deSAndroid Build Coastguard Worker "publishEvents",
1595*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$PublishEvents;");
1596*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.publish_events_field_id);
1597*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.lifecycle_events_field_id = (*env)->GetFieldID(
1598*3c7ae9deSAndroid Build Coastguard Worker env,
1599*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1600*3c7ae9deSAndroid Build Coastguard Worker "lifecycleEvents",
1601*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$LifecycleEvents;");
1602*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.lifecycle_events_field_id);
1603*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.topic_aliasing_options_field_id = (*env)->GetFieldID(
1604*3c7ae9deSAndroid Build Coastguard Worker env,
1605*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_options_properties.client_options_class,
1606*3c7ae9deSAndroid Build Coastguard Worker "topicAliasingOptions",
1607*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/TopicAliasingOptions;");
1608*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_options_properties.topic_aliasing_options_field_id);
1609*3c7ae9deSAndroid Build Coastguard Worker }
1610*3c7ae9deSAndroid Build Coastguard Worker
1611*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_topic_aliasing_options_properties mqtt5_topic_aliasing_options_properties;
s_cache_topic_aliasing_options(JNIEnv * env)1612*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_topic_aliasing_options(JNIEnv *env) {
1613*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/TopicAliasingOptions");
1614*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1615*3c7ae9deSAndroid Build Coastguard Worker mqtt5_topic_aliasing_options_properties.mqtt5_topic_aliasing_options_class = (*env)->NewGlobalRef(env, cls);
1616*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_topic_aliasing_options_properties.mqtt5_topic_aliasing_options_class);
1617*3c7ae9deSAndroid Build Coastguard Worker
1618*3c7ae9deSAndroid Build Coastguard Worker mqtt5_topic_aliasing_options_properties.outbound_behavior_field_id = (*env)->GetFieldID(
1619*3c7ae9deSAndroid Build Coastguard Worker env,
1620*3c7ae9deSAndroid Build Coastguard Worker mqtt5_topic_aliasing_options_properties.mqtt5_topic_aliasing_options_class,
1621*3c7ae9deSAndroid Build Coastguard Worker "outboundBehavior",
1622*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/TopicAliasingOptions$OutboundTopicAliasBehaviorType;");
1623*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_topic_aliasing_options_properties.outbound_behavior_field_id);
1624*3c7ae9deSAndroid Build Coastguard Worker
1625*3c7ae9deSAndroid Build Coastguard Worker mqtt5_topic_aliasing_options_properties.outbound_cache_max_size_field_id = (*env)->GetFieldID(
1626*3c7ae9deSAndroid Build Coastguard Worker env,
1627*3c7ae9deSAndroid Build Coastguard Worker mqtt5_topic_aliasing_options_properties.mqtt5_topic_aliasing_options_class,
1628*3c7ae9deSAndroid Build Coastguard Worker "outboundCacheMaxSize",
1629*3c7ae9deSAndroid Build Coastguard Worker "Ljava/lang/Integer;");
1630*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_topic_aliasing_options_properties.outbound_cache_max_size_field_id);
1631*3c7ae9deSAndroid Build Coastguard Worker
1632*3c7ae9deSAndroid Build Coastguard Worker mqtt5_topic_aliasing_options_properties.inbound_behavior_field_id = (*env)->GetFieldID(
1633*3c7ae9deSAndroid Build Coastguard Worker env,
1634*3c7ae9deSAndroid Build Coastguard Worker mqtt5_topic_aliasing_options_properties.mqtt5_topic_aliasing_options_class,
1635*3c7ae9deSAndroid Build Coastguard Worker "inboundBehavior",
1636*3c7ae9deSAndroid Build Coastguard Worker "Lsoftware/amazon/awssdk/crt/mqtt5/TopicAliasingOptions$InboundTopicAliasBehaviorType;");
1637*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_topic_aliasing_options_properties.inbound_behavior_field_id);
1638*3c7ae9deSAndroid Build Coastguard Worker
1639*3c7ae9deSAndroid Build Coastguard Worker mqtt5_topic_aliasing_options_properties.inbound_cache_max_size_field_id = (*env)->GetFieldID(
1640*3c7ae9deSAndroid Build Coastguard Worker env,
1641*3c7ae9deSAndroid Build Coastguard Worker mqtt5_topic_aliasing_options_properties.mqtt5_topic_aliasing_options_class,
1642*3c7ae9deSAndroid Build Coastguard Worker "inboundCacheMaxSize",
1643*3c7ae9deSAndroid Build Coastguard Worker "Ljava/lang/Integer;");
1644*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_topic_aliasing_options_properties.inbound_cache_max_size_field_id);
1645*3c7ae9deSAndroid Build Coastguard Worker }
1646*3c7ae9deSAndroid Build Coastguard Worker
1647*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_properties mqtt5_client_properties;
1648*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_client_properties(JNIEnv * env)1649*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_client_properties(JNIEnv *env) {
1650*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/Mqtt5Client");
1651*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1652*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_properties.client_class = (*env)->NewGlobalRef(env, cls);
1653*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_properties.client_class);
1654*3c7ae9deSAndroid Build Coastguard Worker // Functions
1655*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_properties.client_on_websocket_handshake_id = (*env)->GetMethodID(
1656*3c7ae9deSAndroid Build Coastguard Worker env,
1657*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_properties.client_class,
1658*3c7ae9deSAndroid Build Coastguard Worker "onWebsocketHandshake",
1659*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/http/HttpRequest;J)V");
1660*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_properties.client_on_websocket_handshake_id);
1661*3c7ae9deSAndroid Build Coastguard Worker
1662*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_properties.client_set_is_connected =
1663*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_client_properties.client_class, "setIsConnected", "(Z)V");
1664*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_properties.client_set_is_connected);
1665*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1666*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_properties.websocket_handshake_field_id = (*env)->GetFieldID(
1667*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_properties.client_class, "websocketHandshakeTransform", "Ljava/util/function/Consumer;");
1668*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_properties.websocket_handshake_field_id);
1669*3c7ae9deSAndroid Build Coastguard Worker }
1670*3c7ae9deSAndroid Build Coastguard Worker
1671*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_operation_statistics_properties mqtt5_client_operation_statistics_properties;
1672*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_client_operation_statistics_properties(JNIEnv * env)1673*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_client_operation_statistics_properties(JNIEnv *env) {
1674*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/Mqtt5ClientOperationStatistics");
1675*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1676*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_operation_statistics_properties.statistics_class = (*env)->NewGlobalRef(env, cls);
1677*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_operation_statistics_properties.statistics_class);
1678*3c7ae9deSAndroid Build Coastguard Worker // Functions
1679*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_operation_statistics_properties.statistics_constructor_id =
1680*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_client_operation_statistics_properties.statistics_class, "<init>", "()V");
1681*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_operation_statistics_properties.statistics_constructor_id);
1682*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1683*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_operation_statistics_properties.incomplete_operation_count_field_id = (*env)->GetFieldID(
1684*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_operation_statistics_properties.statistics_class, "incompleteOperationCount", "J");
1685*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_operation_statistics_properties.incomplete_operation_count_field_id);
1686*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_operation_statistics_properties.incomplete_operation_size_field_id = (*env)->GetFieldID(
1687*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_operation_statistics_properties.statistics_class, "incompleteOperationSize", "J");
1688*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_operation_statistics_properties.incomplete_operation_size_field_id);
1689*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_operation_statistics_properties.unacked_operation_count_field_id = (*env)->GetFieldID(
1690*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_operation_statistics_properties.statistics_class, "unackedOperationCount", "J");
1691*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_operation_statistics_properties.unacked_operation_count_field_id);
1692*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_operation_statistics_properties.unacked_operation_size_field_id = (*env)->GetFieldID(
1693*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_operation_statistics_properties.statistics_class, "unackedOperationSize", "J");
1694*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_operation_statistics_properties.unacked_operation_size_field_id);
1695*3c7ae9deSAndroid Build Coastguard Worker }
1696*3c7ae9deSAndroid Build Coastguard Worker
1697*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_session_behavior_type_properties mqtt5_client_session_behavior_properties;
1698*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_client_session_behavior(JNIEnv * env)1699*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_client_session_behavior(JNIEnv *env) {
1700*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$ClientSessionBehavior");
1701*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1702*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_session_behavior_properties.mqtt5_client_session_behavior_class = (*env)->NewGlobalRef(env, cls);
1703*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_session_behavior_properties.mqtt5_client_session_behavior_class);
1704*3c7ae9deSAndroid Build Coastguard Worker // Functions
1705*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_session_behavior_properties.client_get_value_id = (*env)->GetMethodID(
1706*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_client_session_behavior_properties.mqtt5_client_session_behavior_class, "getValue", "()I");
1707*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_session_behavior_properties.client_get_value_id);
1708*3c7ae9deSAndroid Build Coastguard Worker }
1709*3c7ae9deSAndroid Build Coastguard Worker
1710*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_extended_validation_and_flow_control_options
1711*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_extended_validation_and_flow_control_options;
1712*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_client_extended_validation_and_flow_control_options(JNIEnv * env)1713*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_client_extended_validation_and_flow_control_options(JNIEnv *env) {
1714*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(
1715*3c7ae9deSAndroid Build Coastguard Worker env, "software/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$ExtendedValidationAndFlowControlOptions");
1716*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1717*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_extended_validation_and_flow_control_options
1718*3c7ae9deSAndroid Build Coastguard Worker .mqtt5_client_extended_validation_and_flow_control_options_class = (*env)->NewGlobalRef(env, cls);
1719*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_extended_validation_and_flow_control_options
1720*3c7ae9deSAndroid Build Coastguard Worker .mqtt5_client_extended_validation_and_flow_control_options_class);
1721*3c7ae9deSAndroid Build Coastguard Worker // Functions
1722*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_extended_validation_and_flow_control_options.client_get_value_id = (*env)->GetMethodID(
1723*3c7ae9deSAndroid Build Coastguard Worker env,
1724*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_extended_validation_and_flow_control_options
1725*3c7ae9deSAndroid Build Coastguard Worker .mqtt5_client_extended_validation_and_flow_control_options_class,
1726*3c7ae9deSAndroid Build Coastguard Worker "getValue",
1727*3c7ae9deSAndroid Build Coastguard Worker "()I");
1728*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_extended_validation_and_flow_control_options.client_get_value_id);
1729*3c7ae9deSAndroid Build Coastguard Worker }
1730*3c7ae9deSAndroid Build Coastguard Worker
1731*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_offline_queue_behavior_type_properties mqtt5_client_offline_queue_behavior_type_properties;
1732*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_client_offline_queue_behavior_type(JNIEnv * env)1733*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_client_offline_queue_behavior_type(JNIEnv *env) {
1734*3c7ae9deSAndroid Build Coastguard Worker jclass cls =
1735*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$ClientOfflineQueueBehavior");
1736*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1737*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_offline_queue_behavior_type_properties.mqtt5_client_offline_queue_behavior_type_class =
1738*3c7ae9deSAndroid Build Coastguard Worker (*env)->NewGlobalRef(env, cls);
1739*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(
1740*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_offline_queue_behavior_type_properties.mqtt5_client_offline_queue_behavior_type_class);
1741*3c7ae9deSAndroid Build Coastguard Worker // Functions
1742*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_offline_queue_behavior_type_properties.client_get_value_id = (*env)->GetMethodID(
1743*3c7ae9deSAndroid Build Coastguard Worker env,
1744*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_offline_queue_behavior_type_properties.mqtt5_client_offline_queue_behavior_type_class,
1745*3c7ae9deSAndroid Build Coastguard Worker "getValue",
1746*3c7ae9deSAndroid Build Coastguard Worker "()I");
1747*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_offline_queue_behavior_type_properties.client_get_value_id);
1748*3c7ae9deSAndroid Build Coastguard Worker }
1749*3c7ae9deSAndroid Build Coastguard Worker
1750*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_jitter_mode_properties mqtt5_client_jitter_mode_properties;
1751*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_client_jitter_mode(JNIEnv * env)1752*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_client_jitter_mode(JNIEnv *env) {
1753*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/io/ExponentialBackoffRetryOptions$JitterMode");
1754*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1755*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_jitter_mode_properties.mqtt5_client_jitter_mode_class = (*env)->NewGlobalRef(env, cls);
1756*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_jitter_mode_properties.mqtt5_client_jitter_mode_class);
1757*3c7ae9deSAndroid Build Coastguard Worker // Functions
1758*3c7ae9deSAndroid Build Coastguard Worker mqtt5_client_jitter_mode_properties.client_get_value_id =
1759*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_client_jitter_mode_properties.mqtt5_client_jitter_mode_class, "getValue", "()I");
1760*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_client_jitter_mode_properties.client_get_value_id);
1761*3c7ae9deSAndroid Build Coastguard Worker }
1762*3c7ae9deSAndroid Build Coastguard Worker
1763*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_outbound_topic_alias_behavior_type_properties mqtt5_outbound_topic_alias_behavior_type_properties;
1764*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_outbound_topic_alias_behavior_type(JNIEnv * env)1765*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_outbound_topic_alias_behavior_type(JNIEnv *env) {
1766*3c7ae9deSAndroid Build Coastguard Worker jclass cls =
1767*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/TopicAliasingOptions$OutboundTopicAliasBehaviorType");
1768*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1769*3c7ae9deSAndroid Build Coastguard Worker mqtt5_outbound_topic_alias_behavior_type_properties.mqtt5_outbound_topic_alias_behavior_type_class =
1770*3c7ae9deSAndroid Build Coastguard Worker (*env)->NewGlobalRef(env, cls);
1771*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(
1772*3c7ae9deSAndroid Build Coastguard Worker mqtt5_outbound_topic_alias_behavior_type_properties.mqtt5_outbound_topic_alias_behavior_type_class);
1773*3c7ae9deSAndroid Build Coastguard Worker // Functions
1774*3c7ae9deSAndroid Build Coastguard Worker mqtt5_outbound_topic_alias_behavior_type_properties.get_value_method_id = (*env)->GetMethodID(
1775*3c7ae9deSAndroid Build Coastguard Worker env,
1776*3c7ae9deSAndroid Build Coastguard Worker mqtt5_outbound_topic_alias_behavior_type_properties.mqtt5_outbound_topic_alias_behavior_type_class,
1777*3c7ae9deSAndroid Build Coastguard Worker "getValue",
1778*3c7ae9deSAndroid Build Coastguard Worker "()I");
1779*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_outbound_topic_alias_behavior_type_properties.get_value_method_id);
1780*3c7ae9deSAndroid Build Coastguard Worker }
1781*3c7ae9deSAndroid Build Coastguard Worker
1782*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_inbound_topic_alias_behavior_type_properties mqtt5_inbound_topic_alias_behavior_type_properties;
1783*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_inbound_topic_alias_behavior_type(JNIEnv * env)1784*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_inbound_topic_alias_behavior_type(JNIEnv *env) {
1785*3c7ae9deSAndroid Build Coastguard Worker jclass cls =
1786*3c7ae9deSAndroid Build Coastguard Worker (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/TopicAliasingOptions$InboundTopicAliasBehaviorType");
1787*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1788*3c7ae9deSAndroid Build Coastguard Worker mqtt5_inbound_topic_alias_behavior_type_properties.mqtt5_inbound_topic_alias_behavior_type_class =
1789*3c7ae9deSAndroid Build Coastguard Worker (*env)->NewGlobalRef(env, cls);
1790*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_inbound_topic_alias_behavior_type_properties.mqtt5_inbound_topic_alias_behavior_type_class);
1791*3c7ae9deSAndroid Build Coastguard Worker // Functions
1792*3c7ae9deSAndroid Build Coastguard Worker mqtt5_inbound_topic_alias_behavior_type_properties.get_value_method_id = (*env)->GetMethodID(
1793*3c7ae9deSAndroid Build Coastguard Worker env,
1794*3c7ae9deSAndroid Build Coastguard Worker mqtt5_inbound_topic_alias_behavior_type_properties.mqtt5_inbound_topic_alias_behavior_type_class,
1795*3c7ae9deSAndroid Build Coastguard Worker "getValue",
1796*3c7ae9deSAndroid Build Coastguard Worker "()I");
1797*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_inbound_topic_alias_behavior_type_properties.get_value_method_id);
1798*3c7ae9deSAndroid Build Coastguard Worker }
1799*3c7ae9deSAndroid Build Coastguard Worker
1800*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_subscribe_packet_properties mqtt5_subscribe_packet_properties;
1801*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_subscribe_packet(JNIEnv * env)1802*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_subscribe_packet(JNIEnv *env) {
1803*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/SubscribePacket");
1804*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1805*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscribe_packet_properties.subscribe_packet_class = (*env)->NewGlobalRef(env, cls);
1806*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscribe_packet_properties.subscribe_packet_class);
1807*3c7ae9deSAndroid Build Coastguard Worker // Functions
1808*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscribe_packet_properties.subscribe_subscriptions_field_id = (*env)->GetFieldID(
1809*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_subscribe_packet_properties.subscribe_packet_class, "subscriptions", "Ljava/util/List;");
1810*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscribe_packet_properties.subscribe_subscriptions_field_id);
1811*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscribe_packet_properties.subscribe_subscription_identifier_field_id = (*env)->GetFieldID(
1812*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_subscribe_packet_properties.subscribe_packet_class, "subscriptionIdentifier", "Ljava/lang/Long;");
1813*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscribe_packet_properties.subscribe_subscription_identifier_field_id);
1814*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscribe_packet_properties.subscribe_user_properties_field_id = (*env)->GetFieldID(
1815*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_subscribe_packet_properties.subscribe_packet_class, "userProperties", "Ljava/util/List;");
1816*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscribe_packet_properties.subscribe_user_properties_field_id);
1817*3c7ae9deSAndroid Build Coastguard Worker }
1818*3c7ae9deSAndroid Build Coastguard Worker
1819*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_subscription_properties mqtt5_subscription_properties;
1820*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_subscribe_subscription(JNIEnv * env)1821*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_subscribe_subscription(JNIEnv *env) {
1822*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/SubscribePacket$Subscription");
1823*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1824*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_subscription_class = (*env)->NewGlobalRef(env, cls);
1825*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscription_properties.subscribe_subscription_class);
1826*3c7ae9deSAndroid Build Coastguard Worker
1827*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1828*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_no_local_field_id = (*env)->GetFieldID(
1829*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_subscription_properties.subscribe_subscription_class, "noLocal", "Ljava/lang/Boolean;");
1830*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscription_properties.subscribe_no_local_field_id);
1831*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_retain_as_published_field_id = (*env)->GetFieldID(
1832*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_subscription_properties.subscribe_subscription_class, "retainAsPublished", "Ljava/lang/Boolean;");
1833*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscription_properties.subscribe_retain_as_published_field_id);
1834*3c7ae9deSAndroid Build Coastguard Worker // Functions
1835*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_get_topic_filter_id = (*env)->GetMethodID(
1836*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_subscription_properties.subscribe_subscription_class, "getTopicFilter", "()Ljava/lang/String;");
1837*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscription_properties.subscribe_get_topic_filter_id);
1838*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_get_qos_id = (*env)->GetMethodID(
1839*3c7ae9deSAndroid Build Coastguard Worker env,
1840*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_subscription_class,
1841*3c7ae9deSAndroid Build Coastguard Worker "getQOS",
1842*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/mqtt5/QOS;");
1843*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscription_properties.subscribe_get_qos_id);
1844*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_get_no_local_id = (*env)->GetMethodID(
1845*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_subscription_properties.subscribe_subscription_class, "getNoLocal", "()Ljava/lang/Boolean;");
1846*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscription_properties.subscribe_get_no_local_id);
1847*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_get_retain_as_published_id = (*env)->GetMethodID(
1848*3c7ae9deSAndroid Build Coastguard Worker env,
1849*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_subscription_class,
1850*3c7ae9deSAndroid Build Coastguard Worker "getRetainAsPublished",
1851*3c7ae9deSAndroid Build Coastguard Worker "()Ljava/lang/Boolean;");
1852*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscription_properties.subscribe_get_retain_as_published_id);
1853*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_get_retain_handling_type_id = (*env)->GetMethodID(
1854*3c7ae9deSAndroid Build Coastguard Worker env,
1855*3c7ae9deSAndroid Build Coastguard Worker mqtt5_subscription_properties.subscribe_subscription_class,
1856*3c7ae9deSAndroid Build Coastguard Worker "getRetainHandlingType",
1857*3c7ae9deSAndroid Build Coastguard Worker "()Lsoftware/amazon/awssdk/crt/mqtt5/packets/SubscribePacket$RetainHandlingType;");
1858*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_subscription_properties.subscribe_get_retain_handling_type_id);
1859*3c7ae9deSAndroid Build Coastguard Worker }
1860*3c7ae9deSAndroid Build Coastguard Worker
1861*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_packet_qos_properties mqtt5_packet_qos_properties;
1862*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_packet_qos(JNIEnv * env)1863*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_packet_qos(JNIEnv *env) {
1864*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/QOS");
1865*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1866*3c7ae9deSAndroid Build Coastguard Worker mqtt5_packet_qos_properties.packet_qos_class = (*env)->NewGlobalRef(env, cls);
1867*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_packet_qos_properties.packet_qos_class);
1868*3c7ae9deSAndroid Build Coastguard Worker // Functions
1869*3c7ae9deSAndroid Build Coastguard Worker mqtt5_packet_qos_properties.qos_get_value_id =
1870*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_packet_qos_properties.packet_qos_class, "getValue", "()I");
1871*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_packet_qos_properties.qos_get_value_id);
1872*3c7ae9deSAndroid Build Coastguard Worker // Static functions
1873*3c7ae9deSAndroid Build Coastguard Worker mqtt5_packet_qos_properties.qos_s_get_enum_value_from_integer_id = (*env)->GetStaticMethodID(
1874*3c7ae9deSAndroid Build Coastguard Worker env,
1875*3c7ae9deSAndroid Build Coastguard Worker mqtt5_packet_qos_properties.packet_qos_class,
1876*3c7ae9deSAndroid Build Coastguard Worker "getEnumValueFromInteger",
1877*3c7ae9deSAndroid Build Coastguard Worker "(I)Lsoftware/amazon/awssdk/crt/mqtt5/QOS;");
1878*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_packet_qos_properties.qos_s_get_enum_value_from_integer_id);
1879*3c7ae9deSAndroid Build Coastguard Worker }
1880*3c7ae9deSAndroid Build Coastguard Worker
1881*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_retain_handling_type_properties mqtt5_retain_handling_type_properties;
1882*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_retain_handling_type(JNIEnv * env)1883*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_retain_handling_type(JNIEnv *env) {
1884*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/SubscribePacket$RetainHandlingType");
1885*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1886*3c7ae9deSAndroid Build Coastguard Worker mqtt5_retain_handling_type_properties.retain_handling_type_class = (*env)->NewGlobalRef(env, cls);
1887*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_retain_handling_type_properties.retain_handling_type_class);
1888*3c7ae9deSAndroid Build Coastguard Worker // Functions
1889*3c7ae9deSAndroid Build Coastguard Worker mqtt5_retain_handling_type_properties.retain_get_value_id =
1890*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_retain_handling_type_properties.retain_handling_type_class, "getValue", "()I");
1891*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_retain_handling_type_properties.retain_get_value_id);
1892*3c7ae9deSAndroid Build Coastguard Worker }
1893*3c7ae9deSAndroid Build Coastguard Worker
1894*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_suback_reason_code_properties mqtt5_suback_reason_code_properties;
1895*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_suback_reason_code(JNIEnv * env)1896*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_suback_reason_code(JNIEnv *env) {
1897*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/SubAckPacket$SubAckReasonCode");
1898*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1899*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_reason_code_properties.reason_code_class = (*env)->NewGlobalRef(env, cls);
1900*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_suback_reason_code_properties.reason_code_class);
1901*3c7ae9deSAndroid Build Coastguard Worker // Functions
1902*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_reason_code_properties.reason_get_value_id =
1903*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_suback_reason_code_properties.reason_code_class, "getValue", "()I");
1904*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_suback_reason_code_properties.reason_get_value_id);
1905*3c7ae9deSAndroid Build Coastguard Worker // Static functions
1906*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_reason_code_properties.reason_s_get_enum_value_from_integer_id = (*env)->GetStaticMethodID(
1907*3c7ae9deSAndroid Build Coastguard Worker env,
1908*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_reason_code_properties.reason_code_class,
1909*3c7ae9deSAndroid Build Coastguard Worker "getEnumValueFromInteger",
1910*3c7ae9deSAndroid Build Coastguard Worker "(I)Lsoftware/amazon/awssdk/crt/mqtt5/packets/SubAckPacket$SubAckReasonCode;");
1911*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_suback_reason_code_properties.reason_s_get_enum_value_from_integer_id);
1912*3c7ae9deSAndroid Build Coastguard Worker }
1913*3c7ae9deSAndroid Build Coastguard Worker
1914*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_packet_suback_properties mqtt5_suback_packet_properties;
1915*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_suback_packet(JNIEnv * env)1916*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_suback_packet(JNIEnv *env) {
1917*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/SubAckPacket");
1918*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1919*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_packet_properties.suback_packet_class = (*env)->NewGlobalRef(env, cls);
1920*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_suback_packet_properties.suback_packet_class);
1921*3c7ae9deSAndroid Build Coastguard Worker // Functions
1922*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_packet_properties.suback_constructor_id =
1923*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_suback_packet_properties.suback_packet_class, "<init>", "()V");
1924*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_suback_packet_properties.suback_constructor_id);
1925*3c7ae9deSAndroid Build Coastguard Worker
1926*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_packet_properties.suback_native_add_suback_code_id =
1927*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_suback_packet_properties.suback_packet_class, "nativeAddSubackCode", "(I)V");
1928*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_suback_packet_properties.suback_native_add_suback_code_id);
1929*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1930*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_packet_properties.suback_reason_string_field_id = (*env)->GetFieldID(
1931*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_suback_packet_properties.suback_packet_class, "reasonString", "Ljava/lang/String;");
1932*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_suback_packet_properties.suback_reason_string_field_id);
1933*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_packet_properties.suback_reason_codes_field_id =
1934*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_suback_packet_properties.suback_packet_class, "reasonCodes", "Ljava/util/List;");
1935*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_suback_packet_properties.suback_reason_codes_field_id);
1936*3c7ae9deSAndroid Build Coastguard Worker mqtt5_suback_packet_properties.suback_user_properties_field_id = (*env)->GetFieldID(
1937*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_suback_packet_properties.suback_packet_class, "userProperties", "Ljava/util/List;");
1938*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_suback_packet_properties.suback_user_properties_field_id);
1939*3c7ae9deSAndroid Build Coastguard Worker }
1940*3c7ae9deSAndroid Build Coastguard Worker
1941*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_packet_unsubscribe_properties mqtt5_unsubscribe_packet_properties;
1942*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_unsubscribe_packet(JNIEnv * env)1943*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_unsubscribe_packet(JNIEnv *env) {
1944*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/UnsubscribePacket");
1945*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1946*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsubscribe_packet_properties.unsubscribe_packet_class = (*env)->NewGlobalRef(env, cls);
1947*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsubscribe_packet_properties.unsubscribe_packet_class);
1948*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1949*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsubscribe_packet_properties.unsubscribe_subscriptions_field_id = (*env)->GetFieldID(
1950*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_unsubscribe_packet_properties.unsubscribe_packet_class, "subscriptions", "Ljava/util/List;");
1951*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsubscribe_packet_properties.unsubscribe_subscriptions_field_id);
1952*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsubscribe_packet_properties.unsubscribe_user_properties_field_id = (*env)->GetFieldID(
1953*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_unsubscribe_packet_properties.unsubscribe_packet_class, "userProperties", "Ljava/util/List;");
1954*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsubscribe_packet_properties.unsubscribe_user_properties_field_id);
1955*3c7ae9deSAndroid Build Coastguard Worker }
1956*3c7ae9deSAndroid Build Coastguard Worker
1957*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_packet_unsuback_properties mqtt5_unsuback_packet_properties;
1958*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_unsuback_packet(JNIEnv * env)1959*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_unsuback_packet(JNIEnv *env) {
1960*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/UnsubAckPacket");
1961*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1962*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_packet_properties.unsuback_packet_class = (*env)->NewGlobalRef(env, cls);
1963*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsuback_packet_properties.unsuback_packet_class);
1964*3c7ae9deSAndroid Build Coastguard Worker // Functions
1965*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_packet_properties.unsuback_constructor_id =
1966*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_unsuback_packet_properties.unsuback_packet_class, "<init>", "()V");
1967*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsuback_packet_properties.unsuback_constructor_id);
1968*3c7ae9deSAndroid Build Coastguard Worker
1969*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_packet_properties.unsuback_native_add_unsuback_code_id = (*env)->GetMethodID(
1970*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_unsuback_packet_properties.unsuback_packet_class, "nativeAddUnsubackCode", "(I)V");
1971*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsuback_packet_properties.unsuback_native_add_unsuback_code_id);
1972*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
1973*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_packet_properties.unsuback_reason_string_field_id = (*env)->GetFieldID(
1974*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_unsuback_packet_properties.unsuback_packet_class, "reasonString", "Ljava/lang/String;");
1975*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsuback_packet_properties.unsuback_reason_string_field_id);
1976*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_packet_properties.unsuback_reason_codes_field_id = (*env)->GetFieldID(
1977*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_unsuback_packet_properties.unsuback_packet_class, "reasonCodes", "Ljava/util/List;");
1978*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsuback_packet_properties.unsuback_reason_codes_field_id);
1979*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_packet_properties.unsuback_user_properties_field_id = (*env)->GetFieldID(
1980*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_unsuback_packet_properties.unsuback_packet_class, "userProperties", "Ljava/util/List;");
1981*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsuback_packet_properties.unsuback_user_properties_field_id);
1982*3c7ae9deSAndroid Build Coastguard Worker }
1983*3c7ae9deSAndroid Build Coastguard Worker
1984*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_unsuback_reason_code_properties mqtt5_unsuback_reason_code_properties;
1985*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_unsuback_reason_code(JNIEnv * env)1986*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_unsuback_reason_code(JNIEnv *env) {
1987*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/UnsubAckPacket$UnsubAckReasonCode");
1988*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
1989*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_reason_code_properties.reason_code_class = (*env)->NewGlobalRef(env, cls);
1990*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsuback_reason_code_properties.reason_code_class);
1991*3c7ae9deSAndroid Build Coastguard Worker // Functions
1992*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_reason_code_properties.reason_get_value_id =
1993*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_unsuback_reason_code_properties.reason_code_class, "getValue", "()I");
1994*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsuback_reason_code_properties.reason_get_value_id);
1995*3c7ae9deSAndroid Build Coastguard Worker // Static functions
1996*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_reason_code_properties.reason_s_get_enum_value_from_integer_id = (*env)->GetStaticMethodID(
1997*3c7ae9deSAndroid Build Coastguard Worker env,
1998*3c7ae9deSAndroid Build Coastguard Worker mqtt5_unsuback_reason_code_properties.reason_code_class,
1999*3c7ae9deSAndroid Build Coastguard Worker "getEnumValueFromInteger",
2000*3c7ae9deSAndroid Build Coastguard Worker "(I)Lsoftware/amazon/awssdk/crt/mqtt5/packets/UnsubAckPacket$UnsubAckReasonCode;");
2001*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_unsuback_reason_code_properties.reason_s_get_enum_value_from_integer_id);
2002*3c7ae9deSAndroid Build Coastguard Worker }
2003*3c7ae9deSAndroid Build Coastguard Worker
2004*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_user_property_properties mqtt5_user_property_properties;
2005*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_user_property(JNIEnv * env)2006*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_user_property(JNIEnv *env) {
2007*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/packets/UserProperty");
2008*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2009*3c7ae9deSAndroid Build Coastguard Worker mqtt5_user_property_properties.user_property_class = (*env)->NewGlobalRef(env, cls);
2010*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_user_property_properties.user_property_class);
2011*3c7ae9deSAndroid Build Coastguard Worker // Functions
2012*3c7ae9deSAndroid Build Coastguard Worker mqtt5_user_property_properties.property_constructor_id = (*env)->GetMethodID(
2013*3c7ae9deSAndroid Build Coastguard Worker env, mqtt5_user_property_properties.user_property_class, "<init>", "(Ljava/lang/String;Ljava/lang/String;)V");
2014*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_user_property_properties.property_constructor_id);
2015*3c7ae9deSAndroid Build Coastguard Worker // Field IDs
2016*3c7ae9deSAndroid Build Coastguard Worker mqtt5_user_property_properties.property_key_id =
2017*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_user_property_properties.user_property_class, "key", "Ljava/lang/String;");
2018*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_user_property_properties.property_key_id);
2019*3c7ae9deSAndroid Build Coastguard Worker mqtt5_user_property_properties.property_value_id =
2020*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, mqtt5_user_property_properties.user_property_class, "value", "Ljava/lang/String;");
2021*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_user_property_properties.property_value_id);
2022*3c7ae9deSAndroid Build Coastguard Worker }
2023*3c7ae9deSAndroid Build Coastguard Worker
2024*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_publish_events mqtt5_publish_events_properties;
2025*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_publish_events_properties(JNIEnv * env)2026*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_publish_events_properties(JNIEnv *env) {
2027*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$PublishEvents");
2028*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2029*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_events_properties.publish_events_class = (*env)->NewGlobalRef(env, cls);
2030*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_events_properties.publish_events_class);
2031*3c7ae9deSAndroid Build Coastguard Worker // Functions
2032*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_events_properties.publish_events_publish_received_id = (*env)->GetMethodID(
2033*3c7ae9deSAndroid Build Coastguard Worker env,
2034*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_events_properties.publish_events_class,
2035*3c7ae9deSAndroid Build Coastguard Worker "onMessageReceived",
2036*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5Client;Lsoftware/amazon/awssdk/crt/mqtt5/PublishReturn;)V");
2037*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_events_properties.publish_events_publish_received_id);
2038*3c7ae9deSAndroid Build Coastguard Worker }
2039*3c7ae9deSAndroid Build Coastguard Worker
2040*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_lifecycle_events mqtt5_lifecycle_events_properties;
2041*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_lifecycle_events_properties(JNIEnv * env)2042*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_lifecycle_events_properties(JNIEnv *env) {
2043*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/Mqtt5ClientOptions$LifecycleEvents");
2044*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2045*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_events_class = (*env)->NewGlobalRef(env, cls);
2046*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_lifecycle_events_properties.lifecycle_events_class);
2047*3c7ae9deSAndroid Build Coastguard Worker // Functions
2048*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_attempting_connect_id = (*env)->GetMethodID(
2049*3c7ae9deSAndroid Build Coastguard Worker env,
2050*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_events_class,
2051*3c7ae9deSAndroid Build Coastguard Worker "onAttemptingConnect",
2052*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5Client;Lsoftware/amazon/awssdk/crt/mqtt5/"
2053*3c7ae9deSAndroid Build Coastguard Worker "OnAttemptingConnectReturn;)V");
2054*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_lifecycle_events_properties.lifecycle_attempting_connect_id);
2055*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_connection_success_id = (*env)->GetMethodID(
2056*3c7ae9deSAndroid Build Coastguard Worker env,
2057*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_events_class,
2058*3c7ae9deSAndroid Build Coastguard Worker "onConnectionSuccess",
2059*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5Client;Lsoftware/amazon/awssdk/crt/mqtt5/"
2060*3c7ae9deSAndroid Build Coastguard Worker "OnConnectionSuccessReturn;)V");
2061*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_lifecycle_events_properties.lifecycle_connection_success_id);
2062*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_connection_failure_id = (*env)->GetMethodID(
2063*3c7ae9deSAndroid Build Coastguard Worker env,
2064*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_events_class,
2065*3c7ae9deSAndroid Build Coastguard Worker "onConnectionFailure",
2066*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5Client;Lsoftware/amazon/awssdk/crt/mqtt5/"
2067*3c7ae9deSAndroid Build Coastguard Worker "OnConnectionFailureReturn;)V");
2068*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_lifecycle_events_properties.lifecycle_connection_failure_id);
2069*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_disconnection_id = (*env)->GetMethodID(
2070*3c7ae9deSAndroid Build Coastguard Worker env,
2071*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_events_class,
2072*3c7ae9deSAndroid Build Coastguard Worker "onDisconnection",
2073*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5Client;Lsoftware/amazon/awssdk/crt/mqtt5/OnDisconnectionReturn;)V");
2074*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_lifecycle_events_properties.lifecycle_disconnection_id);
2075*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_stopped_id = (*env)->GetMethodID(
2076*3c7ae9deSAndroid Build Coastguard Worker env,
2077*3c7ae9deSAndroid Build Coastguard Worker mqtt5_lifecycle_events_properties.lifecycle_events_class,
2078*3c7ae9deSAndroid Build Coastguard Worker "onStopped",
2079*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/mqtt5/Mqtt5Client;Lsoftware/amazon/awssdk/crt/mqtt5/OnStoppedReturn;)V");
2080*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_lifecycle_events_properties.lifecycle_stopped_id);
2081*3c7ae9deSAndroid Build Coastguard Worker }
2082*3c7ae9deSAndroid Build Coastguard Worker
2083*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_publish_result_properties mqtt5_publish_result_properties;
2084*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_puback_result(JNIEnv * env)2085*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_puback_result(JNIEnv *env) {
2086*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/PublishResult");
2087*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2088*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_result_properties.result_class = (*env)->NewGlobalRef(env, cls);
2089*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_result_properties.result_class);
2090*3c7ae9deSAndroid Build Coastguard Worker // Functions
2091*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_result_properties.result_constructor_id =
2092*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_publish_result_properties.result_class, "<init>", "()V");
2093*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_result_properties.result_constructor_id);
2094*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_result_properties.result_puback_constructor_id = (*env)->GetMethodID(
2095*3c7ae9deSAndroid Build Coastguard Worker env,
2096*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_result_properties.result_class,
2097*3c7ae9deSAndroid Build Coastguard Worker "<init>",
2098*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/mqtt5/packets/PubAckPacket;)V");
2099*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_result_properties.result_puback_constructor_id);
2100*3c7ae9deSAndroid Build Coastguard Worker }
2101*3c7ae9deSAndroid Build Coastguard Worker
2102*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_publish_return_properties mqtt5_publish_return_properties;
2103*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_publish_return(JNIEnv * env)2104*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_publish_return(JNIEnv *env) {
2105*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/PublishReturn");
2106*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2107*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_return_properties.return_class = (*env)->NewGlobalRef(env, cls);
2108*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_return_properties.return_class);
2109*3c7ae9deSAndroid Build Coastguard Worker // Functions
2110*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_return_properties.return_constructor_id = (*env)->GetMethodID(
2111*3c7ae9deSAndroid Build Coastguard Worker env,
2112*3c7ae9deSAndroid Build Coastguard Worker mqtt5_publish_return_properties.return_class,
2113*3c7ae9deSAndroid Build Coastguard Worker "<init>",
2114*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/mqtt5/packets/PublishPacket;)V");
2115*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_publish_return_properties.return_constructor_id);
2116*3c7ae9deSAndroid Build Coastguard Worker }
2117*3c7ae9deSAndroid Build Coastguard Worker
2118*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_stopped_return_properties mqtt5_on_stopped_return_properties;
2119*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_on_stopped_return(JNIEnv * env)2120*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_on_stopped_return(JNIEnv *env) {
2121*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/OnStoppedReturn");
2122*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2123*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_stopped_return_properties.return_class = (*env)->NewGlobalRef(env, cls);
2124*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_stopped_return_properties.return_class);
2125*3c7ae9deSAndroid Build Coastguard Worker // Functions
2126*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_stopped_return_properties.return_constructor_id =
2127*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_on_stopped_return_properties.return_class, "<init>", "()V");
2128*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_stopped_return_properties.return_constructor_id);
2129*3c7ae9deSAndroid Build Coastguard Worker }
2130*3c7ae9deSAndroid Build Coastguard Worker
2131*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_attempting_connect_return_properties mqtt5_on_attempting_connect_return_properties;
2132*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_on_attempting_connect_return(JNIEnv * env)2133*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_on_attempting_connect_return(JNIEnv *env) {
2134*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/OnAttemptingConnectReturn");
2135*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2136*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_attempting_connect_return_properties.return_class = (*env)->NewGlobalRef(env, cls);
2137*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_attempting_connect_return_properties.return_class);
2138*3c7ae9deSAndroid Build Coastguard Worker // Functions
2139*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_attempting_connect_return_properties.return_constructor_id =
2140*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, mqtt5_on_attempting_connect_return_properties.return_class, "<init>", "()V");
2141*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_attempting_connect_return_properties.return_constructor_id);
2142*3c7ae9deSAndroid Build Coastguard Worker }
2143*3c7ae9deSAndroid Build Coastguard Worker
2144*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_connection_success_return_properties mqtt5_on_connection_success_return_properties;
2145*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_on_connection_success_return(JNIEnv * env)2146*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_on_connection_success_return(JNIEnv *env) {
2147*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/OnConnectionSuccessReturn");
2148*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2149*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_connection_success_return_properties.return_class = (*env)->NewGlobalRef(env, cls);
2150*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_connection_success_return_properties.return_class);
2151*3c7ae9deSAndroid Build Coastguard Worker // Functions
2152*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_connection_success_return_properties.return_constructor_id = (*env)->GetMethodID(
2153*3c7ae9deSAndroid Build Coastguard Worker env,
2154*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_connection_success_return_properties.return_class,
2155*3c7ae9deSAndroid Build Coastguard Worker "<init>",
2156*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/mqtt5/packets/ConnAckPacket;Lsoftware/amazon/awssdk/crt/mqtt5/"
2157*3c7ae9deSAndroid Build Coastguard Worker "NegotiatedSettings;)V");
2158*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_connection_success_return_properties.return_constructor_id);
2159*3c7ae9deSAndroid Build Coastguard Worker }
2160*3c7ae9deSAndroid Build Coastguard Worker
2161*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_connection_failure_return_properties mqtt5_on_connection_failure_return_properties;
2162*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_on_connection_failure_return(JNIEnv * env)2163*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_on_connection_failure_return(JNIEnv *env) {
2164*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/OnConnectionFailureReturn");
2165*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2166*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_connection_failure_return_properties.return_class = (*env)->NewGlobalRef(env, cls);
2167*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_connection_failure_return_properties.return_class);
2168*3c7ae9deSAndroid Build Coastguard Worker // Functions
2169*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_connection_failure_return_properties.return_constructor_id = (*env)->GetMethodID(
2170*3c7ae9deSAndroid Build Coastguard Worker env,
2171*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_connection_failure_return_properties.return_class,
2172*3c7ae9deSAndroid Build Coastguard Worker "<init>",
2173*3c7ae9deSAndroid Build Coastguard Worker "(ILsoftware/amazon/awssdk/crt/mqtt5/packets/ConnAckPacket;)V");
2174*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_connection_failure_return_properties.return_constructor_id);
2175*3c7ae9deSAndroid Build Coastguard Worker }
2176*3c7ae9deSAndroid Build Coastguard Worker
2177*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_disconnection_return_properties mqtt5_on_disconnection_return_properties;
2178*3c7ae9deSAndroid Build Coastguard Worker
s_cache_mqtt5_on_disconnection_return(JNIEnv * env)2179*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_mqtt5_on_disconnection_return(JNIEnv *env) {
2180*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/mqtt5/OnDisconnectionReturn");
2181*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2182*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_disconnection_return_properties.return_class = (*env)->NewGlobalRef(env, cls);
2183*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_disconnection_return_properties.return_class);
2184*3c7ae9deSAndroid Build Coastguard Worker // Functions
2185*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_disconnection_return_properties.return_constructor_id = (*env)->GetMethodID(
2186*3c7ae9deSAndroid Build Coastguard Worker env,
2187*3c7ae9deSAndroid Build Coastguard Worker mqtt5_on_disconnection_return_properties.return_class,
2188*3c7ae9deSAndroid Build Coastguard Worker "<init>",
2189*3c7ae9deSAndroid Build Coastguard Worker "(ILsoftware/amazon/awssdk/crt/mqtt5/packets/DisconnectPacket;)V");
2190*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(mqtt5_on_disconnection_return_properties.return_constructor_id);
2191*3c7ae9deSAndroid Build Coastguard Worker }
2192*3c7ae9deSAndroid Build Coastguard Worker
2193*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_integer_properties boxed_integer_properties;
2194*3c7ae9deSAndroid Build Coastguard Worker
s_cache_boxed_integer(JNIEnv * env)2195*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_boxed_integer(JNIEnv *env) {
2196*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "java/lang/Integer");
2197*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2198*3c7ae9deSAndroid Build Coastguard Worker boxed_integer_properties.integer_class = (*env)->NewGlobalRef(env, cls);
2199*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_integer_properties.integer_class);
2200*3c7ae9deSAndroid Build Coastguard Worker // functions
2201*3c7ae9deSAndroid Build Coastguard Worker boxed_integer_properties.integer_constructor_id =
2202*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, boxed_integer_properties.integer_class, "<init>", "(I)V");
2203*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_integer_properties.integer_constructor_id);
2204*3c7ae9deSAndroid Build Coastguard Worker boxed_integer_properties.integer_get_value_id =
2205*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, boxed_integer_properties.integer_class, "intValue", "()I");
2206*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_integer_properties.integer_get_value_id);
2207*3c7ae9deSAndroid Build Coastguard Worker }
2208*3c7ae9deSAndroid Build Coastguard Worker
2209*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_boolean_properties boxed_boolean_properties;
2210*3c7ae9deSAndroid Build Coastguard Worker
s_cache_boxed_boolean(JNIEnv * env)2211*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_boxed_boolean(JNIEnv *env) {
2212*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "java/lang/Boolean");
2213*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2214*3c7ae9deSAndroid Build Coastguard Worker boxed_boolean_properties.boolean_class = (*env)->NewGlobalRef(env, cls);
2215*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_boolean_properties.boolean_class);
2216*3c7ae9deSAndroid Build Coastguard Worker // functions
2217*3c7ae9deSAndroid Build Coastguard Worker boxed_boolean_properties.boolean_constructor_id =
2218*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, boxed_boolean_properties.boolean_class, "<init>", "(Z)V");
2219*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_boolean_properties.boolean_constructor_id);
2220*3c7ae9deSAndroid Build Coastguard Worker boxed_boolean_properties.boolean_get_value_id =
2221*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, boxed_boolean_properties.boolean_class, "booleanValue", "()Z");
2222*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_boolean_properties.boolean_get_value_id);
2223*3c7ae9deSAndroid Build Coastguard Worker }
2224*3c7ae9deSAndroid Build Coastguard Worker
2225*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_list_properties boxed_list_properties;
2226*3c7ae9deSAndroid Build Coastguard Worker
s_cache_boxed_list(JNIEnv * env)2227*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_boxed_list(JNIEnv *env) {
2228*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "java/util/List");
2229*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2230*3c7ae9deSAndroid Build Coastguard Worker boxed_list_properties.list_class = (*env)->NewGlobalRef(env, cls);
2231*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_list_properties.list_class);
2232*3c7ae9deSAndroid Build Coastguard Worker // functions
2233*3c7ae9deSAndroid Build Coastguard Worker boxed_list_properties.list_size_id = (*env)->GetMethodID(env, boxed_list_properties.list_class, "size", "()I");
2234*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_list_properties.list_size_id);
2235*3c7ae9deSAndroid Build Coastguard Worker boxed_list_properties.list_get_id =
2236*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, boxed_list_properties.list_class, "get", "(I)Ljava/lang/Object;");
2237*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_list_properties.list_get_id);
2238*3c7ae9deSAndroid Build Coastguard Worker boxed_list_properties.list_add_id =
2239*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, boxed_list_properties.list_class, "add", "(Ljava/lang/Object;)Z");
2240*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_list_properties.list_add_id);
2241*3c7ae9deSAndroid Build Coastguard Worker }
2242*3c7ae9deSAndroid Build Coastguard Worker
2243*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_array_list_properties boxed_array_list_properties;
2244*3c7ae9deSAndroid Build Coastguard Worker
s_cache_boxed_array_list(JNIEnv * env)2245*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_boxed_array_list(JNIEnv *env) {
2246*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "java/util/ArrayList");
2247*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2248*3c7ae9deSAndroid Build Coastguard Worker boxed_array_list_properties.list_class = (*env)->NewGlobalRef(env, cls);
2249*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_array_list_properties.list_class);
2250*3c7ae9deSAndroid Build Coastguard Worker // functions
2251*3c7ae9deSAndroid Build Coastguard Worker boxed_array_list_properties.list_constructor_id =
2252*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetMethodID(env, boxed_array_list_properties.list_class, "<init>", "()V");
2253*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(boxed_array_list_properties.list_constructor_id);
2254*3c7ae9deSAndroid Build Coastguard Worker }
2255*3c7ae9deSAndroid Build Coastguard Worker
2256*3c7ae9deSAndroid Build Coastguard Worker struct java_s3express_credentials_provider_factory_properties s3express_credentials_provider_factory_properties;
2257*3c7ae9deSAndroid Build Coastguard Worker
s_cache_s3express_credentials_provider_factory_properties(JNIEnv * env)2258*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_s3express_credentials_provider_factory_properties(JNIEnv *env) {
2259*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/s3/S3ExpressCredentialsProviderFactory");
2260*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2261*3c7ae9deSAndroid Build Coastguard Worker
2262*3c7ae9deSAndroid Build Coastguard Worker s3express_credentials_provider_factory_properties.createS3ExpressCredentialsProvider = (*env)->GetMethodID(
2263*3c7ae9deSAndroid Build Coastguard Worker env,
2264*3c7ae9deSAndroid Build Coastguard Worker cls,
2265*3c7ae9deSAndroid Build Coastguard Worker "createS3ExpressCredentialsProvider",
2266*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/s3/S3Client;)Lsoftware/amazon/awssdk/crt/s3/S3ExpressCredentialsProvider;");
2267*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3express_credentials_provider_factory_properties.createS3ExpressCredentialsProvider);
2268*3c7ae9deSAndroid Build Coastguard Worker }
2269*3c7ae9deSAndroid Build Coastguard Worker
2270*3c7ae9deSAndroid Build Coastguard Worker struct java_s3express_credentials_properties_properties s3express_credentials_properties_properties;
2271*3c7ae9deSAndroid Build Coastguard Worker
s_cache_s3express_credentials_properties_properties(JNIEnv * env)2272*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_s3express_credentials_properties_properties(JNIEnv *env) {
2273*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/s3/S3ExpressCredentialsProperties");
2274*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2275*3c7ae9deSAndroid Build Coastguard Worker s3express_credentials_properties_properties.s3express_credentials_properties_class = (*env)->NewGlobalRef(env, cls);
2276*3c7ae9deSAndroid Build Coastguard Worker
2277*3c7ae9deSAndroid Build Coastguard Worker s3express_credentials_properties_properties.constructor_method_id = (*env)->GetMethodID(
2278*3c7ae9deSAndroid Build Coastguard Worker env, s3express_credentials_properties_properties.s3express_credentials_properties_class, "<init>", "()V");
2279*3c7ae9deSAndroid Build Coastguard Worker
2280*3c7ae9deSAndroid Build Coastguard Worker s3express_credentials_properties_properties.host_field_id =
2281*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "hostValue", "Ljava/lang/String;");
2282*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3express_credentials_properties_properties.host_field_id);
2283*3c7ae9deSAndroid Build Coastguard Worker
2284*3c7ae9deSAndroid Build Coastguard Worker s3express_credentials_properties_properties.region_field_id =
2285*3c7ae9deSAndroid Build Coastguard Worker (*env)->GetFieldID(env, cls, "region", "Ljava/lang/String;");
2286*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3express_credentials_properties_properties.region_field_id);
2287*3c7ae9deSAndroid Build Coastguard Worker }
2288*3c7ae9deSAndroid Build Coastguard Worker
2289*3c7ae9deSAndroid Build Coastguard Worker struct java_s3express_credentials_provider_properties s3express_credentials_provider_properties;
2290*3c7ae9deSAndroid Build Coastguard Worker
s_cache_s3express_credentials_provider_properties(JNIEnv * env)2291*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_s3express_credentials_provider_properties(JNIEnv *env) {
2292*3c7ae9deSAndroid Build Coastguard Worker jclass cls = (*env)->FindClass(env, "software/amazon/awssdk/crt/s3/S3ExpressCredentialsProvider");
2293*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(cls);
2294*3c7ae9deSAndroid Build Coastguard Worker
2295*3c7ae9deSAndroid Build Coastguard Worker s3express_credentials_provider_properties.getS3ExpressCredentials = (*env)->GetMethodID(
2296*3c7ae9deSAndroid Build Coastguard Worker env,
2297*3c7ae9deSAndroid Build Coastguard Worker cls,
2298*3c7ae9deSAndroid Build Coastguard Worker "getS3ExpressCredentials",
2299*3c7ae9deSAndroid Build Coastguard Worker "(Lsoftware/amazon/awssdk/crt/s3/S3ExpressCredentialsProperties;Lsoftware/amazon/awssdk/crt/auth/credentials/"
2300*3c7ae9deSAndroid Build Coastguard Worker "Credentials;J)V");
2301*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3express_credentials_provider_properties.getS3ExpressCredentials);
2302*3c7ae9deSAndroid Build Coastguard Worker
2303*3c7ae9deSAndroid Build Coastguard Worker s3express_credentials_provider_properties.destroyProvider = (*env)->GetMethodID(env, cls, "destroyProvider", "()V");
2304*3c7ae9deSAndroid Build Coastguard Worker AWS_FATAL_ASSERT(s3express_credentials_provider_properties.destroyProvider);
2305*3c7ae9deSAndroid Build Coastguard Worker }
2306*3c7ae9deSAndroid Build Coastguard Worker
s_cache_java_class_ids(void * user_data)2307*3c7ae9deSAndroid Build Coastguard Worker static void s_cache_java_class_ids(void *user_data) {
2308*3c7ae9deSAndroid Build Coastguard Worker JNIEnv *env = user_data;
2309*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_request_body_stream(env);
2310*3c7ae9deSAndroid Build Coastguard Worker s_cache_aws_signing_config(env);
2311*3c7ae9deSAndroid Build Coastguard Worker s_cache_predicate(env);
2312*3c7ae9deSAndroid Build Coastguard Worker s_cache_boxed_long(env);
2313*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_request(env);
2314*3c7ae9deSAndroid Build Coastguard Worker s_cache_crt_resource(env);
2315*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt_connection(env);
2316*3c7ae9deSAndroid Build Coastguard Worker s_cache_message_handler(env);
2317*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt_exception(env);
2318*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt_client_connection_operation_statistics(env);
2319*3c7ae9deSAndroid Build Coastguard Worker s_cache_byte_buffer(env);
2320*3c7ae9deSAndroid Build Coastguard Worker s_cache_credentials_provider(env);
2321*3c7ae9deSAndroid Build Coastguard Worker s_cache_credentials(env);
2322*3c7ae9deSAndroid Build Coastguard Worker s_cache_credentials_handler(env);
2323*3c7ae9deSAndroid Build Coastguard Worker s_cache_async_callback(env);
2324*3c7ae9deSAndroid Build Coastguard Worker s_cache_event_loop_group(env);
2325*3c7ae9deSAndroid Build Coastguard Worker s_cache_client_bootstrap(env);
2326*3c7ae9deSAndroid Build Coastguard Worker s_cache_tls_context_pkcs11_options(env);
2327*3c7ae9deSAndroid Build Coastguard Worker s_cache_tls_key_operation(env);
2328*3c7ae9deSAndroid Build Coastguard Worker s_cache_tls_context_custom_key_operation_options(env);
2329*3c7ae9deSAndroid Build Coastguard Worker s_cache_tls_key_operation_handler(env);
2330*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_client_connection_manager(env);
2331*3c7ae9deSAndroid Build Coastguard Worker s_cache_http2_stream_manager(env);
2332*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_client_connection(env);
2333*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_stream(env);
2334*3c7ae9deSAndroid Build Coastguard Worker s_cache_http2_stream(env);
2335*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_stream_response_handler_native_adapter(env);
2336*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_stream_write_chunk_completion_properties(env);
2337*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_stream_metrics_properties(env);
2338*3c7ae9deSAndroid Build Coastguard Worker s_cache_event_stream_server_listener_properties(env);
2339*3c7ae9deSAndroid Build Coastguard Worker s_cache_event_stream_server_listener_handler_properties(env);
2340*3c7ae9deSAndroid Build Coastguard Worker s_cache_event_stream_server_connection_handler_properties(env);
2341*3c7ae9deSAndroid Build Coastguard Worker s_cache_event_stream_server_continuation_handler_properties(env);
2342*3c7ae9deSAndroid Build Coastguard Worker s_cache_event_stream_client_connection_handler_properties(env);
2343*3c7ae9deSAndroid Build Coastguard Worker s_cache_event_stream_client_continuation_handler_properties(env);
2344*3c7ae9deSAndroid Build Coastguard Worker s_cache_event_stream_message_flush_properties(env);
2345*3c7ae9deSAndroid Build Coastguard Worker s_cache_cpu_info_properties(env);
2346*3c7ae9deSAndroid Build Coastguard Worker s_cache_s3_client_properties(env);
2347*3c7ae9deSAndroid Build Coastguard Worker s_cache_s3_meta_request_properties(env);
2348*3c7ae9deSAndroid Build Coastguard Worker s_cache_s3_meta_request_response_handler_native_adapter_properties(env);
2349*3c7ae9deSAndroid Build Coastguard Worker s_cache_completable_future(env);
2350*3c7ae9deSAndroid Build Coastguard Worker s_cache_crt_runtime_exception(env);
2351*3c7ae9deSAndroid Build Coastguard Worker s_cache_ecc_key_pair(env);
2352*3c7ae9deSAndroid Build Coastguard Worker s_cache_crt(env);
2353*3c7ae9deSAndroid Build Coastguard Worker s_cache_aws_signing_result(env);
2354*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_header(env);
2355*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_manager_metrics(env);
2356*3c7ae9deSAndroid Build Coastguard Worker s_cache_exponential_backoff_retry_options(env);
2357*3c7ae9deSAndroid Build Coastguard Worker s_cache_standard_retry_options(env);
2358*3c7ae9deSAndroid Build Coastguard Worker s_cache_directory_traversal_handler(env);
2359*3c7ae9deSAndroid Build Coastguard Worker s_cache_directory_entry(env);
2360*3c7ae9deSAndroid Build Coastguard Worker s_cache_s3_tcp_keep_alive_options(env);
2361*3c7ae9deSAndroid Build Coastguard Worker s_cache_s3_meta_request_progress(env);
2362*3c7ae9deSAndroid Build Coastguard Worker s_cache_s3_meta_request_resume_token(env);
2363*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_connack_packet(env);
2364*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_connect_packet(env);
2365*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_connect_reason_code(env);
2366*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_disconnect_packet(env);
2367*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_disconnect_reason_code(env);
2368*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_puback_packet(env);
2369*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_puback_reason_code(env);
2370*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_publish_packet(env);
2371*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_payload_format_indicator(env);
2372*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_negotiated_settings(env);
2373*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_proxy_options(env);
2374*3c7ae9deSAndroid Build Coastguard Worker s_cache_http_proxy_connection_type(env);
2375*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_client_options(env);
2376*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_client_properties(env);
2377*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_client_operation_statistics_properties(env);
2378*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_client_session_behavior(env);
2379*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_client_extended_validation_and_flow_control_options(env);
2380*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_client_offline_queue_behavior_type(env);
2381*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_client_jitter_mode(env);
2382*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_subscribe_packet(env);
2383*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_subscribe_subscription(env);
2384*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_packet_qos(env);
2385*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_retain_handling_type(env);
2386*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_suback_reason_code(env);
2387*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_suback_packet(env);
2388*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_unsubscribe_packet(env);
2389*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_unsuback_packet(env);
2390*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_unsuback_reason_code(env);
2391*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_user_property(env);
2392*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_publish_events_properties(env);
2393*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_lifecycle_events_properties(env);
2394*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_puback_result(env);
2395*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_publish_return(env);
2396*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_on_stopped_return(env);
2397*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_on_attempting_connect_return(env);
2398*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_on_connection_success_return(env);
2399*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_on_connection_failure_return(env);
2400*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_on_disconnection_return(env);
2401*3c7ae9deSAndroid Build Coastguard Worker s_cache_boxed_integer(env);
2402*3c7ae9deSAndroid Build Coastguard Worker s_cache_boxed_boolean(env);
2403*3c7ae9deSAndroid Build Coastguard Worker s_cache_boxed_list(env);
2404*3c7ae9deSAndroid Build Coastguard Worker s_cache_boxed_array_list(env);
2405*3c7ae9deSAndroid Build Coastguard Worker s_cache_s3express_credentials_provider_factory_properties(env);
2406*3c7ae9deSAndroid Build Coastguard Worker s_cache_s3express_credentials_properties_properties(env);
2407*3c7ae9deSAndroid Build Coastguard Worker s_cache_s3express_credentials_provider_properties(env);
2408*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_outbound_topic_alias_behavior_type(env);
2409*3c7ae9deSAndroid Build Coastguard Worker s_cache_mqtt5_inbound_topic_alias_behavior_type(env);
2410*3c7ae9deSAndroid Build Coastguard Worker s_cache_topic_aliasing_options(env);
2411*3c7ae9deSAndroid Build Coastguard Worker }
2412*3c7ae9deSAndroid Build Coastguard Worker
2413*3c7ae9deSAndroid Build Coastguard Worker static aws_thread_once s_cache_once_init = AWS_THREAD_ONCE_STATIC_INIT;
2414*3c7ae9deSAndroid Build Coastguard Worker
aws_cache_jni_ids(JNIEnv * env)2415*3c7ae9deSAndroid Build Coastguard Worker void aws_cache_jni_ids(JNIEnv *env) {
2416*3c7ae9deSAndroid Build Coastguard Worker aws_thread_call_once(&s_cache_once_init, s_cache_java_class_ids, (void *)env);
2417*3c7ae9deSAndroid Build Coastguard Worker }
2418