int test_init(void) { kaa_error_t error = kaa_log_create(&logger, KAA_MAX_LOG_MESSAGE_LENGTH, KAA_MAX_LOG_LEVEL, NULL); if (error || !logger) { return error; } kaa_context.logger = logger; error = kaa_status_create(&status); if (error || !status) { return error; } error = kaa_channel_manager_create(&channel_manager, &kaa_context); if (error || !channel_manager) { return error; } /* Add channel will fail due to absent access point, but it is expected */ kaa_channel_manager_add_transport_channel(channel_manager, &channel, NULL); error = kaa_profile_manager_create(&profile_manager, status, channel_manager, logger); if (error || !profile_manager) { return error; } return 0; }
kaa_error_t kaa_extension_profile_init(kaa_context_t *kaa_context, void **context) { kaa_error_t result = kaa_profile_manager_create(&kaa_context->profile_manager, kaa_context->status->status_instance, kaa_context->channel_manager, kaa_context->logger); *context = kaa_context->profile_manager; return result; }
static kaa_error_t kaa_context_create(kaa_context_t **context_p, kaa_logger_t *logger) { KAA_RETURN_IF_NIL2(context_p, logger, KAA_ERR_BADPARAM); *context_p = (kaa_context_t *) KAA_MALLOC(sizeof(kaa_context_t)); KAA_RETURN_IF_NIL(*context_p, KAA_ERR_NOMEM); (*context_p)->logger = logger; kaa_error_t error = KAA_ERR_NONE; (*context_p)->status = (kaa_status_holder_t *) KAA_MALLOC(sizeof(kaa_status_holder_t)); if (!(*context_p)->status) error = KAA_ERR_NOMEM; if (!error) error = kaa_status_create(&((*context_p)->status->status_instance)); if (!error) error = kaa_platform_protocol_create(&((*context_p)->platfrom_protocol), *context_p, (*context_p)->status->status_instance); if (!error) error = kaa_channel_manager_create(&((*context_p)->channel_manager), (*context_p)); if (!error) error = kaa_bootstrap_manager_create(&((*context_p)->bootstrap_manager), (*context_p)->channel_manager, (*context_p)->logger); if (!error) error = kaa_profile_manager_create(&((*context_p)->profile_manager), (*context_p)->status->status_instance, (*context_p)->channel_manager, (*context_p)->logger); #ifndef KAA_DISABLE_FEATURE_EVENTS if (!error) error = kaa_event_manager_create(&((*context_p)->event_manager), (*context_p)->status->status_instance, (*context_p)->channel_manager, (*context_p)->logger); #else (*context_p)->event_manager = NULL; #endif #ifndef KAA_DISABLE_FEATURE_LOGGING if (!error) error = kaa_log_collector_create(&((*context_p)->log_collector), (*context_p)->status->status_instance, (*context_p)->channel_manager, (*context_p)->logger); #else (*context_p)->log_collector = NULL; #endif #ifndef KAA_DISABLE_FEATURE_CONFIGURATION if (!error) error = kaa_configuration_manager_create(&((*context_p)->configuration_manager), (*context_p)->channel_manager, (*context_p)->status->status_instance, (*context_p)->logger); #else (*context_p)->configuration_manager = NULL; #endif if (!error) error = kaa_user_manager_create(&((*context_p)->user_manager), (*context_p)->status->status_instance, (*context_p)->channel_manager, (*context_p)->logger); if (error) { kaa_context_destroy(*context_p); *context_p = NULL; } return error; }
static kaa_error_t kaa_context_create(kaa_context_t **context_p, kaa_logger_t *logger) { KAA_RETURN_IF_NIL2(context_p, logger, KAA_ERR_BADPARAM); kaa_context_t *context = KAA_MALLOC(sizeof(*context)); KAA_RETURN_IF_NIL(context, KAA_ERR_NOMEM); context->logger = logger; kaa_error_t error = KAA_ERR_NONE; context->status = KAA_MALLOC(sizeof(*context->status)); if (!context->status) error = KAA_ERR_NOMEM; if (!error) error = kaa_status_create(&context->status->status_instance); if (!error) error = kaa_platform_protocol_create(&context->platform_protocol, context, context->status->status_instance); if (!error) error = kaa_channel_manager_create(&context->channel_manager, context); if (!error) error = kaa_bootstrap_manager_create(&context->bootstrap_manager, context); if (!error) error = kaa_profile_manager_create(&context->profile_manager, context->status->status_instance, context->channel_manager, context->logger); if (!error) error = kaa_failover_strategy_create(&context->failover_strategy, logger); #ifndef KAA_DISABLE_FEATURE_EVENTS if (!error) error = kaa_event_manager_create(&context->event_manager, context->status->status_instance, context->channel_manager, context->logger); #else context->event_manager = NULL; #endif #ifndef KAA_DISABLE_FEATURE_LOGGING if (!error) error = kaa_log_collector_create(&context->log_collector, context->status->status_instance, context->channel_manager, context->logger); #else context->log_collector = NULL; #endif #ifndef KAA_DISABLE_FEATURE_CONFIGURATION if (!error) error = kaa_configuration_manager_create(&context->configuration_manager, context->channel_manager, context->status->status_instance, context->logger); #else context->configuration_manager = NULL; #endif #ifndef KAA_DISABLE_FEATURE_NOTIFICATION if (!error) error = kaa_notification_manager_create(&context->notification_manager, context->status->status_instance, context->channel_manager, context->logger); #else context->notification_manager = NULL; #endif if (!error) error = kaa_user_manager_create(&context->user_manager, context->status->status_instance, context->channel_manager, context->logger); if (error) { kaa_context_destroy(context); *context_p = NULL; } else { *context_p = context; } return error; }