void kaa_client_destroy(kaa_client_t *self) { if (!self) return; self->controler = NULL; if (self->channel.context) { self->channel.destroy(self->channel.context); self->channel.context = NULL; } if (self->channel.context) { self->channel.destroy(self->channel.context); self->channel.context = NULL; } if (self->log_storage_context) { ext_log_storage_destroy(self->log_storage_context); self->log_storage_context = NULL; } if (self->kaa_context) { kaa_deinit(self->kaa_context); self->kaa_context = NULL; } free(self); }
int test_deinit(void) { if (context) { kaa_deinit(context); } if (buffer_pointer) { KAA_FREE(buffer_pointer); } return 0; }
void kaa_client_destroy(kaa_client_t *kaa_client) { if(!kaa_client) return; if (kaa_client->start_semophore) { sndc_sem_destroy(kaa_client->start_semophore); kaa_client->start_semophore = NULL; } if (kaa_client->logging_semophore) { sndc_sem_destroy(kaa_client->logging_semophore); kaa_client->logging_semophore = NULL; } if (kaa_client->operations_channel.context) { kaa_client->operations_channel.destroy(kaa_client->operations_channel.context); kaa_client->operations_channel.context = NULL; } if (kaa_client->bootstrap_channel.context) { kaa_client->bootstrap_channel.destroy(kaa_client->bootstrap_channel.context); kaa_client->bootstrap_channel.context = NULL; } if (kaa_client->log_storage_context) { ext_log_storage_destroy(kaa_client->log_storage_context); kaa_client->log_storage_context = NULL; } if (kaa_client->kaa_context) { kaa_deinit(kaa_client->kaa_context); kaa_client->kaa_context = NULL; } if (kaa_client->thread_name) { sndc_mem_free(kaa_client->thread_name); } sndc_mem_free(kaa_client); }
void kaa_demo_destroy() { kaa_tcp_channel_disconnect(&operations_channel); kaa_deinit(kaa_context_); }
int test_deinit() { kaa_deinit(kaa_context); KAA_FREE(buffer); return KAA_ERR_NONE; }
void test_meta_extension_serialize(void) { KAA_TRACE_IN(logger); size_t meta_extension_size; kaa_error_t error_code = kaa_meta_data_request_get_size(&meta_extension_size); char buffer[meta_extension_size]; kaa_platform_message_writer_t *writer; error_code = kaa_platform_message_writer_create(&writer, buffer, meta_extension_size); ASSERT_EQUAL(error_code, KAA_ERR_NONE); uint32_t expected_timeout = KAA_SYNC_TIMEOUT; kaa_digest expected_public_key_hash = {0x74, 0xc7, 0x51, 0x43, 0x00, 0xf7, 0xb8, 0x21, 0x2c, 0xc3, 0x6b, 0xa5, 0x9c, 0xb4, 0x03, 0xef, 0xc2, 0x5c, 0x65, 0x6c}; kaa_digest expected_profile_hash = {0xfa, 0x71, 0xb5, 0x02, 0xe7, 0xdf, 0x96, 0x86, 0x6c, 0xdc, 0xe1, 0x4a, 0x17, 0x35, 0x7f, 0xd9, 0xa8, 0xfb, 0x71, 0x09}; error_code = ext_copy_sha_hash(status->endpoint_public_key_hash, expected_public_key_hash); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = ext_copy_sha_hash(status->profile_hash, expected_profile_hash); ASSERT_EQUAL(error_code, KAA_ERR_NONE); kaa_context_t *context = NULL; kaa_init(&context); kaa_platform_protocol_t *protocol = NULL; kaa_platform_protocol_create(&protocol, context, status); error_code = kaa_meta_data_request_serialize(protocol, writer, 1); ASSERT_EQUAL(error_code, KAA_ERR_NONE); kaa_deinit(context); kaa_platform_message_reader_t *reader; error_code = kaa_platform_message_reader_create(&reader, buffer, meta_extension_size); ASSERT_EQUAL(error_code, KAA_ERR_NONE); uint8_t extension_type; uint32_t extension_options; uint32_t extension_payload; error_code = kaa_platform_message_read_extension_header( reader, &extension_type, &extension_options, &extension_payload); ASSERT_EQUAL(error_code, KAA_ERR_NONE); ASSERT_EQUAL(extension_type, KAA_META_DATA_EXTENSION_TYPE); ASSERT_EQUAL(extension_options, (TIMEOUT_VALUE | PUBLIC_KEY_HASH_VALUE | PROFILE_HASH_VALUE | APP_TOKEN_VALUE)); ASSERT_EQUAL(extension_payload, meta_extension_size - KAA_EXTENSION_HEADER_SIZE); uint32_t request_id; uint32_t timeout; kaa_digest public_key_hash; kaa_digest profile_hash; char sdk_token[KAA_SDK_TOKEN_LENGTH]; error_code = kaa_platform_message_read(reader, &request_id, sizeof(uint32_t)); ASSERT_EQUAL(error_code, KAA_ERR_NONE); ASSERT_EQUAL(KAA_NTOHL(request_id), 1); error_code = kaa_platform_message_read(reader, &timeout, sizeof(uint32_t)); ASSERT_EQUAL(error_code, KAA_ERR_NONE); timeout = KAA_NTOHL(timeout); ASSERT_EQUAL(expected_timeout, timeout); error_code = kaa_platform_message_read_aligned(reader, public_key_hash, SHA_1_DIGEST_LENGTH); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = (memcmp(public_key_hash, expected_public_key_hash, SHA_1_DIGEST_LENGTH) == 0 ? KAA_ERR_NONE : KAA_ERR_READ_FAILED); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = kaa_platform_message_read_aligned(reader, profile_hash, SHA_1_DIGEST_LENGTH); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = (memcmp(profile_hash, expected_profile_hash, SHA_1_DIGEST_LENGTH) == 0 ? KAA_ERR_NONE : KAA_ERR_READ_FAILED); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = kaa_platform_message_read_aligned(reader, sdk_token, KAA_SDK_TOKEN_LENGTH); ASSERT_EQUAL(error_code, KAA_ERR_NONE); error_code = (memcmp(sdk_token, KAA_SDK_TOKEN, KAA_SDK_TOKEN_LENGTH) == 0 ? KAA_ERR_NONE : KAA_ERR_READ_FAILED); ASSERT_EQUAL(error_code, KAA_ERR_NONE); kaa_platform_message_reader_destroy(reader); kaa_platform_message_writer_destroy(writer); }