blob: 5b7858140cbd9b65af9a5ffc5beb9a916ae77261 [file] [log] [blame] [edit]
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#ifndef AWS_JNI_MQTT5_UTILS_H
#define AWS_JNI_MQTT5_UTILS_H
#include <jni.h>
struct aws_mqtt5_user_property;
struct aws_mqtt5_packet_connack_view;
struct aws_mqtt5_packet_disconnect_view;
struct aws_mqtt5_negotiated_settings;
struct aws_mqtt5_packet_publish_view;
struct aws_mqtt5_packet_puback_view;
int s_set_jni_uint32_t_field_in_packet(
JNIEnv *env,
const uint32_t *native_integer,
jobject packet,
jfieldID field_id,
char *field_name,
bool optional);
int s_set_jni_uint16_t_field_in_packet(
JNIEnv *env,
const uint16_t *native_integer,
jobject packet,
jfieldID field_id,
char *field_name,
bool optional);
int s_set_jni_bool_field_in_packet(
JNIEnv *env,
const bool *native_boolean,
jobject packet,
jfieldID field_id,
char *field_name,
bool optional);
int s_set_jni_string_field_in_packet(
JNIEnv *env,
const struct aws_byte_cursor *native_cursor,
jobject packet,
jfieldID field_id,
char *field_name,
bool optional);
int s_set_jni_byte_array_field_in_packet(
JNIEnv *env,
const struct aws_byte_cursor *native_cursor,
jobject packet,
jfieldID field_id,
char *field_name,
bool optional);
int s_set_user_properties_field(
JNIEnv *env,
const size_t user_property_count,
const struct aws_mqtt5_user_property *packet_properties,
jobject packet,
jfieldID user_property_field_id);
int s_set_int_enum_in_packet(
JNIEnv *env,
const int *int_enum,
jobject packet,
jmethodID set_enum_field_id,
bool optional);
jobject s_aws_mqtt5_client_create_jni_connack_packet_from_native(
JNIEnv *env,
const struct aws_mqtt5_packet_connack_view *native_connack_data);
jobject s_aws_mqtt5_client_create_jni_disconnect_packet_from_native(
JNIEnv *env,
const struct aws_mqtt5_packet_disconnect_view *native_disconnect_data);
jobject s_aws_mqtt5_client_create_jni_negotiated_settings_from_native(
JNIEnv *env,
const struct aws_mqtt5_negotiated_settings *native_negotiated_settings_data);
jobject s_aws_mqtt5_client_create_jni_publish_packet_from_native(
JNIEnv *env,
const struct aws_mqtt5_packet_publish_view *publish);
jobject s_aws_mqtt5_client_create_jni_puback_packet_from_native(
JNIEnv *env,
struct aws_mqtt5_packet_puback_view *puback_packet);
#endif /* AWS_JNI_MQTT5_UTILS_H */