*/
#include <stdio.h>
-#include <unistd.h>
-#include <Elementary.h>
-#include <efl_extension.h>
-#include <app.h>
#include <sensor.h>
+#include <app.h>
+#include "communication_center.h"
+#include "resource.h"
+#include "view.h"
#include "log.h"
-static struct {
- Evas_Object *win;
- Evas_Object *conform;
- Evas_Object *layout;
- sensor_h acc_sensor;
- sensor_listener_h acc_listener;
-} main_info = {
- .win = NULL,
- .conform = NULL,
- .layout = NULL,
- .acc_sensor = NULL,
- .acc_listener = NULL,
-};
-
-
-static void _win_delete_request_cb(void *data, Evas_Object *obj, void *event_info)
-{
- ui_app_exit();
-}
-
-static void _back_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- ui_app_exit();
-}
-static void _create_window(char *pkg_name)
-{
- main_info.win = elm_win_util_standard_add("car-controller", "car-controller");
- if (!main_info.win) {
- _E("Failed to create window");
- return;
- }
- elm_win_conformant_set(main_info.win, EINA_TRUE);
- elm_win_autodel_set(main_info.win, EINA_TRUE);
-
- evas_object_smart_callback_add(main_info.win, "delete,request", _win_delete_request_cb, NULL);
- evas_object_show(main_info.win);
-
- main_info.conform = elm_conformant_add(main_info.win);
- if (!main_info.conform) {
- _E("Failed to create conformant");
- return;
- }
- evas_object_size_hint_weight_set(main_info.conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(main_info.win, main_info.conform);
-
- evas_object_show(main_info.conform);
-}
+#define PKG_NAME "car-controller"
-static void _create_layout(void)
-{
- char *res_path = NULL;
- char file_path[1024];
-
- res_path = app_get_resource_path();
- if (res_path) {
- snprintf(file_path, 1024, "%s%s", res_path, "edje/app.edj");
- free(res_path);
- }
-
- main_info.layout = elm_layout_add(main_info.conform);
- if (!main_info.layout) {
- _E("Failed to create layout");
- return;
- }
- elm_layout_file_set(main_info.layout, file_path, "main_page");
-
- /* Layout size setting */
- evas_object_size_hint_weight_set(main_info.layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- eext_object_event_callback_add(main_info.layout, EEXT_CALLBACK_BACK, _back_button_cb, NULL);
-
- elm_object_content_set(main_info.conform, main_info.layout);
-
- evas_object_show(main_info.layout);
-}
-
-static void _acc_sensor_value_changed_cb(sensor_h sensor, sensor_event_s *event, void *data)
+static void ui_app_lang_changed(app_event_info_h event_info, void *user_data)
{
- _D("X: [%f], Y: [%f], Z: [%f]", event->values[0], event->values[1], event->values[2]);
- char x_value[1024];
- char y_value[1024];
- char z_value[1024];
-
- snprintf(x_value, 1024, "%f", event->values[0]);
- snprintf(y_value, 1024, "%f", event->values[1]);
- snprintf(z_value, 1024, "%f", event->values[2]);
-
- elm_object_part_text_set(main_info.layout, "x_value", x_value);
- elm_object_part_text_set(main_info.layout, "y_value", y_value);
- elm_object_part_text_set(main_info.layout, "z_value", z_value);
+ return;
}
-static void _app_initialize_sensor(void)
+static bool app_create(void *user_data)
{
- bool is_supported = false;
+ _D("Let's Start create");
int ret = 0;
- ret = sensor_is_supported(SENSOR_ACCELEROMETER, &is_supported);
- if (ret != SENSOR_ERROR_NONE) {
- _E("Failed to check sensor support");
- return;
- }
-
- if (!is_supported) {
- _E("This Device Do Not Support Accelerometer Sensor");
- return;
+ ret = communication_center_init_communication(COMMUNICATION_TYPE_UDP);
+ if (ret < 0) {
+ _E("Failed to initialize communication center");
+ return false;
}
- _D("This Device Support Accelerometer Sensor");
+ communication_center_start_communication();
- ret = sensor_get_default_sensor(SENSOR_ACCELEROMETER, &main_info.acc_sensor);
- if (ret != SENSOR_ERROR_NONE) {
- _E("Failed to get sensor handler");
- return;
+ ret = resource_initialize_sensor(SENSOR_ACCELEROMETER);
+ if (ret < 0) {
+ _E("Failed to initialize resource sensor");
+ return false;
}
- ret = sensor_create_listener(main_info.acc_sensor, &main_info.acc_listener);
- if (ret != SENSOR_ERROR_NONE) {
- _E("Failed to create sensor listener");
- return;
+ ret = view_create_controller_view(PKG_NAME);
+ if (ret < 0) {
+ _E("Failed to create controller view");
+ return false;
}
- ret = sensor_listener_start(main_info.acc_listener);
- if (ret != SENSOR_ERROR_NONE) {
- _E("Failed to start sensor listener");
- return;
- }
-
- ret = sensor_listener_set_event_cb(main_info.acc_listener, 10, _acc_sensor_value_changed_cb, NULL);
-}
-
-static void ui_app_lang_changed(app_event_info_h event_info, void *user_data)
-{
- return;
-}
-
-static bool app_create(void *user_data)
-{
- _D("Let's Start create layout");
-
- _create_window("car-controller");
-
- _create_layout();
-
- _app_initialize_sensor();
-
return true;
}
static void app_terminate(void *user_data)
{
- int ret = 0;
-
- ret = sensor_listener_unset_event_cb(main_info.acc_listener);
- if (ret != SENSOR_ERROR_NONE) {
- _E("Failed to unset sensor listener event");
- return;
- }
-
- ret = sensor_listener_stop(main_info.acc_listener);
- if (ret != SENSOR_ERROR_NONE) {
- _E("Failed to stop sensor listener event");
- return;
- }
-
- ret = sensor_destroy_listener(main_info.acc_listener);
- if (ret != SENSOR_ERROR_NONE) {
- _E("Failed to destroy sensor listener event");
- return;
- }
-
- return;
+ view_destroy_controller_view();
+ resource_finalize_all_sensor();
+ communication_center_fini_all_communications();
}
int main(int argc, char* argv[])