void model_car_connection_init(void);
void model_car_connection_subscribe_event(t_model_car_connection_update_cb model_update_cb);
+void model_car_connection_unsubscirbe_event();
void model_car_connection_connect(void);
#endif /* MODEL_MODEL_CAR_CONNECTION_H_ */
void model_cloud_connection_init(void);
void model_cloud_connection_subscribe_event(t_model_cloud_connection_update_cb model_update_cb);
+void model_cloud_connection_unsubscirbe_event(void);
void model_cloud_connection_subscribe_reconnect(t_model_cloud_connection_update_cb reconnect_cb);
bool model_cloud_connection_player_name_set(const char *player_name);
void model_cloud_connection_try_reconnect(void);
typedef void (*t_model_sensors_update_cb)(s_model_sensors_cb_data *data);
void model_sensors_init(void);
-void model_sensors_unsubscirbe_event();
+void model_sensors_unsubscirbe_event(void);
void model_sensors_subscribe_event(t_model_sensors_update_cb model_update_cb);
-//void model_sensors_connect(void);
#endif /* MODEL_MODEL_SENSORS_H_ */
static void controller_car_selection_destroy(void)
{
- //TODO: deinit controller
+ model_car_connection_unsubscirbe_event();
+ model_cloud_connection_unsubscirbe_event();
}
static void _car_connected_cb(s_model_car_connection_cb_data *model_data)
{
+ controller_car_selection_destroy();
view_manager_set_view(VIEW_CONNECTION_SUCCESSED);
}
static void controller_connect_to_car_destroy(void)
{
- //TODO: deinit controller
+ model_cloud_connection_unsubscirbe_event();
}
static void _connected_cb(s_model_cloud_connection_cb_data *model_data)
{
- view_manager_set_view(VIEW_CAR_SELECTION);
controller_connect_to_car_destroy();
+ view_manager_set_view(VIEW_CAR_SELECTION);
}
void controller_connect_to_car_init(t_view_update_cb view_update_cb)
static void _connection_successed_destroy(void)
{
- //TODO: deinit controller
+ model_cloud_connection_unsubscirbe_event();
}
static void _connected_cb(s_model_cloud_connection_cb_data *model_data)
{
- view_manager_set_view(VIEW_NAME_INPUT);
_connection_successed_destroy();
+ view_manager_set_view(VIEW_NAME_INPUT);
}
void controller_connection_successed_init(t_view_update_cb view_update_cb)
static void controller_emergency_stop_destroy(void)
{
- //TODO: deinit controller
+ model_cloud_connection_unsubscirbe_event();
}
static void _connected_cb(s_model_cloud_connection_cb_data *model_data)
{
- view_manager_set_view(VIEW_RESET);
controller_emergency_stop_destroy();
+ view_manager_set_view(VIEW_RESET);
}
void controller_emergency_stop_init(t_view_update_cb view_update_cb)
{
s_info.view_update_cb = view_update_cb;
-
model_cloud_connection_subscribe_event(_connected_cb);
}
void controller_emergency_stop_back(void)
{
- view_manager_set_view(VIEW_RACING); //No model
controller_emergency_stop_destroy();
+ view_manager_set_view(VIEW_RACING);
}
void controller_emergency_stop_next()
static void controller_help_destroy(void)
{
- //TODO: deinit controller
+ model_cloud_connection_unsubscirbe_event();
}
static void _connected_cb(s_model_cloud_connection_cb_data *model_data)
{
- view_manager_set_view(VIEW_RACING);
controller_help_destroy();
+ view_manager_set_view(VIEW_RACING);
}
void controller_help_init(t_view_update_cb view_update_cb)
static void controller_name_input_destroy(void)
{
- //TODO: deinit controller
+ model_cloud_connection_unsubscirbe_event();
}
static void _connected_cb(s_model_cloud_connection_cb_data *model_data)
{
- view_manager_set_view(VIEW_HELP);
controller_name_input_destroy();
+ view_manager_set_view(VIEW_HELP);
}
void controller_name_input_init(t_view_update_cb view_update_cb)
{
s_info.view_update_cb = view_update_cb;
-
model_cloud_connection_subscribe_event(_connected_cb);
}
static void controller_network_failure_destroy(void)
{
- //TODO: deinit controller
- model_cloud_connection_subscribe_reconnect(NULL);
+ model_cloud_connection_unsubscirbe_event();
}
static void _connected_cb(s_model_cloud_connection_cb_data *model_data)
{
- view_manager_set_view(VIEW_CONNECT_TO_CAR);
controller_network_failure_destroy();
+ view_manager_set_view(VIEW_CONNECT_TO_CAR);
}
static void _reconnected_cb(s_model_cloud_connection_cb_data *model_data)
void controller_network_failure_init(t_view_update_cb view_update_cb)
{
s_info.view_update_cb = view_update_cb;
-
model_cloud_connection_subscribe_event(_connected_cb);
model_cloud_connection_subscribe_reconnect(_reconnected_cb);
}
static void controller_racing_destroy(void)
{
model_sensors_unsubscirbe_event();
- //TODO: deinit controller
+ model_cloud_connection_unsubscirbe_event();
}
static void _model_connected_cb(s_model_cloud_connection_cb_data *model_data)
{
- view_manager_set_view(VIEW_EMERGENCY_STOP);
controller_racing_destroy();
+ view_manager_set_view(VIEW_EMERGENCY_STOP);
}
static void _sensors_cb(s_model_sensors_cb_data *model_data)
static void controller_reset_destroy(void)
{
- //TODO: deinit controller
+ model_cloud_connection_unsubscirbe_event();
}
static void _connected_cb(s_model_cloud_connection_cb_data *model_data)
static void _connected_reset_cb(s_model_cloud_connection_cb_data *model_data)
{
- view_manager_set_view(VIEW_NAME_INPUT);
controller_reset_destroy();
+ view_manager_set_view(VIEW_NAME_INPUT);
}
static void _connected_discard_cb(s_model_cloud_connection_cb_data *model_data)
{
- view_manager_set_view(VIEW_RACING);
controller_reset_destroy();
+ view_manager_set_view(VIEW_RACING);
}
void controller_reset_reset()
model_car_connection.controller_update_cb(&model_data);
}
+void model_car_connection_unsubscirbe_event()
+{
+ model_car_connection.controller_update_cb = NULL;
+}
+
model_cloud_connection.controller_update_cb(&model_data);
}
+void model_cloud_connection_unsubscirbe_event(void)
+{
+ model_cloud_connection.controller_update_cb = NULL;
+ model_cloud_connection.reconnect_cb = NULL;
+}
+
bool model_cloud_connection_player_name_set(const char *player_name)
{
strncpy(model_cloud_connection.player_name, player_name, PLAYER_NAME_MAX_LEN);
model_sensors.sensors_update_cb = model_update_cb;
}
-void model_sensors_unsubscirbe_event()
+void model_sensors_unsubscirbe_event(void)
{
model_sensors.sensors_update_cb = NULL;
}
view_base_create_button(s_info.view_base.view, "Button_Ok", NULL, "images/yes.png", "racing_right", _ok_button_clicked_cb, NULL);
}
-
s_view_base *view_connect_to_car_init(Evas_Object *parent)
{
connect_to_car_create_gui(parent);
static void _text_set_cb(void *data, Evas_Object *obj, void *event_info)
{
-
_text_entered(obj);
elm_object_focus_set(obj, EINA_FALSE);
}
s_info.view_base.view = elm_popup_add(parent);
Evas_Object *layout = view_base_create_layout(s_info.view_base.view, "edje/progress_popup.edj", GRP_MAIN);
-
elm_object_content_set(s_info.view_base.view, layout);
elm_object_style_set(s_info.view_base.view, "circle");
- elm_popup_timeout_set(s_info.view_base.view, 5.0); //TODO Temporaty solution will be changed after the update of the controller
+ elm_popup_timeout_set(s_info.view_base.view, 1.0); //TODO Temporaty solution will be changed after the update of the controller
evas_object_show(s_info.view_base.view);
}