xref: /aosp_15_r20/external/aws-crt-java/src/native/java_class_ids.h (revision 3c7ae9de214676c52d19f01067dc1a404272dc11)
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 #ifndef AWS_JNI_CRT_JAVA_CLASS_IDS_H
7*3c7ae9deSAndroid Build Coastguard Worker #define AWS_JNI_CRT_JAVA_CLASS_IDS_H
8*3c7ae9deSAndroid Build Coastguard Worker 
9*3c7ae9deSAndroid Build Coastguard Worker #include <jni.h>
10*3c7ae9deSAndroid Build Coastguard Worker 
11*3c7ae9deSAndroid Build Coastguard Worker /* HttpRequestBodyStream */
12*3c7ae9deSAndroid Build Coastguard Worker struct java_http_request_body_stream_properties {
13*3c7ae9deSAndroid Build Coastguard Worker     jmethodID send_outgoing_body;
14*3c7ae9deSAndroid Build Coastguard Worker     jmethodID reset_position;
15*3c7ae9deSAndroid Build Coastguard Worker     jmethodID get_length;
16*3c7ae9deSAndroid Build Coastguard Worker };
17*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_request_body_stream_properties http_request_body_stream_properties;
18*3c7ae9deSAndroid Build Coastguard Worker 
19*3c7ae9deSAndroid Build Coastguard Worker /* AwsSigningConfig */
20*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_signing_config_properties {
21*3c7ae9deSAndroid Build Coastguard Worker     jclass aws_signing_config_class;
22*3c7ae9deSAndroid Build Coastguard Worker     jfieldID algorithm_field_id;
23*3c7ae9deSAndroid Build Coastguard Worker     jfieldID signature_type_field_id;
24*3c7ae9deSAndroid Build Coastguard Worker     jfieldID region_field_id;
25*3c7ae9deSAndroid Build Coastguard Worker     jfieldID service_field_id;
26*3c7ae9deSAndroid Build Coastguard Worker     jfieldID time_field_id;
27*3c7ae9deSAndroid Build Coastguard Worker     jfieldID credentials_field_id;
28*3c7ae9deSAndroid Build Coastguard Worker     jfieldID credentials_provider_field_id;
29*3c7ae9deSAndroid Build Coastguard Worker     jfieldID should_sign_header_field_id;
30*3c7ae9deSAndroid Build Coastguard Worker     jfieldID use_double_uri_encode_field_id;
31*3c7ae9deSAndroid Build Coastguard Worker     jfieldID should_normalize_uri_path_field_id;
32*3c7ae9deSAndroid Build Coastguard Worker     jfieldID omit_session_token_field_id;
33*3c7ae9deSAndroid Build Coastguard Worker     jfieldID signed_body_value_field_id;
34*3c7ae9deSAndroid Build Coastguard Worker     jfieldID signed_body_header_field_id;
35*3c7ae9deSAndroid Build Coastguard Worker     jfieldID expiration_in_seconds_field_id;
36*3c7ae9deSAndroid Build Coastguard Worker };
37*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_signing_config_properties aws_signing_config_properties;
38*3c7ae9deSAndroid Build Coastguard Worker 
39*3c7ae9deSAndroid Build Coastguard Worker /* Predicate<T> */
40*3c7ae9deSAndroid Build Coastguard Worker struct java_predicate_properties {
41*3c7ae9deSAndroid Build Coastguard Worker     jclass predicate_class;
42*3c7ae9deSAndroid Build Coastguard Worker     jmethodID test_method_id;
43*3c7ae9deSAndroid Build Coastguard Worker };
44*3c7ae9deSAndroid Build Coastguard Worker extern struct java_predicate_properties predicate_properties;
45*3c7ae9deSAndroid Build Coastguard Worker 
46*3c7ae9deSAndroid Build Coastguard Worker /* java/lang/Long */
47*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_long_properties {
48*3c7ae9deSAndroid Build Coastguard Worker     jclass long_class;
49*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor;
50*3c7ae9deSAndroid Build Coastguard Worker     jmethodID long_value_method_id;
51*3c7ae9deSAndroid Build Coastguard Worker };
52*3c7ae9deSAndroid Build Coastguard Worker extern struct java_boxed_long_properties boxed_long_properties;
53*3c7ae9deSAndroid Build Coastguard Worker 
54*3c7ae9deSAndroid Build Coastguard Worker /* HttpRequest */
55*3c7ae9deSAndroid Build Coastguard Worker struct java_http_request_properties {
56*3c7ae9deSAndroid Build Coastguard Worker     jclass http_request_class;
57*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor_method_id;
58*3c7ae9deSAndroid Build Coastguard Worker     jfieldID body_stream_field_id;
59*3c7ae9deSAndroid Build Coastguard Worker };
60*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_request_properties http_request_properties;
61*3c7ae9deSAndroid Build Coastguard Worker 
62*3c7ae9deSAndroid Build Coastguard Worker /* CrtResource */
63*3c7ae9deSAndroid Build Coastguard Worker struct java_crt_resource_properties {
64*3c7ae9deSAndroid Build Coastguard Worker     jmethodID get_native_handle_method_id;
65*3c7ae9deSAndroid Build Coastguard Worker     jmethodID release_references;
66*3c7ae9deSAndroid Build Coastguard Worker     jmethodID add_ref;
67*3c7ae9deSAndroid Build Coastguard Worker     jmethodID close;
68*3c7ae9deSAndroid Build Coastguard Worker };
69*3c7ae9deSAndroid Build Coastguard Worker extern struct java_crt_resource_properties crt_resource_properties;
70*3c7ae9deSAndroid Build Coastguard Worker 
71*3c7ae9deSAndroid Build Coastguard Worker /* MqttClientConnection */
72*3c7ae9deSAndroid Build Coastguard Worker struct java_mqtt_connection_properties {
73*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_connection_complete;
74*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_connection_interrupted;
75*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_connection_resumed;
76*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_connection_closed;
77*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_websocket_handshake;
78*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_connection_success;
79*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_connection_failure;
80*3c7ae9deSAndroid Build Coastguard Worker };
81*3c7ae9deSAndroid Build Coastguard Worker extern struct java_mqtt_connection_properties mqtt_connection_properties;
82*3c7ae9deSAndroid Build Coastguard Worker 
83*3c7ae9deSAndroid Build Coastguard Worker /* MqttClientConnection.MessageHandler */
84*3c7ae9deSAndroid Build Coastguard Worker struct java_message_handler_properties {
85*3c7ae9deSAndroid Build Coastguard Worker     jmethodID deliver;
86*3c7ae9deSAndroid Build Coastguard Worker };
87*3c7ae9deSAndroid Build Coastguard Worker extern struct java_message_handler_properties message_handler_properties;
88*3c7ae9deSAndroid Build Coastguard Worker 
89*3c7ae9deSAndroid Build Coastguard Worker /* MqttClientConnection.MqttClientOperationStatistics */
90*3c7ae9deSAndroid Build Coastguard Worker struct java_mqtt_connection_operation_statistics_properties {
91*3c7ae9deSAndroid Build Coastguard Worker     jclass statistics_class;
92*3c7ae9deSAndroid Build Coastguard Worker     jmethodID statistics_constructor_id;
93*3c7ae9deSAndroid Build Coastguard Worker     jfieldID incomplete_operation_count_field_id;
94*3c7ae9deSAndroid Build Coastguard Worker     jfieldID incomplete_operation_size_field_id;
95*3c7ae9deSAndroid Build Coastguard Worker     jfieldID unacked_operation_count_field_id;
96*3c7ae9deSAndroid Build Coastguard Worker     jfieldID unacked_operation_size_field_id;
97*3c7ae9deSAndroid Build Coastguard Worker };
98*3c7ae9deSAndroid Build Coastguard Worker extern struct java_mqtt_connection_operation_statistics_properties mqtt_connection_operation_statistics_properties;
99*3c7ae9deSAndroid Build Coastguard Worker 
100*3c7ae9deSAndroid Build Coastguard Worker /* MqttException */
101*3c7ae9deSAndroid Build Coastguard Worker struct java_mqtt_exception_properties {
102*3c7ae9deSAndroid Build Coastguard Worker     jclass jni_mqtt_exception;
103*3c7ae9deSAndroid Build Coastguard Worker     jmethodID jni_constructor;
104*3c7ae9deSAndroid Build Coastguard Worker };
105*3c7ae9deSAndroid Build Coastguard Worker extern struct java_mqtt_exception_properties mqtt_exception_properties;
106*3c7ae9deSAndroid Build Coastguard Worker 
107*3c7ae9deSAndroid Build Coastguard Worker /* ByteBuffer */
108*3c7ae9deSAndroid Build Coastguard Worker struct java_byte_buffer_properties {
109*3c7ae9deSAndroid Build Coastguard Worker     jclass cls;
110*3c7ae9deSAndroid Build Coastguard Worker     jmethodID get_capacity; /* The total number of bytes in the internal byte array. Stays constant. */
111*3c7ae9deSAndroid Build Coastguard Worker     jmethodID get_limit;    /* The max allowed read/write position of the Buffer. limit must be <= capacity. */
112*3c7ae9deSAndroid Build Coastguard Worker     jmethodID set_limit;
113*3c7ae9deSAndroid Build Coastguard Worker     jmethodID get_position; /* The current read/write position of the Buffer. position must be <= limit */
114*3c7ae9deSAndroid Build Coastguard Worker     jmethodID set_position;
115*3c7ae9deSAndroid Build Coastguard Worker     jmethodID get_remaining; /* Remaining number of bytes before the limit is reached. Equal to (limit - position). */
116*3c7ae9deSAndroid Build Coastguard Worker     jmethodID wrap;          /* Creates a new ByteBuffer Object from a Java byte[]. */
117*3c7ae9deSAndroid Build Coastguard Worker };
118*3c7ae9deSAndroid Build Coastguard Worker extern struct java_byte_buffer_properties byte_buffer_properties;
119*3c7ae9deSAndroid Build Coastguard Worker 
120*3c7ae9deSAndroid Build Coastguard Worker /* CredentialsProvider */
121*3c7ae9deSAndroid Build Coastguard Worker struct java_credentials_provider_properties {
122*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_shutdown_complete_method_id;
123*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_get_credentials_complete_method_id;
124*3c7ae9deSAndroid Build Coastguard Worker };
125*3c7ae9deSAndroid Build Coastguard Worker extern struct java_credentials_provider_properties credentials_provider_properties;
126*3c7ae9deSAndroid Build Coastguard Worker 
127*3c7ae9deSAndroid Build Coastguard Worker /* Credentials */
128*3c7ae9deSAndroid Build Coastguard Worker struct java_credentials_properties {
129*3c7ae9deSAndroid Build Coastguard Worker     jclass credentials_class;
130*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor_method_id;
131*3c7ae9deSAndroid Build Coastguard Worker     jfieldID access_key_id_field_id;
132*3c7ae9deSAndroid Build Coastguard Worker     jfieldID secret_access_key_field_id;
133*3c7ae9deSAndroid Build Coastguard Worker     jfieldID session_token_field_id;
134*3c7ae9deSAndroid Build Coastguard Worker     jfieldID expiration_field_id;
135*3c7ae9deSAndroid Build Coastguard Worker };
136*3c7ae9deSAndroid Build Coastguard Worker extern struct java_credentials_properties credentials_properties;
137*3c7ae9deSAndroid Build Coastguard Worker 
138*3c7ae9deSAndroid Build Coastguard Worker /* DelegateCredentialsHandler */
139*3c7ae9deSAndroid Build Coastguard Worker struct java_credentials_handler_properties {
140*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_handler_get_credentials_method_id;
141*3c7ae9deSAndroid Build Coastguard Worker };
142*3c7ae9deSAndroid Build Coastguard Worker extern struct java_credentials_handler_properties credentials_handler_properties;
143*3c7ae9deSAndroid Build Coastguard Worker 
144*3c7ae9deSAndroid Build Coastguard Worker /* AsyncCallback */
145*3c7ae9deSAndroid Build Coastguard Worker struct java_async_callback_properties {
146*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_success_with_object;
147*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_success;
148*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_failure;
149*3c7ae9deSAndroid Build Coastguard Worker };
150*3c7ae9deSAndroid Build Coastguard Worker extern struct java_async_callback_properties async_callback_properties;
151*3c7ae9deSAndroid Build Coastguard Worker 
152*3c7ae9deSAndroid Build Coastguard Worker /* EventLoopGroup */
153*3c7ae9deSAndroid Build Coastguard Worker struct java_event_loop_group_properties {
154*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onCleanupComplete;
155*3c7ae9deSAndroid Build Coastguard Worker };
156*3c7ae9deSAndroid Build Coastguard Worker extern struct java_event_loop_group_properties event_loop_group_properties;
157*3c7ae9deSAndroid Build Coastguard Worker 
158*3c7ae9deSAndroid Build Coastguard Worker /* ClientBootstrap */
159*3c7ae9deSAndroid Build Coastguard Worker struct java_client_bootstrap_properties {
160*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onShutdownComplete;
161*3c7ae9deSAndroid Build Coastguard Worker };
162*3c7ae9deSAndroid Build Coastguard Worker extern struct java_client_bootstrap_properties client_bootstrap_properties;
163*3c7ae9deSAndroid Build Coastguard Worker 
164*3c7ae9deSAndroid Build Coastguard Worker /* TlsContextPkcs11Options */
165*3c7ae9deSAndroid Build Coastguard Worker struct java_tls_context_pkcs11_options_properties {
166*3c7ae9deSAndroid Build Coastguard Worker     jfieldID pkcs11Lib;
167*3c7ae9deSAndroid Build Coastguard Worker     jfieldID userPin;
168*3c7ae9deSAndroid Build Coastguard Worker     jfieldID slotId;
169*3c7ae9deSAndroid Build Coastguard Worker     jfieldID tokenLabel;
170*3c7ae9deSAndroid Build Coastguard Worker     jfieldID privateKeyObjectLabel;
171*3c7ae9deSAndroid Build Coastguard Worker     jfieldID certificateFilePath;
172*3c7ae9deSAndroid Build Coastguard Worker     jfieldID certificateFileContents;
173*3c7ae9deSAndroid Build Coastguard Worker };
174*3c7ae9deSAndroid Build Coastguard Worker extern struct java_tls_context_pkcs11_options_properties tls_context_pkcs11_options_properties;
175*3c7ae9deSAndroid Build Coastguard Worker 
176*3c7ae9deSAndroid Build Coastguard Worker /* TlsContextCustomKeyOperationOptions */
177*3c7ae9deSAndroid Build Coastguard Worker struct java_tls_context_custom_key_operation_options_properties {
178*3c7ae9deSAndroid Build Coastguard Worker     jfieldID operation_handler_field_id;
179*3c7ae9deSAndroid Build Coastguard Worker     jfieldID certificate_file_path_field_id;
180*3c7ae9deSAndroid Build Coastguard Worker     jfieldID certificate_file_contents_field_id;
181*3c7ae9deSAndroid Build Coastguard Worker };
182*3c7ae9deSAndroid Build Coastguard Worker extern struct java_tls_context_custom_key_operation_options_properties
183*3c7ae9deSAndroid Build Coastguard Worker     tls_context_custom_key_operation_options_properties;
184*3c7ae9deSAndroid Build Coastguard Worker 
185*3c7ae9deSAndroid Build Coastguard Worker /* TlsKeyOperationHandler */
186*3c7ae9deSAndroid Build Coastguard Worker struct java_tls_key_operation_handler_properties {
187*3c7ae9deSAndroid Build Coastguard Worker     jmethodID perform_operation_id;
188*3c7ae9deSAndroid Build Coastguard Worker };
189*3c7ae9deSAndroid Build Coastguard Worker extern struct java_tls_key_operation_handler_properties tls_key_operation_handler_properties;
190*3c7ae9deSAndroid Build Coastguard Worker 
191*3c7ae9deSAndroid Build Coastguard Worker /* TlsKeyOperation */
192*3c7ae9deSAndroid Build Coastguard Worker struct java_tls_key_operation_properties {
193*3c7ae9deSAndroid Build Coastguard Worker     jclass cls;
194*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor;
195*3c7ae9deSAndroid Build Coastguard Worker     jmethodID invoke_operation_id;
196*3c7ae9deSAndroid Build Coastguard Worker };
197*3c7ae9deSAndroid Build Coastguard Worker extern struct java_tls_key_operation_properties tls_key_operation_properties;
198*3c7ae9deSAndroid Build Coastguard Worker 
199*3c7ae9deSAndroid Build Coastguard Worker /* HttpClientConnectionManager */
200*3c7ae9deSAndroid Build Coastguard Worker struct java_http_client_connection_manager_properties {
201*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onShutdownComplete;
202*3c7ae9deSAndroid Build Coastguard Worker };
203*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_client_connection_manager_properties http_client_connection_manager_properties;
204*3c7ae9deSAndroid Build Coastguard Worker 
205*3c7ae9deSAndroid Build Coastguard Worker /* Http2StreamManager */
206*3c7ae9deSAndroid Build Coastguard Worker struct java_http2_stream_manager_properties {
207*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onShutdownComplete;
208*3c7ae9deSAndroid Build Coastguard Worker };
209*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http2_stream_manager_properties http2_stream_manager_properties;
210*3c7ae9deSAndroid Build Coastguard Worker 
211*3c7ae9deSAndroid Build Coastguard Worker /* HttpClientConnection */
212*3c7ae9deSAndroid Build Coastguard Worker struct java_http_client_connection_properties {
213*3c7ae9deSAndroid Build Coastguard Worker     jclass http_client_connection_class;
214*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_connection_acquired_method_id;
215*3c7ae9deSAndroid Build Coastguard Worker };
216*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_client_connection_properties http_client_connection_properties;
217*3c7ae9deSAndroid Build Coastguard Worker 
218*3c7ae9deSAndroid Build Coastguard Worker /* HttpStream */
219*3c7ae9deSAndroid Build Coastguard Worker struct java_http_stream_properties {
220*3c7ae9deSAndroid Build Coastguard Worker     jclass stream_class;
221*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor;
222*3c7ae9deSAndroid Build Coastguard Worker     jmethodID close;
223*3c7ae9deSAndroid Build Coastguard Worker };
224*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_stream_properties http_stream_properties;
225*3c7ae9deSAndroid Build Coastguard Worker 
226*3c7ae9deSAndroid Build Coastguard Worker /* Http2Stream */
227*3c7ae9deSAndroid Build Coastguard Worker struct java_http2_stream_properties {
228*3c7ae9deSAndroid Build Coastguard Worker     jclass stream_class;
229*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor;
230*3c7ae9deSAndroid Build Coastguard Worker };
231*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http2_stream_properties http2_stream_properties;
232*3c7ae9deSAndroid Build Coastguard Worker 
233*3c7ae9deSAndroid Build Coastguard Worker /* HttpStreamResponseHandler */
234*3c7ae9deSAndroid Build Coastguard Worker struct java_http_stream_response_handler_native_adapter_properties {
235*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onResponseHeaders;
236*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onResponseHeadersDone;
237*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onResponseBody;
238*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onResponseComplete;
239*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onMetrics;
240*3c7ae9deSAndroid Build Coastguard Worker };
241*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_stream_response_handler_native_adapter_properties http_stream_response_handler_properties;
242*3c7ae9deSAndroid Build Coastguard Worker 
243*3c7ae9deSAndroid Build Coastguard Worker /* HttpStreamWriteChunkCompletionCallback */
244*3c7ae9deSAndroid Build Coastguard Worker struct java_http_stream_write_chunk_completion_properties {
245*3c7ae9deSAndroid Build Coastguard Worker     jmethodID callback;
246*3c7ae9deSAndroid Build Coastguard Worker };
247*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_stream_write_chunk_completion_properties http_stream_write_chunk_completion_properties;
248*3c7ae9deSAndroid Build Coastguard Worker 
249*3c7ae9deSAndroid Build Coastguard Worker /* HtppStreamMetrics */
250*3c7ae9deSAndroid Build Coastguard Worker struct java_http_stream_metrics_properties {
251*3c7ae9deSAndroid Build Coastguard Worker     jclass http_stream_metrics_class;
252*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor_id;
253*3c7ae9deSAndroid Build Coastguard Worker };
254*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_stream_metrics_properties http_stream_metrics_properties;
255*3c7ae9deSAndroid Build Coastguard Worker 
256*3c7ae9deSAndroid Build Coastguard Worker /* EventStreamServerListener */
257*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_server_listener_properties {
258*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onShutdownComplete;
259*3c7ae9deSAndroid Build Coastguard Worker };
260*3c7ae9deSAndroid Build Coastguard Worker extern struct java_event_stream_server_listener_properties event_stream_server_listener_properties;
261*3c7ae9deSAndroid Build Coastguard Worker 
262*3c7ae9deSAndroid Build Coastguard Worker /* EventStreamServerListenerHandler */
263*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_server_listener_handler_properties {
264*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onNewConnection;
265*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onConnectionShutdown;
266*3c7ae9deSAndroid Build Coastguard Worker     jmethodID newConnConstructor;
267*3c7ae9deSAndroid Build Coastguard Worker     jclass connCls;
268*3c7ae9deSAndroid Build Coastguard Worker };
269*3c7ae9deSAndroid Build Coastguard Worker extern struct java_event_stream_server_listener_handler_properties event_stream_server_listener_handler_properties;
270*3c7ae9deSAndroid Build Coastguard Worker 
271*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_server_connection_handler_properties {
272*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onProtocolMessage;
273*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onIncomingStream;
274*3c7ae9deSAndroid Build Coastguard Worker     jmethodID newContinuationConstructor;
275*3c7ae9deSAndroid Build Coastguard Worker     jclass continuationCls;
276*3c7ae9deSAndroid Build Coastguard Worker };
277*3c7ae9deSAndroid Build Coastguard Worker extern struct java_event_stream_server_connection_handler_properties event_stream_server_connection_handler_properties;
278*3c7ae9deSAndroid Build Coastguard Worker 
279*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_server_continuation_handler_properties {
280*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onContinuationMessage;
281*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onContinuationClosed;
282*3c7ae9deSAndroid Build Coastguard Worker };
283*3c7ae9deSAndroid Build Coastguard Worker extern struct java_event_stream_server_continuation_handler_properties
284*3c7ae9deSAndroid Build Coastguard Worker     event_stream_server_continuation_handler_properties;
285*3c7ae9deSAndroid Build Coastguard Worker 
286*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_client_connection_handler_properties {
287*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onSetup;
288*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onProtocolMessage;
289*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onClosed;
290*3c7ae9deSAndroid Build Coastguard Worker };
291*3c7ae9deSAndroid Build Coastguard Worker extern struct java_event_stream_client_connection_handler_properties event_stream_client_connection_handler_properties;
292*3c7ae9deSAndroid Build Coastguard Worker 
293*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_client_continuation_handler_properties {
294*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onContinuationMessage;
295*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onContinuationClosed;
296*3c7ae9deSAndroid Build Coastguard Worker };
297*3c7ae9deSAndroid Build Coastguard Worker extern struct java_event_stream_client_continuation_handler_properties
298*3c7ae9deSAndroid Build Coastguard Worker     event_stream_client_continuation_handler_properties;
299*3c7ae9deSAndroid Build Coastguard Worker 
300*3c7ae9deSAndroid Build Coastguard Worker struct java_event_stream_message_flush_properties {
301*3c7ae9deSAndroid Build Coastguard Worker     jmethodID callback;
302*3c7ae9deSAndroid Build Coastguard Worker };
303*3c7ae9deSAndroid Build Coastguard Worker extern struct java_event_stream_message_flush_properties event_stream_server_message_flush_properties;
304*3c7ae9deSAndroid Build Coastguard Worker 
305*3c7ae9deSAndroid Build Coastguard Worker struct java_cpu_info_properties {
306*3c7ae9deSAndroid Build Coastguard Worker     jclass cpu_info_class;
307*3c7ae9deSAndroid Build Coastguard Worker     jmethodID cpu_info_constructor;
308*3c7ae9deSAndroid Build Coastguard Worker };
309*3c7ae9deSAndroid Build Coastguard Worker extern struct java_cpu_info_properties cpu_info_properties;
310*3c7ae9deSAndroid Build Coastguard Worker 
311*3c7ae9deSAndroid Build Coastguard Worker struct java_s3_client_properties {
312*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onShutdownComplete;
313*3c7ae9deSAndroid Build Coastguard Worker };
314*3c7ae9deSAndroid Build Coastguard Worker extern struct java_s3_client_properties s3_client_properties;
315*3c7ae9deSAndroid Build Coastguard Worker 
316*3c7ae9deSAndroid Build Coastguard Worker /* S3Client */
317*3c7ae9deSAndroid Build Coastguard Worker struct java_s3_meta_request_properties {
318*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onShutdownComplete;
319*3c7ae9deSAndroid Build Coastguard Worker };
320*3c7ae9deSAndroid Build Coastguard Worker extern struct java_s3_meta_request_properties s3_meta_request_properties;
321*3c7ae9deSAndroid Build Coastguard Worker 
322*3c7ae9deSAndroid Build Coastguard Worker /* S3MetaRequestResponseHandlerNativeAdapter */
323*3c7ae9deSAndroid Build Coastguard Worker struct java_s3_meta_request_response_handler_native_adapter_properties {
324*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onResponseBody;
325*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onFinished;
326*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onResponseHeaders;
327*3c7ae9deSAndroid Build Coastguard Worker     jmethodID onProgress;
328*3c7ae9deSAndroid Build Coastguard Worker };
329*3c7ae9deSAndroid Build Coastguard Worker extern struct java_s3_meta_request_response_handler_native_adapter_properties
330*3c7ae9deSAndroid Build Coastguard Worker     s3_meta_request_response_handler_native_adapter_properties;
331*3c7ae9deSAndroid Build Coastguard Worker 
332*3c7ae9deSAndroid Build Coastguard Worker /* CompletableFuture */
333*3c7ae9deSAndroid Build Coastguard Worker struct java_completable_future_properties {
334*3c7ae9deSAndroid Build Coastguard Worker     jmethodID complete_method_id;
335*3c7ae9deSAndroid Build Coastguard Worker     jmethodID complete_exceptionally_method_id;
336*3c7ae9deSAndroid Build Coastguard Worker };
337*3c7ae9deSAndroid Build Coastguard Worker 
338*3c7ae9deSAndroid Build Coastguard Worker extern struct java_completable_future_properties completable_future_properties;
339*3c7ae9deSAndroid Build Coastguard Worker 
340*3c7ae9deSAndroid Build Coastguard Worker /* CrtRuntimeException */
341*3c7ae9deSAndroid Build Coastguard Worker struct java_crt_runtime_exception_properties {
342*3c7ae9deSAndroid Build Coastguard Worker     jclass crt_runtime_exception_class;
343*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor_method_id;
344*3c7ae9deSAndroid Build Coastguard Worker     jfieldID error_code_field_id;
345*3c7ae9deSAndroid Build Coastguard Worker };
346*3c7ae9deSAndroid Build Coastguard Worker extern struct java_crt_runtime_exception_properties crt_runtime_exception_properties;
347*3c7ae9deSAndroid Build Coastguard Worker 
348*3c7ae9deSAndroid Build Coastguard Worker /* EccKeyPair */
349*3c7ae9deSAndroid Build Coastguard Worker struct java_ecc_key_pair_properties {
350*3c7ae9deSAndroid Build Coastguard Worker     jclass ecc_key_pair_class;
351*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor;
352*3c7ae9deSAndroid Build Coastguard Worker };
353*3c7ae9deSAndroid Build Coastguard Worker extern struct java_ecc_key_pair_properties ecc_key_pair_properties;
354*3c7ae9deSAndroid Build Coastguard Worker 
355*3c7ae9deSAndroid Build Coastguard Worker /* CRT */
356*3c7ae9deSAndroid Build Coastguard Worker struct java_crt_properties {
357*3c7ae9deSAndroid Build Coastguard Worker     jclass crt_class;
358*3c7ae9deSAndroid Build Coastguard Worker     jmethodID test_jni_exception_method_id;
359*3c7ae9deSAndroid Build Coastguard Worker };
360*3c7ae9deSAndroid Build Coastguard Worker extern struct java_crt_properties crt_properties;
361*3c7ae9deSAndroid Build Coastguard Worker 
362*3c7ae9deSAndroid Build Coastguard Worker /* AwsSigningResult */
363*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_signing_result_properties {
364*3c7ae9deSAndroid Build Coastguard Worker     jclass aws_signing_result_class;
365*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor;
366*3c7ae9deSAndroid Build Coastguard Worker     jfieldID signed_request_field_id;
367*3c7ae9deSAndroid Build Coastguard Worker     jfieldID signature_field_id;
368*3c7ae9deSAndroid Build Coastguard Worker };
369*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_signing_result_properties aws_signing_result_properties;
370*3c7ae9deSAndroid Build Coastguard Worker 
371*3c7ae9deSAndroid Build Coastguard Worker /* HttpHeader */
372*3c7ae9deSAndroid Build Coastguard Worker struct java_http_header_properties {
373*3c7ae9deSAndroid Build Coastguard Worker     jclass http_header_class;
374*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor_method_id; /* (byte[], byte[]) */
375*3c7ae9deSAndroid Build Coastguard Worker };
376*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_header_properties http_header_properties;
377*3c7ae9deSAndroid Build Coastguard Worker 
378*3c7ae9deSAndroid Build Coastguard Worker /* HtppConnectionManagerMetrics */
379*3c7ae9deSAndroid Build Coastguard Worker struct java_http_manager_metrics_properties {
380*3c7ae9deSAndroid Build Coastguard Worker     jclass http_manager_metrics_class;
381*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor_method_id;
382*3c7ae9deSAndroid Build Coastguard Worker };
383*3c7ae9deSAndroid Build Coastguard Worker extern struct java_http_manager_metrics_properties http_manager_metrics_properties;
384*3c7ae9deSAndroid Build Coastguard Worker 
385*3c7ae9deSAndroid Build Coastguard Worker /* ExponentialBackoffRetryOptions */
386*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_exponential_backoff_retry_options_properties {
387*3c7ae9deSAndroid Build Coastguard Worker     jclass exponential_backoff_retry_options_class;
388*3c7ae9deSAndroid Build Coastguard Worker     jmethodID exponential_backoff_retry_options_constructor_method_id;
389*3c7ae9deSAndroid Build Coastguard Worker     jfieldID el_group_field_id;
390*3c7ae9deSAndroid Build Coastguard Worker     jfieldID max_retries_field_id;
391*3c7ae9deSAndroid Build Coastguard Worker     jfieldID backoff_scale_factor_ms_field_id;
392*3c7ae9deSAndroid Build Coastguard Worker     jfieldID jitter_mode_field_id;
393*3c7ae9deSAndroid Build Coastguard Worker 
394*3c7ae9deSAndroid Build Coastguard Worker     jclass jitter_mode_class;
395*3c7ae9deSAndroid Build Coastguard Worker     jfieldID jitter_mode_value_field_id;
396*3c7ae9deSAndroid Build Coastguard Worker };
397*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_exponential_backoff_retry_options_properties exponential_backoff_retry_options_properties;
398*3c7ae9deSAndroid Build Coastguard Worker 
399*3c7ae9deSAndroid Build Coastguard Worker /* StandardRetryOptions */
400*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_standard_retry_options_properties {
401*3c7ae9deSAndroid Build Coastguard Worker     jclass standard_retry_options_class;
402*3c7ae9deSAndroid Build Coastguard Worker     jmethodID standard_retry_options_constructor_method_id;
403*3c7ae9deSAndroid Build Coastguard Worker     jfieldID backoff_retry_options_field_id;
404*3c7ae9deSAndroid Build Coastguard Worker     jfieldID initial_bucket_capacity_field_id;
405*3c7ae9deSAndroid Build Coastguard Worker };
406*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_standard_retry_options_properties standard_retry_options_properties;
407*3c7ae9deSAndroid Build Coastguard Worker 
408*3c7ae9deSAndroid Build Coastguard Worker /* DirectoryTraversalHandler */
409*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_directory_traversal_handler_properties {
410*3c7ae9deSAndroid Build Coastguard Worker     jclass directory_traversal_handler_class;
411*3c7ae9deSAndroid Build Coastguard Worker     jmethodID on_directory_entry_method_id;
412*3c7ae9deSAndroid Build Coastguard Worker };
413*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_directory_traversal_handler_properties directory_traversal_handler_properties;
414*3c7ae9deSAndroid Build Coastguard Worker 
415*3c7ae9deSAndroid Build Coastguard Worker /* DirectoryEntry */
416*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_directory_entry_properties {
417*3c7ae9deSAndroid Build Coastguard Worker     jclass directory_entry_class;
418*3c7ae9deSAndroid Build Coastguard Worker     jmethodID directory_entry_constructor_method_id;
419*3c7ae9deSAndroid Build Coastguard Worker     jfieldID path_field_id;
420*3c7ae9deSAndroid Build Coastguard Worker     jfieldID relative_path_field_id;
421*3c7ae9deSAndroid Build Coastguard Worker     jfieldID is_directory_field_id;
422*3c7ae9deSAndroid Build Coastguard Worker     jfieldID is_symlink_field_id;
423*3c7ae9deSAndroid Build Coastguard Worker     jfieldID is_file_field_id;
424*3c7ae9deSAndroid Build Coastguard Worker     jfieldID file_size_field_id;
425*3c7ae9deSAndroid Build Coastguard Worker };
426*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_directory_entry_properties directory_entry_properties;
427*3c7ae9deSAndroid Build Coastguard Worker 
428*3c7ae9deSAndroid Build Coastguard Worker /* S3MetaRequestProgress */
429*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_s3_meta_request_progress {
430*3c7ae9deSAndroid Build Coastguard Worker     jclass s3_meta_request_progress_class;
431*3c7ae9deSAndroid Build Coastguard Worker     jmethodID s3_meta_request_progress_constructor_method_id;
432*3c7ae9deSAndroid Build Coastguard Worker     jfieldID bytes_transferred_field_id;
433*3c7ae9deSAndroid Build Coastguard Worker     jfieldID content_length_field_id;
434*3c7ae9deSAndroid Build Coastguard Worker };
435*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_s3_meta_request_progress s3_meta_request_progress_properties;
436*3c7ae9deSAndroid Build Coastguard Worker 
437*3c7ae9deSAndroid Build Coastguard Worker /* S3TcpKeepAliveOptions */
438*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_s3_tcp_keep_alive_options_properties {
439*3c7ae9deSAndroid Build Coastguard Worker     jclass s3_tcp_keep_alive_options_class;
440*3c7ae9deSAndroid Build Coastguard Worker     jmethodID s3_tcp_keep_alive_options_constructor_method_id;
441*3c7ae9deSAndroid Build Coastguard Worker     jfieldID keep_alive_interval_sec_field_id;
442*3c7ae9deSAndroid Build Coastguard Worker     jfieldID keep_alive_timeout_sec_field_id;
443*3c7ae9deSAndroid Build Coastguard Worker     jfieldID keep_alive_max_failed_probes_field_id;
444*3c7ae9deSAndroid Build Coastguard Worker };
445*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_s3_tcp_keep_alive_options_properties s3_tcp_keep_alive_options_properties;
446*3c7ae9deSAndroid Build Coastguard Worker 
447*3c7ae9deSAndroid Build Coastguard Worker /* ResumeToken */
448*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_s3_meta_request_resume_token {
449*3c7ae9deSAndroid Build Coastguard Worker     jclass s3_meta_request_resume_token_class;
450*3c7ae9deSAndroid Build Coastguard Worker     jmethodID s3_meta_request_resume_token_constructor_method_id;
451*3c7ae9deSAndroid Build Coastguard Worker     jfieldID native_type_field_id;
452*3c7ae9deSAndroid Build Coastguard Worker     jfieldID part_size_field_id;
453*3c7ae9deSAndroid Build Coastguard Worker     jfieldID total_num_parts_field_id;
454*3c7ae9deSAndroid Build Coastguard Worker     jfieldID num_parts_completed_field_id;
455*3c7ae9deSAndroid Build Coastguard Worker     jfieldID upload_id_field_id;
456*3c7ae9deSAndroid Build Coastguard Worker };
457*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_s3_meta_request_resume_token s3_meta_request_resume_token_properties;
458*3c7ae9deSAndroid Build Coastguard Worker 
459*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.ConnAckPacket */
460*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_connack_packet_properties {
461*3c7ae9deSAndroid Build Coastguard Worker     jclass connack_packet_class;
462*3c7ae9deSAndroid Build Coastguard Worker 
463*3c7ae9deSAndroid Build Coastguard Worker     jmethodID connack_constructor_id;
464*3c7ae9deSAndroid Build Coastguard Worker     jmethodID connack_native_add_maximum_qos_id;
465*3c7ae9deSAndroid Build Coastguard Worker     jmethodID connack_native_add_reason_code_id;
466*3c7ae9deSAndroid Build Coastguard Worker 
467*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_session_present_field_id;
468*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_reason_code_field_id;
469*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_session_expiry_interval_field_id;
470*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_receive_maximum_field_id;
471*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_maximum_qos_field_id;
472*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_retain_available_field_id;
473*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_maximum_packet_size_field_id;
474*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_assigned_client_identifier_field_id;
475*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_topic_alias_maximum_field_id;
476*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_reason_string_field_id;
477*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_wildcard_subscriptions_available_field_id;
478*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_subscription_identifiers_available_field_id;
479*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_shared_subscriptions_available_field_id;
480*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_server_keep_alive_field_id;
481*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_response_information_field_id;
482*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_server_reference_field_id;
483*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_user_properties_field_id;
484*3c7ae9deSAndroid Build Coastguard Worker };
485*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_connack_packet_properties mqtt5_connack_packet_properties;
486*3c7ae9deSAndroid Build Coastguard Worker 
487*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.ConnAckPacket.ConnectReasonCode */
488*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_connect_reason_code_properties {
489*3c7ae9deSAndroid Build Coastguard Worker     jclass reason_code_class;
490*3c7ae9deSAndroid Build Coastguard Worker     jmethodID code_get_value_id;
491*3c7ae9deSAndroid Build Coastguard Worker     jmethodID code_s_get_enum_value_from_integer_id;
492*3c7ae9deSAndroid Build Coastguard Worker };
493*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_connect_reason_code_properties mqtt5_connect_reason_code_properties;
494*3c7ae9deSAndroid Build Coastguard Worker 
495*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.PacketConnnect */
496*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_connect_packet_properties {
497*3c7ae9deSAndroid Build Coastguard Worker     jclass connect_packet_class;
498*3c7ae9deSAndroid Build Coastguard Worker 
499*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_keep_alive_interval_seconds_field_id;
500*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_client_id_field_id;
501*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_username_field_id;
502*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_password_field_id;
503*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_session_expiry_interval_seconds_field_id;
504*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_request_response_information_field_id;
505*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_request_problem_information_field_id;
506*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_receive_maximum_field_id;
507*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_maximum_packet_size_bytes_field_id;
508*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_will_delay_interval_seconds_field_id;
509*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_will_field_id;
510*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connect_user_properties_field_id;
511*3c7ae9deSAndroid Build Coastguard Worker };
512*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_connect_packet_properties mqtt5_connect_packet_properties;
513*3c7ae9deSAndroid Build Coastguard Worker 
514*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.PacketDisconnnect */
515*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_disconnect_packet_properties {
516*3c7ae9deSAndroid Build Coastguard Worker     jclass disconnect_packet_class;
517*3c7ae9deSAndroid Build Coastguard Worker 
518*3c7ae9deSAndroid Build Coastguard Worker     jmethodID disconnect_constructor_id;
519*3c7ae9deSAndroid Build Coastguard Worker     jmethodID disconnect_native_add_disconnect_reason_code_id;
520*3c7ae9deSAndroid Build Coastguard Worker     jmethodID disconnect_get_reason_code_id;
521*3c7ae9deSAndroid Build Coastguard Worker 
522*3c7ae9deSAndroid Build Coastguard Worker     jfieldID disconnect_reason_code_field_id;
523*3c7ae9deSAndroid Build Coastguard Worker     jfieldID disconnect_session_expiry_interval_seconds_field_id;
524*3c7ae9deSAndroid Build Coastguard Worker     jfieldID disconnect_reason_string_field_id;
525*3c7ae9deSAndroid Build Coastguard Worker     jfieldID disconnect_session_server_reference_field_id;
526*3c7ae9deSAndroid Build Coastguard Worker     jfieldID disconnect_user_properties_field_id;
527*3c7ae9deSAndroid Build Coastguard Worker };
528*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_disconnect_packet_properties mqtt5_disconnect_packet_properties;
529*3c7ae9deSAndroid Build Coastguard Worker 
530*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.PacketDisconnnect.DisconnectReasonCode */
531*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_disconnect_reason_code_properties {
532*3c7ae9deSAndroid Build Coastguard Worker     jclass reason_code_class;
533*3c7ae9deSAndroid Build Coastguard Worker     jmethodID code_get_value_id;
534*3c7ae9deSAndroid Build Coastguard Worker     jmethodID code_s_get_enum_value_from_integer_id;
535*3c7ae9deSAndroid Build Coastguard Worker };
536*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_disconnect_reason_code_properties mqtt5_disconnect_reason_code_properties;
537*3c7ae9deSAndroid Build Coastguard Worker 
538*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.PubAckPacket */
539*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_puback_packet_properties {
540*3c7ae9deSAndroid Build Coastguard Worker     jclass puback_packet_class;
541*3c7ae9deSAndroid Build Coastguard Worker     jmethodID puback_constructor_id;
542*3c7ae9deSAndroid Build Coastguard Worker     jmethodID puback_native_add_reason_code_id;
543*3c7ae9deSAndroid Build Coastguard Worker 
544*3c7ae9deSAndroid Build Coastguard Worker     jfieldID puback_reason_code_field_id;
545*3c7ae9deSAndroid Build Coastguard Worker     jfieldID puback_reason_string_field_id;
546*3c7ae9deSAndroid Build Coastguard Worker     jfieldID puback_user_properties_field_id;
547*3c7ae9deSAndroid Build Coastguard Worker };
548*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_puback_packet_properties mqtt5_puback_packet_properties;
549*3c7ae9deSAndroid Build Coastguard Worker 
550*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.PubAckPacket.PubAckReasonCode */
551*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_puback_reason_code_properties {
552*3c7ae9deSAndroid Build Coastguard Worker     jclass reason_code_class;
553*3c7ae9deSAndroid Build Coastguard Worker     jmethodID code_get_value_id;
554*3c7ae9deSAndroid Build Coastguard Worker     jmethodID code_s_get_enum_value_from_integer_id;
555*3c7ae9deSAndroid Build Coastguard Worker };
556*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_puback_reason_code_properties mqtt5_puback_reason_code_properties;
557*3c7ae9deSAndroid Build Coastguard Worker 
558*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.PublishPacket */
559*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_publish_packet_properties {
560*3c7ae9deSAndroid Build Coastguard Worker     jclass publish_packet_class;
561*3c7ae9deSAndroid Build Coastguard Worker 
562*3c7ae9deSAndroid Build Coastguard Worker     jmethodID publish_constructor_id;
563*3c7ae9deSAndroid Build Coastguard Worker     jmethodID publish_native_set_qos_id;
564*3c7ae9deSAndroid Build Coastguard Worker     jmethodID publish_native_set_payload_format_indicator_id;
565*3c7ae9deSAndroid Build Coastguard Worker     jmethodID publish_get_qos_id;
566*3c7ae9deSAndroid Build Coastguard Worker     jmethodID publish_get_payload_format_id;
567*3c7ae9deSAndroid Build Coastguard Worker 
568*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_payload_field_id;
569*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_qos_field_id;
570*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_retain_field_id;
571*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_topic_field_id;
572*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_payload_format_field_id;
573*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_message_expiry_interval_seconds_field_id;
574*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_topic_alias_field_id;
575*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_response_topic_field_id;
576*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_correlation_data_field_id;
577*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_content_type_field_id;
578*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_subscription_identifiers_field_id;
579*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_user_properties_field_id;
580*3c7ae9deSAndroid Build Coastguard Worker };
581*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_publish_packet_properties mqtt5_publish_packet_properties;
582*3c7ae9deSAndroid Build Coastguard Worker 
583*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.PublishPacket.PayloadFormatIndicator */
584*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_payload_format_indicator_properties {
585*3c7ae9deSAndroid Build Coastguard Worker     jclass payload_format_class;
586*3c7ae9deSAndroid Build Coastguard Worker     jmethodID format_get_value_id;
587*3c7ae9deSAndroid Build Coastguard Worker     jmethodID format_s_get_enum_value_from_integer_id;
588*3c7ae9deSAndroid Build Coastguard Worker };
589*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_payload_format_indicator_properties mqtt5_payload_format_indicator_properties;
590*3c7ae9deSAndroid Build Coastguard Worker 
591*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.NegotiatedSettings */
592*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_negotiated_settings_properties {
593*3c7ae9deSAndroid Build Coastguard Worker     jclass negotiated_settings_class;
594*3c7ae9deSAndroid Build Coastguard Worker 
595*3c7ae9deSAndroid Build Coastguard Worker     jmethodID negotiated_settings_constructor_id;
596*3c7ae9deSAndroid Build Coastguard Worker     jmethodID negotiated_settings_native_set_qos_id;
597*3c7ae9deSAndroid Build Coastguard Worker 
598*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_maximum_qos_field_id;
599*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_session_expiry_interval_field_id;
600*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_receive_maximum_from_server_field_id;
601*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_maximum_packet_size_to_server_field_id;
602*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_topic_alias_maximum_to_server_field_id;
603*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_topic_alias_maximum_to_client_field_id;
604*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_server_keep_alive_field_id;
605*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_retain_available_field_id;
606*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_wildcard_subscriptions_available_field_id;
607*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_subscription_identifiers_available_field_id;
608*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_shared_subscriptions_available_field_id;
609*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_rejoined_session_field_id;
610*3c7ae9deSAndroid Build Coastguard Worker     jfieldID negotiated_settings_assigned_client_id_field_id;
611*3c7ae9deSAndroid Build Coastguard Worker };
612*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_negotiated_settings_properties mqtt5_negotiated_settings_properties;
613*3c7ae9deSAndroid Build Coastguard Worker 
614*3c7ae9deSAndroid Build Coastguard Worker /* http.HttpProxyOptions */
615*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_http_proxy_options_properties {
616*3c7ae9deSAndroid Build Coastguard Worker     jclass http_proxy_options_class;
617*3c7ae9deSAndroid Build Coastguard Worker 
618*3c7ae9deSAndroid Build Coastguard Worker     jmethodID proxy_get_connection_type_id;
619*3c7ae9deSAndroid Build Coastguard Worker     jmethodID proxy_get_proxy_host_id;
620*3c7ae9deSAndroid Build Coastguard Worker     jmethodID proxy_get_proxy_port_id;
621*3c7ae9deSAndroid Build Coastguard Worker     jmethodID proxy_get_proxy_tls_context_id;
622*3c7ae9deSAndroid Build Coastguard Worker     jmethodID proxy_get_proxy_authorization_type_id;
623*3c7ae9deSAndroid Build Coastguard Worker     jmethodID proxy_get_authorization_username_id;
624*3c7ae9deSAndroid Build Coastguard Worker     jmethodID proxy_get_authorization_password_id;
625*3c7ae9deSAndroid Build Coastguard Worker };
626*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_http_proxy_options_properties http_proxy_options_properties;
627*3c7ae9deSAndroid Build Coastguard Worker 
628*3c7ae9deSAndroid Build Coastguard Worker /* http.HttpProxyOptions.HttpProxyConnectionType */
629*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_http_proxy_connection_type_properties {
630*3c7ae9deSAndroid Build Coastguard Worker     jclass http_proxy_connection_type_class;
631*3c7ae9deSAndroid Build Coastguard Worker     jmethodID proxy_get_value_id;
632*3c7ae9deSAndroid Build Coastguard Worker };
633*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_http_proxy_connection_type_properties http_proxy_connection_type_properties;
634*3c7ae9deSAndroid Build Coastguard Worker 
635*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.ClientOptions */
636*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_options_properties {
637*3c7ae9deSAndroid Build Coastguard Worker     jclass client_options_class;
638*3c7ae9deSAndroid Build Coastguard Worker 
639*3c7ae9deSAndroid Build Coastguard Worker     // Functions for CRT resource references so we can
640*3c7ae9deSAndroid Build Coastguard Worker     // better control them when they are not present
641*3c7ae9deSAndroid Build Coastguard Worker     jmethodID options_get_bootstrap_id;
642*3c7ae9deSAndroid Build Coastguard Worker     jmethodID options_get_socket_options_id;
643*3c7ae9deSAndroid Build Coastguard Worker     jmethodID options_get_tls_options_id;
644*3c7ae9deSAndroid Build Coastguard Worker     jmethodID options_get_session_behavior_id;
645*3c7ae9deSAndroid Build Coastguard Worker     jmethodID options_get_extended_validation_and_flow_control_options_id;
646*3c7ae9deSAndroid Build Coastguard Worker     jmethodID options_get_offline_queue_behavior_id;
647*3c7ae9deSAndroid Build Coastguard Worker     jmethodID options_get_retry_jitter_mode_id;
648*3c7ae9deSAndroid Build Coastguard Worker 
649*3c7ae9deSAndroid Build Coastguard Worker     jfieldID options_host_name_field_id;
650*3c7ae9deSAndroid Build Coastguard Worker     jfieldID options_port_field_id;
651*3c7ae9deSAndroid Build Coastguard Worker     jfieldID http_proxy_options_field_id;
652*3c7ae9deSAndroid Build Coastguard Worker     // We skip connect options since that is passed in directly
653*3c7ae9deSAndroid Build Coastguard Worker     // since it can be made outside of the builder
654*3c7ae9deSAndroid Build Coastguard Worker     jfieldID session_behavior_field_id;
655*3c7ae9deSAndroid Build Coastguard Worker     jfieldID extended_validation_and_flow_control_options_field_id;
656*3c7ae9deSAndroid Build Coastguard Worker     jfieldID offline_queue_behavior_field_id;
657*3c7ae9deSAndroid Build Coastguard Worker     jfieldID retry_jitter_mode_field_id;
658*3c7ae9deSAndroid Build Coastguard Worker     jfieldID min_reconnect_delay_ms_field_id;
659*3c7ae9deSAndroid Build Coastguard Worker     jfieldID max_reconnect_delay_ms_field_id;
660*3c7ae9deSAndroid Build Coastguard Worker     jfieldID min_connected_time_to_reset_reconnect_delay_ms_field_id;
661*3c7ae9deSAndroid Build Coastguard Worker     jfieldID ping_timeout_ms_field_id;
662*3c7ae9deSAndroid Build Coastguard Worker     jfieldID connack_timeout_ms_field_id;
663*3c7ae9deSAndroid Build Coastguard Worker     jfieldID ack_timeout_seconds_field_id;
664*3c7ae9deSAndroid Build Coastguard Worker     jfieldID publish_events_field_id;
665*3c7ae9deSAndroid Build Coastguard Worker     jfieldID lifecycle_events_field_id;
666*3c7ae9deSAndroid Build Coastguard Worker     jfieldID topic_aliasing_options_field_id;
667*3c7ae9deSAndroid Build Coastguard Worker };
668*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_client_options_properties mqtt5_client_options_properties;
669*3c7ae9deSAndroid Build Coastguard Worker 
670*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.Client */
671*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_properties {
672*3c7ae9deSAndroid Build Coastguard Worker     jclass client_class;
673*3c7ae9deSAndroid Build Coastguard Worker     jmethodID client_on_websocket_handshake_id;
674*3c7ae9deSAndroid Build Coastguard Worker     jmethodID client_set_is_connected;
675*3c7ae9deSAndroid Build Coastguard Worker     jfieldID websocket_handshake_field_id;
676*3c7ae9deSAndroid Build Coastguard Worker };
677*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_client_properties mqtt5_client_properties;
678*3c7ae9deSAndroid Build Coastguard Worker 
679*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.Mqtt5ClientOperationStatistics */
680*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_operation_statistics_properties {
681*3c7ae9deSAndroid Build Coastguard Worker     jclass statistics_class;
682*3c7ae9deSAndroid Build Coastguard Worker     jmethodID statistics_constructor_id;
683*3c7ae9deSAndroid Build Coastguard Worker     jfieldID incomplete_operation_count_field_id;
684*3c7ae9deSAndroid Build Coastguard Worker     jfieldID incomplete_operation_size_field_id;
685*3c7ae9deSAndroid Build Coastguard Worker     jfieldID unacked_operation_count_field_id;
686*3c7ae9deSAndroid Build Coastguard Worker     jfieldID unacked_operation_size_field_id;
687*3c7ae9deSAndroid Build Coastguard Worker };
688*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_client_operation_statistics_properties mqtt5_client_operation_statistics_properties;
689*3c7ae9deSAndroid Build Coastguard Worker 
690*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.ClientOptions.ClientSessionBehavior */
691*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_session_behavior_type_properties {
692*3c7ae9deSAndroid Build Coastguard Worker     jclass mqtt5_client_session_behavior_class;
693*3c7ae9deSAndroid Build Coastguard Worker     jmethodID client_get_value_id;
694*3c7ae9deSAndroid Build Coastguard Worker };
695*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_client_session_behavior_type_properties mqtt5_client_session_behavior_properties;
696*3c7ae9deSAndroid Build Coastguard Worker 
697*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.ClientOptions.ExtendedValidationAndFlowControlOptions */
698*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_extended_validation_and_flow_control_options {
699*3c7ae9deSAndroid Build Coastguard Worker     jclass mqtt5_client_extended_validation_and_flow_control_options_class;
700*3c7ae9deSAndroid Build Coastguard Worker     jmethodID client_get_value_id;
701*3c7ae9deSAndroid Build Coastguard Worker };
702*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_client_extended_validation_and_flow_control_options
703*3c7ae9deSAndroid Build Coastguard Worker     mqtt5_client_extended_validation_and_flow_control_options;
704*3c7ae9deSAndroid Build Coastguard Worker 
705*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.ClientOptions.ClientOfflineQueueBehavior */
706*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_offline_queue_behavior_type_properties {
707*3c7ae9deSAndroid Build Coastguard Worker     jclass mqtt5_client_offline_queue_behavior_type_class;
708*3c7ae9deSAndroid Build Coastguard Worker     jmethodID client_get_value_id;
709*3c7ae9deSAndroid Build Coastguard Worker };
710*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_client_offline_queue_behavior_type_properties
711*3c7ae9deSAndroid Build Coastguard Worker     mqtt5_client_offline_queue_behavior_type_properties;
712*3c7ae9deSAndroid Build Coastguard Worker 
713*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.ClientOptions.JitterMode */
714*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_client_jitter_mode_properties {
715*3c7ae9deSAndroid Build Coastguard Worker     jclass mqtt5_client_jitter_mode_class;
716*3c7ae9deSAndroid Build Coastguard Worker     jmethodID client_get_value_id;
717*3c7ae9deSAndroid Build Coastguard Worker };
718*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_client_jitter_mode_properties mqtt5_client_jitter_mode_properties;
719*3c7ae9deSAndroid Build Coastguard Worker 
720*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.Mqtt5ClientOptions.OutboundTopicAliasBehaviorType */
721*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_outbound_topic_alias_behavior_type_properties {
722*3c7ae9deSAndroid Build Coastguard Worker     jclass mqtt5_outbound_topic_alias_behavior_type_class;
723*3c7ae9deSAndroid Build Coastguard Worker     jmethodID get_value_method_id;
724*3c7ae9deSAndroid Build Coastguard Worker };
725*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_outbound_topic_alias_behavior_type_properties
726*3c7ae9deSAndroid Build Coastguard Worker     mqtt5_outbound_topic_alias_behavior_type_properties;
727*3c7ae9deSAndroid Build Coastguard Worker 
728*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.Mqtt5ClientOptions.InboundTopicAliasBehaviorType */
729*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_inbound_topic_alias_behavior_type_properties {
730*3c7ae9deSAndroid Build Coastguard Worker     jclass mqtt5_inbound_topic_alias_behavior_type_class;
731*3c7ae9deSAndroid Build Coastguard Worker     jmethodID get_value_method_id;
732*3c7ae9deSAndroid Build Coastguard Worker };
733*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_inbound_topic_alias_behavior_type_properties
734*3c7ae9deSAndroid Build Coastguard Worker     mqtt5_inbound_topic_alias_behavior_type_properties;
735*3c7ae9deSAndroid Build Coastguard Worker 
736*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.Mqtt5ClientOptions.TopicAliasingOptions */
737*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_topic_aliasing_options_properties {
738*3c7ae9deSAndroid Build Coastguard Worker     jclass mqtt5_topic_aliasing_options_class;
739*3c7ae9deSAndroid Build Coastguard Worker 
740*3c7ae9deSAndroid Build Coastguard Worker     jfieldID outbound_behavior_field_id;
741*3c7ae9deSAndroid Build Coastguard Worker     jfieldID outbound_cache_max_size_field_id;
742*3c7ae9deSAndroid Build Coastguard Worker     jfieldID inbound_behavior_field_id;
743*3c7ae9deSAndroid Build Coastguard Worker     jfieldID inbound_cache_max_size_field_id;
744*3c7ae9deSAndroid Build Coastguard Worker };
745*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_topic_aliasing_options_properties mqtt5_topic_aliasing_options_properties;
746*3c7ae9deSAndroid Build Coastguard Worker 
747*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.SubscribePacket */
748*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_subscribe_packet_properties {
749*3c7ae9deSAndroid Build Coastguard Worker     jclass subscribe_packet_class;
750*3c7ae9deSAndroid Build Coastguard Worker     jfieldID subscribe_subscriptions_field_id;
751*3c7ae9deSAndroid Build Coastguard Worker     jfieldID subscribe_subscription_identifier_field_id;
752*3c7ae9deSAndroid Build Coastguard Worker     jfieldID subscribe_user_properties_field_id;
753*3c7ae9deSAndroid Build Coastguard Worker };
754*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_subscribe_packet_properties mqtt5_subscribe_packet_properties;
755*3c7ae9deSAndroid Build Coastguard Worker 
756*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.SubscribePacket.Subscription */
757*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_subscription_properties {
758*3c7ae9deSAndroid Build Coastguard Worker     jclass subscribe_subscription_class;
759*3c7ae9deSAndroid Build Coastguard Worker     jfieldID subscribe_no_local_field_id;
760*3c7ae9deSAndroid Build Coastguard Worker     jfieldID subscribe_retain_as_published_field_id;
761*3c7ae9deSAndroid Build Coastguard Worker 
762*3c7ae9deSAndroid Build Coastguard Worker     jmethodID subscribe_get_topic_filter_id;
763*3c7ae9deSAndroid Build Coastguard Worker     jmethodID subscribe_get_qos_id;
764*3c7ae9deSAndroid Build Coastguard Worker     jmethodID subscribe_get_no_local_id;
765*3c7ae9deSAndroid Build Coastguard Worker     jmethodID subscribe_get_retain_as_published_id;
766*3c7ae9deSAndroid Build Coastguard Worker     jmethodID subscribe_get_retain_handling_type_id;
767*3c7ae9deSAndroid Build Coastguard Worker };
768*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_subscription_properties mqtt5_subscription_properties;
769*3c7ae9deSAndroid Build Coastguard Worker 
770*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.QOS */
771*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_packet_qos_properties {
772*3c7ae9deSAndroid Build Coastguard Worker     jclass packet_qos_class;
773*3c7ae9deSAndroid Build Coastguard Worker     jmethodID qos_get_value_id;
774*3c7ae9deSAndroid Build Coastguard Worker     jmethodID qos_s_get_enum_value_from_integer_id;
775*3c7ae9deSAndroid Build Coastguard Worker };
776*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_packet_qos_properties mqtt5_packet_qos_properties;
777*3c7ae9deSAndroid Build Coastguard Worker 
778*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.SubscribePacket.RetainHandlingType */
779*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_retain_handling_type_properties {
780*3c7ae9deSAndroid Build Coastguard Worker     jclass retain_handling_type_class;
781*3c7ae9deSAndroid Build Coastguard Worker     jmethodID retain_get_value_id;
782*3c7ae9deSAndroid Build Coastguard Worker };
783*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_retain_handling_type_properties mqtt5_retain_handling_type_properties;
784*3c7ae9deSAndroid Build Coastguard Worker 
785*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.SubAckPacket.SubAckReasonCode */
786*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_suback_reason_code_properties {
787*3c7ae9deSAndroid Build Coastguard Worker     jclass reason_code_class;
788*3c7ae9deSAndroid Build Coastguard Worker     jmethodID reason_get_value_id;
789*3c7ae9deSAndroid Build Coastguard Worker     jmethodID reason_s_get_enum_value_from_integer_id;
790*3c7ae9deSAndroid Build Coastguard Worker };
791*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_suback_reason_code_properties mqtt5_suback_reason_code_properties;
792*3c7ae9deSAndroid Build Coastguard Worker 
793*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.SubAckPacket */
794*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_packet_suback_properties {
795*3c7ae9deSAndroid Build Coastguard Worker     jclass suback_packet_class;
796*3c7ae9deSAndroid Build Coastguard Worker     jmethodID suback_constructor_id;
797*3c7ae9deSAndroid Build Coastguard Worker     jmethodID suback_native_add_suback_code_id;
798*3c7ae9deSAndroid Build Coastguard Worker 
799*3c7ae9deSAndroid Build Coastguard Worker     jfieldID suback_reason_string_field_id;
800*3c7ae9deSAndroid Build Coastguard Worker     jfieldID suback_reason_codes_field_id;
801*3c7ae9deSAndroid Build Coastguard Worker     jfieldID suback_user_properties_field_id;
802*3c7ae9deSAndroid Build Coastguard Worker };
803*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_packet_suback_properties mqtt5_suback_packet_properties;
804*3c7ae9deSAndroid Build Coastguard Worker 
805*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.UnsubscribePacket */
806*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_packet_unsubscribe_properties {
807*3c7ae9deSAndroid Build Coastguard Worker     jclass unsubscribe_packet_class;
808*3c7ae9deSAndroid Build Coastguard Worker     jfieldID unsubscribe_subscriptions_field_id;
809*3c7ae9deSAndroid Build Coastguard Worker     jfieldID unsubscribe_user_properties_field_id;
810*3c7ae9deSAndroid Build Coastguard Worker };
811*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_packet_unsubscribe_properties mqtt5_unsubscribe_packet_properties;
812*3c7ae9deSAndroid Build Coastguard Worker 
813*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.UnsubAckPacket */
814*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_packet_unsuback_properties {
815*3c7ae9deSAndroid Build Coastguard Worker     jclass unsuback_packet_class;
816*3c7ae9deSAndroid Build Coastguard Worker     jmethodID unsuback_constructor_id;
817*3c7ae9deSAndroid Build Coastguard Worker     jmethodID unsuback_native_add_unsuback_code_id;
818*3c7ae9deSAndroid Build Coastguard Worker 
819*3c7ae9deSAndroid Build Coastguard Worker     jfieldID unsuback_reason_string_field_id;
820*3c7ae9deSAndroid Build Coastguard Worker     jfieldID unsuback_reason_codes_field_id;
821*3c7ae9deSAndroid Build Coastguard Worker     jfieldID unsuback_user_properties_field_id;
822*3c7ae9deSAndroid Build Coastguard Worker };
823*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_packet_unsuback_properties mqtt5_unsuback_packet_properties;
824*3c7ae9deSAndroid Build Coastguard Worker 
825*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.UnsubAckPacket.UnsubAckReasonCode */
826*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_unsuback_reason_code_properties {
827*3c7ae9deSAndroid Build Coastguard Worker     jclass reason_code_class;
828*3c7ae9deSAndroid Build Coastguard Worker     jmethodID reason_get_value_id;
829*3c7ae9deSAndroid Build Coastguard Worker     jmethodID reason_s_get_enum_value_from_integer_id;
830*3c7ae9deSAndroid Build Coastguard Worker };
831*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_unsuback_reason_code_properties mqtt5_unsuback_reason_code_properties;
832*3c7ae9deSAndroid Build Coastguard Worker 
833*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.packets.UserProperty */
834*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_user_property_properties {
835*3c7ae9deSAndroid Build Coastguard Worker     jclass user_property_class;
836*3c7ae9deSAndroid Build Coastguard Worker     jmethodID property_constructor_id;
837*3c7ae9deSAndroid Build Coastguard Worker     jfieldID property_key_id;
838*3c7ae9deSAndroid Build Coastguard Worker     jfieldID property_value_id;
839*3c7ae9deSAndroid Build Coastguard Worker };
840*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_user_property_properties mqtt5_user_property_properties;
841*3c7ae9deSAndroid Build Coastguard Worker 
842*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.Mqtt5ClientOptions.PublishEvents */
843*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_publish_events {
844*3c7ae9deSAndroid Build Coastguard Worker     jclass publish_events_class;
845*3c7ae9deSAndroid Build Coastguard Worker     jmethodID publish_events_publish_received_id;
846*3c7ae9deSAndroid Build Coastguard Worker };
847*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_publish_events mqtt5_publish_events_properties;
848*3c7ae9deSAndroid Build Coastguard Worker 
849*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.Mqtt5ClientOptions.LifecycleEvents */
850*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_lifecycle_events {
851*3c7ae9deSAndroid Build Coastguard Worker     jclass lifecycle_events_class;
852*3c7ae9deSAndroid Build Coastguard Worker     jmethodID lifecycle_attempting_connect_id;
853*3c7ae9deSAndroid Build Coastguard Worker     jmethodID lifecycle_connection_success_id;
854*3c7ae9deSAndroid Build Coastguard Worker     jmethodID lifecycle_connection_failure_id;
855*3c7ae9deSAndroid Build Coastguard Worker     jmethodID lifecycle_disconnection_id;
856*3c7ae9deSAndroid Build Coastguard Worker     jmethodID lifecycle_stopped_id;
857*3c7ae9deSAndroid Build Coastguard Worker };
858*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_lifecycle_events mqtt5_lifecycle_events_properties;
859*3c7ae9deSAndroid Build Coastguard Worker 
860*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.PublishResult */
861*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_publish_result_properties {
862*3c7ae9deSAndroid Build Coastguard Worker     jclass result_class;
863*3c7ae9deSAndroid Build Coastguard Worker     jmethodID result_constructor_id;
864*3c7ae9deSAndroid Build Coastguard Worker     jmethodID result_puback_constructor_id;
865*3c7ae9deSAndroid Build Coastguard Worker };
866*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_publish_result_properties mqtt5_publish_result_properties;
867*3c7ae9deSAndroid Build Coastguard Worker 
868*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.PublishReturn */
869*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_publish_return_properties {
870*3c7ae9deSAndroid Build Coastguard Worker     jclass return_class;
871*3c7ae9deSAndroid Build Coastguard Worker     jmethodID return_constructor_id;
872*3c7ae9deSAndroid Build Coastguard Worker };
873*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_publish_return_properties mqtt5_publish_return_properties;
874*3c7ae9deSAndroid Build Coastguard Worker 
875*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.OnStoppedReturn */
876*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_stopped_return_properties {
877*3c7ae9deSAndroid Build Coastguard Worker     jclass return_class;
878*3c7ae9deSAndroid Build Coastguard Worker     jmethodID return_constructor_id;
879*3c7ae9deSAndroid Build Coastguard Worker };
880*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_on_stopped_return_properties mqtt5_on_stopped_return_properties;
881*3c7ae9deSAndroid Build Coastguard Worker 
882*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.OnAttemptingConnectReturn */
883*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_attempting_connect_return_properties {
884*3c7ae9deSAndroid Build Coastguard Worker     jclass return_class;
885*3c7ae9deSAndroid Build Coastguard Worker     jmethodID return_constructor_id;
886*3c7ae9deSAndroid Build Coastguard Worker };
887*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_on_attempting_connect_return_properties mqtt5_on_attempting_connect_return_properties;
888*3c7ae9deSAndroid Build Coastguard Worker 
889*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.OnConnectionSuccessReturn */
890*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_connection_success_return_properties {
891*3c7ae9deSAndroid Build Coastguard Worker     jclass return_class;
892*3c7ae9deSAndroid Build Coastguard Worker     jmethodID return_constructor_id;
893*3c7ae9deSAndroid Build Coastguard Worker };
894*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_on_connection_success_return_properties mqtt5_on_connection_success_return_properties;
895*3c7ae9deSAndroid Build Coastguard Worker 
896*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.OnConnectionFailureReturn */
897*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_connection_failure_return_properties {
898*3c7ae9deSAndroid Build Coastguard Worker     jclass return_class;
899*3c7ae9deSAndroid Build Coastguard Worker     jmethodID return_constructor_id;
900*3c7ae9deSAndroid Build Coastguard Worker };
901*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_on_connection_failure_return_properties mqtt5_on_connection_failure_return_properties;
902*3c7ae9deSAndroid Build Coastguard Worker 
903*3c7ae9deSAndroid Build Coastguard Worker /* mqtt5.OnDisconnectionReturn */
904*3c7ae9deSAndroid Build Coastguard Worker struct java_aws_mqtt5_on_disconnection_return_properties {
905*3c7ae9deSAndroid Build Coastguard Worker     jclass return_class;
906*3c7ae9deSAndroid Build Coastguard Worker     jmethodID return_constructor_id;
907*3c7ae9deSAndroid Build Coastguard Worker };
908*3c7ae9deSAndroid Build Coastguard Worker extern struct java_aws_mqtt5_on_disconnection_return_properties mqtt5_on_disconnection_return_properties;
909*3c7ae9deSAndroid Build Coastguard Worker 
910*3c7ae9deSAndroid Build Coastguard Worker /* java/lang/Integer */
911*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_integer_properties {
912*3c7ae9deSAndroid Build Coastguard Worker     jclass integer_class;
913*3c7ae9deSAndroid Build Coastguard Worker     jmethodID integer_constructor_id;
914*3c7ae9deSAndroid Build Coastguard Worker     jmethodID integer_get_value_id;
915*3c7ae9deSAndroid Build Coastguard Worker };
916*3c7ae9deSAndroid Build Coastguard Worker extern struct java_boxed_integer_properties boxed_integer_properties;
917*3c7ae9deSAndroid Build Coastguard Worker 
918*3c7ae9deSAndroid Build Coastguard Worker /* java/lang/Boolean */
919*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_boolean_properties {
920*3c7ae9deSAndroid Build Coastguard Worker     jclass boolean_class;
921*3c7ae9deSAndroid Build Coastguard Worker     jmethodID boolean_constructor_id;
922*3c7ae9deSAndroid Build Coastguard Worker     jmethodID boolean_get_value_id;
923*3c7ae9deSAndroid Build Coastguard Worker };
924*3c7ae9deSAndroid Build Coastguard Worker extern struct java_boxed_boolean_properties boxed_boolean_properties;
925*3c7ae9deSAndroid Build Coastguard Worker 
926*3c7ae9deSAndroid Build Coastguard Worker /* java/util/List */
927*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_list_properties {
928*3c7ae9deSAndroid Build Coastguard Worker     jclass list_class;
929*3c7ae9deSAndroid Build Coastguard Worker     jmethodID list_size_id;
930*3c7ae9deSAndroid Build Coastguard Worker     jmethodID list_get_id;
931*3c7ae9deSAndroid Build Coastguard Worker     jmethodID list_add_id;
932*3c7ae9deSAndroid Build Coastguard Worker };
933*3c7ae9deSAndroid Build Coastguard Worker extern struct java_boxed_list_properties boxed_list_properties;
934*3c7ae9deSAndroid Build Coastguard Worker 
935*3c7ae9deSAndroid Build Coastguard Worker /* java/util/ArrayList */
936*3c7ae9deSAndroid Build Coastguard Worker struct java_boxed_array_list_properties {
937*3c7ae9deSAndroid Build Coastguard Worker     jclass list_class;
938*3c7ae9deSAndroid Build Coastguard Worker     jmethodID list_constructor_id;
939*3c7ae9deSAndroid Build Coastguard Worker };
940*3c7ae9deSAndroid Build Coastguard Worker extern struct java_boxed_array_list_properties boxed_array_list_properties;
941*3c7ae9deSAndroid Build Coastguard Worker 
942*3c7ae9deSAndroid Build Coastguard Worker /* S3ExpressCredentialsProviderFactory */
943*3c7ae9deSAndroid Build Coastguard Worker struct java_s3express_credentials_provider_factory_properties {
944*3c7ae9deSAndroid Build Coastguard Worker     jmethodID createS3ExpressCredentialsProvider;
945*3c7ae9deSAndroid Build Coastguard Worker };
946*3c7ae9deSAndroid Build Coastguard Worker extern struct java_s3express_credentials_provider_factory_properties s3express_credentials_provider_factory_properties;
947*3c7ae9deSAndroid Build Coastguard Worker 
948*3c7ae9deSAndroid Build Coastguard Worker /* S3ExpressCredentialsProperties */
949*3c7ae9deSAndroid Build Coastguard Worker struct java_s3express_credentials_properties_properties {
950*3c7ae9deSAndroid Build Coastguard Worker     jclass s3express_credentials_properties_class;
951*3c7ae9deSAndroid Build Coastguard Worker     jmethodID constructor_method_id;
952*3c7ae9deSAndroid Build Coastguard Worker     jfieldID host_field_id;
953*3c7ae9deSAndroid Build Coastguard Worker     jfieldID region_field_id;
954*3c7ae9deSAndroid Build Coastguard Worker };
955*3c7ae9deSAndroid Build Coastguard Worker extern struct java_s3express_credentials_properties_properties s3express_credentials_properties_properties;
956*3c7ae9deSAndroid Build Coastguard Worker 
957*3c7ae9deSAndroid Build Coastguard Worker /* S3ExpressCredentialsProvider */
958*3c7ae9deSAndroid Build Coastguard Worker struct java_s3express_credentials_provider_properties {
959*3c7ae9deSAndroid Build Coastguard Worker     jmethodID getS3ExpressCredentials;
960*3c7ae9deSAndroid Build Coastguard Worker     jmethodID destroyProvider;
961*3c7ae9deSAndroid Build Coastguard Worker };
962*3c7ae9deSAndroid Build Coastguard Worker extern struct java_s3express_credentials_provider_properties s3express_credentials_provider_properties;
963*3c7ae9deSAndroid Build Coastguard Worker 
964*3c7ae9deSAndroid Build Coastguard Worker /**
965*3c7ae9deSAndroid Build Coastguard Worker  * All functions bound to JNI MUST call this before doing anything else.
966*3c7ae9deSAndroid Build Coastguard Worker  * This caches all JNI IDs the first time it is called. Any further calls are no-op; it is thread-safe.
967*3c7ae9deSAndroid Build Coastguard Worker  * The reason we do this lazily, rather than simply calling it once from awsCrtInit(),
968*3c7ae9deSAndroid Build Coastguard Worker  * is to avoid deadlock when multiple threads init the CRT simultaneously.
969*3c7ae9deSAndroid Build Coastguard Worker  *
970*3c7ae9deSAndroid Build Coastguard Worker  * See: https://github.com/awslabs/aws-crt-java/pull/670
971*3c7ae9deSAndroid Build Coastguard Worker  */
972*3c7ae9deSAndroid Build Coastguard Worker void aws_cache_jni_ids(JNIEnv *env);
973*3c7ae9deSAndroid Build Coastguard Worker 
974*3c7ae9deSAndroid Build Coastguard Worker #endif /* AWS_JNI_CRT_JAVA_CLASS_IDS_H */
975