c: revise lifecycle and event callbacks. 32/90132/3
authorHermet Park <hermet@hermet.pe.kr>
Wed, 28 Sep 2016 11:43:15 +0000 (20:43 +0900)
committerHermet Park <chuneon.park@samsung.com>
Wed, 28 Sep 2016 11:58:44 +0000 (04:58 -0700)
we need more sophisticated event callback methods for extendibility.

Change-Id: Ib92d63e5cc508f0b01567084ae65be75f5741ec5

23 files changed:
src/examples/efl/c/main.cpp
src/examples/efl/c/page1.cpp
src/examples/efl/c/page10.cpp
src/examples/efl/c/page11.cpp
src/examples/efl/c/page12.cpp
src/examples/efl/c/page13.cpp
src/examples/efl/c/page14.cpp
src/examples/efl/c/page15.cpp
src/examples/efl/c/page16.cpp
src/examples/efl/c/page2.cpp
src/examples/efl/c/page3.cpp
src/examples/efl/c/page4.cpp
src/examples/efl/c/page5.cpp
src/examples/efl/c/page6.cpp
src/examples/efl/c/page7.cpp
src/examples/efl/c/page9.cpp
src/include/efl/mobile/c/_ui_common_view_capi.h
src/include/efl/mobile/c/ui_application.h
src/include/efl/mobile/c/ui_view.h
src/lib/efl/mobile/c/ui_application.cpp
src/lib/efl/mobile/c/ui_standard_view.cpp
src/lib/efl/mobile/c/ui_view.cpp
src/lib/interface/UiIfaceView.cpp

index eec479fa3a1e6dad98156c344f789309cbe55794..203674f2769804bd36130a128eb2bb3f27da66f1 100644 (file)
@@ -13,17 +13,18 @@ app_create(void *data)
        return true;
 }
 
-static void
-app_control(app_control_h app_control, void *data)
+static bool
+app_control(app_control_h app_control, void *user_data)
 {
        /* Handle the launch request. */
+
+       return true;
 }
 
 int
 main(int argc, char *argv[])
 {
-       int ret = 0;
-       ui_app_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_application_lifecycle_cb_s app_lifecycle_cb = {0, };
 
        //Initialize ui_app. ui_app initializes basic resources including ui_viewmgr internally.
        if (!ui_application_init(PACKAGE, LOCALE_DIR))
@@ -33,11 +34,11 @@ main(int argc, char *argv[])
        }
 
        //Register life cycle callback functions.
-       lifecycle_callback.create = app_create;
-       lifecycle_callback.app_control = app_control;
+       app_lifecycle_cb.create = app_create;
+       app_lifecycle_cb.control = app_control;
 
        //Run ui_app. Now it requests to run an application mainloop.
-       if (!ui_application_run(argc, argv, &lifecycle_callback, NULL))
+       if (!ui_application_run(argc, argv, &app_lifecycle_cb, NULL))
        {
                dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_run() is failed");
                return 0;
index 386ea7b97c37c16f65a52652b0d1444ff239024e..7ac56d53c6ba2728d9020a8198141570b324893f 100644 (file)
@@ -31,7 +31,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view1_load_cb(ui_standard_view *view, void *data)
+view1_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -63,7 +63,7 @@ create_page1()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page1");
@@ -74,10 +74,10 @@ create_page1()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view1_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       lifecycle_cb.load = view1_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set() is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index a759be3a825a58861e46046062993bb2f611854a..c1ab302d6c382243d7f846ae4681530ff7249c46 100644 (file)
@@ -30,10 +30,11 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view10_rotate_cb(ui_standard_view *view, int degree, void *data)
+view10_rotate_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
+       //int degree = ui_view_get_degree(view);
 
        //Get a base object from view.
        base = ui_view_get_base(view);
@@ -68,9 +69,9 @@ view10_rotate_cb(ui_standard_view *view, int degree, void *data)
 }
 
 static bool
-view10_load_cb(ui_standard_view *view, void *data)
+view10_load_cb(ui_standard_view *view, void *user_data)
 {
-       return view10_rotate_cb(view, ui_view_get_degree(view), data);
+       return view10_rotate_cb(view, user_data);
 }
 
 void
@@ -78,8 +79,7 @@ create_page10()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
-       ui_view_event_callback_s event_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page10");
@@ -90,19 +90,18 @@ create_page10()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view10_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view10_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
 
        //Set Rotation Event callbacks.
-       event_callback.rotate = view10_rotate_cb;
-       if (!(ret = ui_view_set_event_callbacks(view, &event_callback, NULL)))
+       if (!(ret = ui_view_set_event_cb(view, UI_VIEW_EVENT_ROTATE, view10_rotate_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_event_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_event_cb() is failed. err = %d", ret);
        }
 
        ui_viewmgr_push_view(view);
index 1922c794b4d8e22ac254bc01e0f8fe2334831bee..56f685f27554f7574dcdbc179b0fc2902408cb36 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view11_load_cb(ui_standard_view *view, void *data)
+view11_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -66,10 +66,11 @@ ctxpopup_item_select_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view11_menu_cb(ui_menu *menu, void *data)
+view11_menu_cb(ui_view *view, void *user_data)
 {
        Eo *base = NULL;
        Elm_Ctxpopup *ctxpopup = NULL;
+       ui_menu *menu = ui_view_get_menu(view);
 
        //Get a base object from menu.
        base = ui_menu_get_base(menu);
@@ -107,8 +108,7 @@ create_page11()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
-       ui_view_event_callback_s event_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page11");
@@ -118,20 +118,19 @@ create_page11()
                return;
        }
 
-       //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view11_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       //Set View Life-Cycle callback.
+       view_lifecycle_cb.load = view11_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
 
-       //Set Menu Event callbacks.
-       event_callback.menu = view11_menu_cb;
-       if (!(ret = ui_view_set_event_callbacks(view, &event_callback, NULL)))
+       //Set Menu Event callback.
+       if (!(ret = ui_view_set_event_cb(view, UI_VIEW_EVENT_MENU, view11_menu_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_event_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_event_cb() is failed. err = %d", ret);
        }
 
        ui_viewmgr_push_view(view);
index 1af28102c63ecd06e611019af1d6905b12ef7085..8ca7a98efd63a2f67b5c241e4442357c9d468b49 100644 (file)
@@ -94,7 +94,7 @@ view12_btn_clicked(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view12_load_cb(ui_standard_view *view, void *data)
+view12_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -133,7 +133,7 @@ create_page12()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view
        view = ui_standard_view_create("page12");
@@ -144,10 +144,10 @@ create_page12()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view12_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view12_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index 34e110d1ed611c2f7dc5068772bb14a56700820e..a2f5321013314b872012bcc78b75fa346b069b8e 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view13_load_cb(ui_standard_view *view, void *data)
+view13_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -62,7 +62,7 @@ create_page13()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page13");
@@ -76,10 +76,10 @@ create_page13()
        ui_view_set_transition_style(view, "fade");
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view13_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view13_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index 8fc88faeb885421ae1c88787be04c891b803ec26..ee6cc41ef7c61a86265d735ee242ccb8a0d8cb66 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view14_load_cb(ui_standard_view *view, void *data)
+view14_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -62,7 +62,7 @@ create_page14()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page14");
@@ -76,10 +76,10 @@ create_page14()
        ui_view_set_transition_style(view, "none");
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view14_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view14_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index ce8894917a5582ef8541c04b51a65f7407e637b8..495acf9abeb5c2f828eb78ddccdb338d83fc5717 100644 (file)
@@ -24,7 +24,7 @@ view15_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view15_load_cb(ui_standard_view *view, void *data)
+view15_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -62,7 +62,7 @@ create_page15()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        view = ui_standard_view_create("page15");
        if (!view)
@@ -72,10 +72,10 @@ create_page15()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view15_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view15_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index 718c4c5ba17160b712cee82cd900f6f8d3a904f9..d472bd1ce7bdbf2a71f6f8511c20c7cc2042b46f 100644 (file)
@@ -58,7 +58,7 @@ title_hide_anim_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view16_load_cb(ui_standard_view *view, void *data)
+view16_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -90,7 +90,7 @@ create_page16()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page16");
@@ -101,10 +101,10 @@ create_page16()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view16_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view16_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index 44b068482261cac7b6b308436999db2e0dd422ef..76d6b3351c485ff3b681c5f93e9265f67201872c 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view2_load_cb(ui_standard_view *view, void *data)
+view2_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -76,7 +76,7 @@ create_page2()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page2");
@@ -87,10 +87,10 @@ create_page2()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view2_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view2_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set() is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index 0e290924061a41bfda200e0c7c77d9d4b4fad82b..a85581acac5de75d7eaf9f6378105c6c0e21510e 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view3_load_cb(ui_standard_view *view, void *data)
+view3_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -63,7 +63,7 @@ create_page3()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page3");
@@ -74,10 +74,10 @@ create_page3()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view3_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view3_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index ccdd79c0942fa55088304a6a3bb67fe23bf326af..01c64492fbb47c69f67c9e8bfe16482a99515942 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view4_load_cb(ui_standard_view *view, void *data)
+view4_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -63,7 +63,7 @@ create_page4()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page4");
@@ -74,10 +74,10 @@ create_page4()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view4_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view4_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index 3146e9ca29f464d28c67118a881184d911b826fe..8a5095f0ecbbe0490e51eeb8f3b3427a3dbf4449 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view5_load_cb(ui_view *view, void *data)
+view5_load_cb(ui_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -63,7 +63,7 @@ create_page5()
 {
        int ret = 0;
        ui_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_view_create("page5");
@@ -74,10 +74,10 @@ create_page5()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view5_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view5_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index 9556bae76963d30d992baf3a97d6b6a5f038a372..bdaa662e869e2aaf57ebb886e8d1804945f0b05f 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view6_load_cb(ui_standard_view *view, void *data)
+view6_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -66,7 +66,7 @@ create_page6()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page6");
@@ -77,10 +77,10 @@ create_page6()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view6_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view6_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index 815ac915cf58421eecbb6aab62e8cf673c389305..702618611996556543c9a58355b7fc3a8ff1f05a 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view7_load_cb(ui_standard_view *view, void *data)
+view7_load_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -66,7 +66,7 @@ create_page7()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page7");
@@ -77,10 +77,10 @@ create_page7()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view7_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view7_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
index ce48198eaf867dbdca297e783d74e70a83d10096..e77c42ffdf81e58decadf2eb83d5159e71d642e5 100644 (file)
@@ -30,7 +30,7 @@ next_btn_clicked_cb(void *data, Eo *obj, void *event_info)
 }
 
 static bool
-view9_portrait_cb(ui_standard_view *view, void *data)
+view9_portrait_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -60,7 +60,7 @@ view9_portrait_cb(ui_standard_view *view, void *data)
 }
 
 static bool
-view9_landscape_cb(ui_standard_view *view, void *data)
+view9_landscape_cb(ui_standard_view *view, void *user_data)
 {
        Eo *content = NULL;
        Eo *base = NULL;
@@ -88,13 +88,13 @@ view9_landscape_cb(ui_standard_view *view, void *data)
 }
 
 static bool
-view9_load_cb(ui_standard_view *view, void *data)
+view9_load_cb(ui_standard_view *view, void *user_data)
 {
        if (ui_view_get_orientation_mode(view) == UI_VIEW_ORIENTATION_MODE_PORTRAIT)
        {
-               return view9_portrait_cb(view, data);
+               return view9_portrait_cb(view, user_data);
        } else {
-               return view9_landscape_cb(view, data);
+               return view9_landscape_cb(view, user_data);
        }
 }
 
@@ -103,8 +103,7 @@ create_page9()
 {
        int ret = 0;
        ui_standard_view *view = NULL;
-       ui_view_lifecycle_callback_s lifecycle_callback = {0, };
-       ui_view_event_callback_s event_callback = {0, };
+       ui_view_lifecycle_cb_s view_lifecycle_cb = {0, };
 
        //Create a view.
        view = ui_standard_view_create("page9");
@@ -115,20 +114,24 @@ create_page9()
        }
 
        //Set View Life-Cycle callbacks.
-       lifecycle_callback.load = view9_load_cb;
-       if (!(ret = ui_view_set_lifecycle_callbacks(view, &lifecycle_callback, NULL)))
+       view_lifecycle_cb.load = view9_load_cb;
+       if (!(ret = ui_view_set_lifecycle_cb(view, &view_lifecycle_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_lifecycle_cb() is failed. err = %d", ret);
                ui_view_destroy(view);
                return;
        }
 
-       //Set Portrait/Landscape Event callbacks.
-       event_callback.portrait = view9_portrait_cb;
-       event_callback.landscape = view9_landscape_cb;
-       if (!(ret = ui_view_set_event_callbacks(view, &event_callback, NULL)))
+       //Set Portrait Event callback.
+       if (!(ret = ui_view_set_event_cb(view, UI_VIEW_EVENT_PORTRAIT, view9_portrait_cb, NULL)))
        {
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_event_callback_set is failed. err = %d", ret);
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_event_cb() is failed. err = %d", ret);
+       }
+
+       //Set Landscape Event callback.
+       if (!(ret = ui_view_set_event_cb(view, UI_VIEW_EVENT_LANDSCAPE, view9_landscape_cb, NULL)))
+       {
+               dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_set_event_cb() is failed. err = %d", ret);
        }
 
        ui_viewmgr_push_view(view);
index a5271c1e6987b705de631062691deec00ca0affd..231bb015264051e41ee67d131dfffc7d8046bb72 100644 (file)
@@ -23,16 +23,17 @@ namespace efl_viewmanager
 class ui_common_view_capi
 {
 public:
-       ui_view_lifecycle_callback_s lifecycle_callback;
-       ui_view_event_callback_s event_callback;
-       void *lifecycle_data;
-       void *event_data;
-       const char *type;
+       ui_view_lifecycle_cb_s lifecycle_cb = {nullptr, };
+       void *lifecycle_data = nullptr;
 
-       ui_common_view_capi(const char *type) : lifecycle_data(NULL), event_data(NULL), type(type)
+       //TODO: Optimize memory? We don't need all slots.
+       ui_view_event_cb event_cb[UI_VIEW_EVENT_LAST] = {nullptr, };
+       void* event_data[UI_VIEW_EVENT_LAST] = {nullptr, };
+
+       const char *type = nullptr;
+
+       ui_common_view_capi(const char *type) : lifecycle_data(NULL), type(type)
        {
-               this->lifecycle_callback = {0, };
-               this->event_callback = {0, };
        }
 
        ~ui_common_view_capi()
index 65555909c5ccf5dfc617c2fbaf8e211e367860f7..2de61ffe1515072d15de3e05fc6af9cef50055a8 100644 (file)
@@ -5,6 +5,23 @@
 extern "C" {
 #endif
 
+typedef bool (*ui_application_create_cb)(void *user_data);
+typedef bool (*ui_application_terminate_cb)(void *user_data);
+typedef bool (*ui_application_pause_cb)(void *user_data);
+typedef bool (*ui_application_resume_cb)(void *user_data);
+typedef bool (*ui_application_control_cb)(app_control_h app_control, void *user_data);
+
+typedef struct
+{
+       ui_application_create_cb create;
+       ui_application_terminate_cb terminate;
+       ui_application_pause_cb pause;
+       ui_application_resume_cb resume;
+       ui_application_control_cb control;
+
+} ui_application_lifecycle_cb_s;
+
+
 /**
  * @defgroup CAPI_UI_APPLICATION UI Application
  * @ingroup CAPI_UI_VIEWMGR_MODULE
@@ -44,7 +61,7 @@ EAPI bool ui_application_init(const char *pkg, const char *locale_dir);
  *
  *  @since_tizen 3.0
  */
-EAPI bool ui_application_run(int argc, char **argv, ui_app_lifecycle_callback_s *lifecycle_callback, void *user_data);
+EAPI bool ui_application_run(int argc, char **argv, ui_application_lifecycle_cb_s *app_lifecycle_cb, void *user_data);
 
 /**
  *  @brief This is ui_application destructor.
index 9851db79490eb3cb5c15a532420415b088d08bb1..935ff42a4914a9ae6ca967ffbff3989366718774 100644 (file)
@@ -17,42 +17,14 @@ extern "C" {
  *
  *  @since_tizen 3.0
  */
-typedef bool (*ui_view_lifecycle_cb)(ui_view *view, void *data);
+typedef bool (*ui_view_lifecycle_cb)(ui_view *view, void *user_data);
 
 /**
  *  @brief ui_view's rotate event callback function signature.
  *
  *  @since_tizen 3.0
  */
-typedef bool (*ui_view_event_rotate_cb)(ui_view *view, int degree, void *data);
-
-/**
- *  @brief ui_view's portrait event callback function signature.
- *
- *  @since_tizen 3.0
- */
-typedef bool (*ui_view_event_portrait_cb)(ui_view *view, void *data);
-
-/**
- *  @brief ui_view's landscape event callback function signature.
- *
- *  @since_tizen 3.0
- */
-typedef bool (*ui_view_event_landscape_cb)(ui_view *view, void *data);
-
-/**
- *  @brief ui_view's back event callback function signature.
- *
- *  @since_tizen 3.0
- */
-typedef bool (*ui_view_event_back_cb)(ui_view *view, void *data);
-
-/**
- *  @brief ui_view's menu event callback function signature.
- *
- *  @since_tizen 3.0
- */
-typedef bool (*ui_view_event_menu_cb)(ui_menu *menu, void *data);
+typedef bool (*ui_view_event_cb)(ui_view *view, void *user_data);
 
 /**
  *  @brief The structure type containing the set of callback functions for handling view's lifecycle events.
@@ -68,22 +40,22 @@ typedef struct
        ui_view_lifecycle_cb activate;
        ui_view_lifecycle_cb deactivate;
        ui_view_lifecycle_cb destroy;
-} ui_view_lifecycle_callback_s;
+} ui_view_lifecycle_cb_s;
+
 
 /**
- *  @brief The structure type containing the set of callback functions for handling view's events.
+ *  @brief The Enumeration for view events.
  *
  *  @since_tizen 3.0
  */
-typedef struct
-{
-       ui_view_event_rotate_cb rotate;
-       ui_view_event_portrait_cb portrait;
-       ui_view_event_landscape_cb landscape;
-       ui_view_event_back_cb back;
-       ui_view_event_menu_cb menu;
-} ui_view_event_callback_s;
-
+typedef enum {
+       UI_VIEW_EVENT_ROTATE = 0,
+       UI_VIEW_EVENT_PORTRAIT,
+       UI_VIEW_EVENT_LANDSCAPE,
+       UI_VIEW_EVENT_BACK,
+       UI_VIEW_EVENT_MENU,
+       UI_VIEW_EVENT_LAST
+} ui_view_event_type_e;
 
 /**
  *  @brief A constructor for an ui_view.
@@ -118,27 +90,28 @@ EAPI bool ui_view_set_content(ui_view *view, Eo *content);
  *  @brief Set callback functions for handling view's lifecycle events.
  *
  *  @param view An ui_view instance.
- *  @param lifecycle_callback The set of callback functions to handle application lifecycle events.
- *  @param data The user data to be passed to the given @a lifecycle_callback functions.
+ *  @param lifecycle_cb The set of callback functions to handle application lifecycle events.
+ *  @param user_data The user data to be passed to the given @a lifecycle_callback functions.
  *
  *  @return @c true if it succeeds, @c false otherwise.
  *
  *  @since_tizen 3.0
  */
-EAPI bool ui_view_set_lifecycle_callbacks(ui_view *view, ui_view_lifecycle_callback_s *lifecycle_callback, void *data);
+EAPI bool ui_view_set_lifecycle_cb(ui_view *view, ui_view_lifecycle_cb_s *lifecycle_cb, void *user_data);
 
 /**
  *  @brief Set callback functions for handling view events.
  *
  *  @param view An ui_view instance.
- *  @param event_callback The set of callback functions to handle view events.
- *  @param data The user data to be passed to the given @a event_callback functions.
+ *  @param event_type ui_view event type.
+ *  @param event_cb The set of callback functions to handle view events.
+ *  @param user_data The user data to be passed to the given @a event_callback functions.
  *
  *  @return @c true if it succeeds, @c false otherwise.
  *
  *  @since_tizen 3.0
  */
-EAPI bool ui_view_set_event_callbacks(ui_view *view, ui_view_event_callback_s *event_callback, void *data);
+EAPI bool ui_view_set_event_cb(ui_view *view, ui_view_event_type_e event_type, ui_view_event_cb event_cb, void *user_data);
 
 /**
  *  @brief Get a base object of ui_view.
@@ -308,7 +281,7 @@ EAPI const char *ui_view_get_transition_style(ui_view *view);
  *
  *  @since_tizen 3.0
  */
-EAPI const ui_menu *ui_view_get_menu(ui_view *view);
+EAPI ui_menu *ui_view_get_menu(ui_view *view);
 
 /**
  *  @brief Return a name of this view.
index 4c43f2ed985d526660f3e3f70dce7f46a4e05304..c3c2995cbfb79a456e9d247644dd8f14a3530011 100644 (file)
@@ -4,51 +4,64 @@
 class ui_app_capi : public UiApp
 {
 public:
-       ui_app_lifecycle_callback_s capi_lifecycle_callback;
-       void *data;
+       ui_application_lifecycle_cb_s app_lifecycle_cb;
+       void *user_data;
 
        bool onCreate()
        {
                if (!UiApp::onCreate()) return false;
 
-               if (!this->capi_lifecycle_callback.create) return false;
-               return this->capi_lifecycle_callback.create(this->data);
+               if (this->app_lifecycle_cb.create)
+               {
+                       return this->app_lifecycle_cb.create(this->user_data);
+               }
+
+               return true;
        }
 
        void onTerminate()
        {
                UiApp::onTerminate();
 
-               if (!this->capi_lifecycle_callback.terminate) return;
-               this->capi_lifecycle_callback.terminate(this->data);
+               if (this->app_lifecycle_cb.terminate)
+               {
+                       this->app_lifecycle_cb.terminate(this->user_data);
+               }
        }
 
        void onPause()
        {
                UiApp::onPause();
 
-               if (!this->capi_lifecycle_callback.pause) return;
-               this->capi_lifecycle_callback.pause(this->data);
+               if (this->app_lifecycle_cb.pause)
+               {
+                       this->app_lifecycle_cb.pause(this->user_data);
+               }
+
        }
 
        void onResume()
        {
                UiApp::onResume();
 
-               if (!this->capi_lifecycle_callback.resume) return;
-               this->capi_lifecycle_callback.resume(this->data);
+               if (this->app_lifecycle_cb.resume)
+               {
+                       this->app_lifecycle_cb.resume(this->user_data);
+               }
        }
 
        void onControl(app_control_h app_control)
        {
                UiApp::onControl(app_control);
 
-               if (!this->capi_lifecycle_callback.app_control) return;
-               this->capi_lifecycle_callback.app_control(app_control, this->data);
+               if (this->app_lifecycle_cb.control)
+               {
+                       this->app_lifecycle_cb.control(app_control, this->user_data);
+               }
        }
 
        ui_app_capi(const char *pkg, const char *locale_dir)
-                       : UiApp(pkg, locale_dir), data(nullptr)
+                       : UiApp(pkg, locale_dir), user_data(nullptr)
        {
        }
 
@@ -56,14 +69,18 @@ public:
        {
        }
 
-       bool run(int argc, char **argv, ui_app_lifecycle_callback_s *lifecycle_callback, void *user_data)
+       bool run(int argc, char **argv, ui_application_lifecycle_cb_s* app_lifecycle_cb, void* user_data)
        {
-               if (lifecycle_callback)
+               if (app_lifecycle_cb)
+               {
+                       this->app_lifecycle_cb = *app_lifecycle_cb;
+               }
+               else
                {
-                       this->capi_lifecycle_callback = *lifecycle_callback;
+                       memset(&this->app_lifecycle_cb, 0x0, sizeof(this->app_lifecycle_cb));
                }
 
-               this->data = user_data;
+               this->user_data = user_data;
 
                return UiApp::run(argc, argv);
        }
@@ -88,7 +105,7 @@ EAPI bool ui_application_init(const char *pkg, const char *locale_dir)
        return true;
 }
 
-EAPI bool ui_application_run(int argc, char **argv, ui_app_lifecycle_callback_s *lifecycle_callback, void *user_data)
+EAPI bool ui_application_run(int argc, char **argv, ui_application_lifecycle_cb_s* app_lifecycle_cb, void* user_data)
 {
        ui_app_capi *app = g_app;
        if (!app)
@@ -97,7 +114,7 @@ EAPI bool ui_application_run(int argc, char **argv, ui_app_lifecycle_callback_s
                return false;
        }
 
-       return app->run(argc, argv, lifecycle_callback, user_data);
+       return app->run(argc, argv, app_lifecycle_cb, user_data);
 }
 
 EAPI bool ui_application_term(void)
index 589f44ac7094b0cc155416a3a8fe2a4440f0a320..70e1b8be4abdfd399d30c7f47afc00a6a0d283e8 100644 (file)
@@ -10,108 +10,108 @@ class ui_standard_view_capi: public ui_standard_view, public ui_common_view_capi
 public:
        void onLoad()
        {
-               if (this->lifecycle_callback.load)
+               if (this->lifecycle_cb.load)
                {
-                       if (!this->lifecycle_callback.load(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.load(this, this->lifecycle_data)) return;
                }
                ui_standard_view::onLoad();
        }
 
        void onUnload()
        {
-               if (this->lifecycle_callback.unload)
+               if (this->lifecycle_cb.unload)
                {
-                       if (!this->lifecycle_callback.unload(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.unload(this, this->lifecycle_data)) return;
                }
                ui_standard_view::onUnload();
        }
 
        void onPause()
        {
-               if (this->lifecycle_callback.pause)
+               if (this->lifecycle_cb.pause)
                {
-                       if (!this->lifecycle_callback.pause(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.pause(this, this->lifecycle_data)) return;
                }
                ui_standard_view::onPause();
        }
 
        void onResume()
        {
-               if (this->lifecycle_callback.resume)
+               if (this->lifecycle_cb.resume)
                {
-                       if (!this->lifecycle_callback.resume(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.resume(this, this->lifecycle_data)) return;
                }
                ui_standard_view::onResume();
        }
 
        void onActivate()
        {
-               if (this->lifecycle_callback.activate)
+               if (this->lifecycle_cb.activate)
                {
-                       if (!this->lifecycle_callback.activate(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.activate(this, this->lifecycle_data)) return;
                }
                ui_standard_view::onActivate();
        }
 
        void onDeactivate()
        {
-               if (this->lifecycle_callback.deactivate)
+               if (this->lifecycle_cb.deactivate)
                {
-                       if (!this->lifecycle_callback.deactivate(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.deactivate(this, this->lifecycle_data)) return;
                }
                ui_standard_view::onDeactivate();
        }
 
        void onDestroy()
        {
-               if (this->lifecycle_callback.destroy)
+               if (this->lifecycle_cb.destroy)
                {
-                       if (!this->lifecycle_callback.destroy(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.destroy(this, this->lifecycle_data)) return;
                }
                ui_standard_view::onDestroy();
        }
 
        void onPortrait()
        {
-               if (this->event_callback.portrait)
+               if (this->event_cb[UI_VIEW_EVENT_PORTRAIT])
                {
-                       if (!this->event_callback.portrait(this, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_PORTRAIT])(this, this->event_data[UI_VIEW_EVENT_PORTRAIT])) return;
                }
                ui_standard_view::onPortrait();
        }
 
        void onLandscape()
        {
-               if (this->event_callback.landscape)
+               if (this->event_cb[UI_VIEW_EVENT_LANDSCAPE])
                {
-                       if (!this->event_callback.landscape(this, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_LANDSCAPE])(this, this->event_data[UI_VIEW_EVENT_LANDSCAPE])) return;
                }
                ui_standard_view::onLandscape();
        }
 
        void onRotate(int degree)
        {
-               if (this->event_callback.rotate)
+               if (this->event_cb[UI_VIEW_EVENT_ROTATE])
                {
-                       if (!this->event_callback.rotate(this, degree, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_ROTATE])(this, this->event_data[UI_VIEW_EVENT_ROTATE])) return;
                }
                ui_standard_view::onRotate(degree);
        }
 
        void onBack()
        {
-               if (this->event_callback.back)
+               if (this->event_cb[UI_VIEW_EVENT_BACK])
                {
-                       if (!this->event_callback.back(this, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_BACK])(this, this->event_data[UI_VIEW_EVENT_BACK])) return;
                }
                ui_standard_view::onBack();
        }
 
        void onMenu(ui_menu *menu)
        {
-               if (this->event_callback.menu)
+               if (this->event_cb[UI_VIEW_EVENT_MENU])
                {
-                       if (!this->event_callback.menu(menu, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_MENU])(this, this->event_data[UI_VIEW_EVENT_MENU])) return;
                }
                ui_standard_view::onMenu(menu);
        }
index af6cf3c7d6a1f0f7dba7d4634732ed88d881d141..10a9bf1c08c6caed2f8fd85b7dce0182885085ac 100644 (file)
@@ -9,108 +9,108 @@ class ui_view_capi: public ui_view, public ui_common_view_capi
 public:
        void onLoad()
        {
-               if (this->lifecycle_callback.load)
+               if (this->lifecycle_cb.load)
                {
-                       if (!this->lifecycle_callback.load(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.load(this, this->lifecycle_data)) return;
                }
                ui_view::onLoad();
        }
 
        void onUnload()
        {
-               if (this->lifecycle_callback.unload)
+               if (this->lifecycle_cb.unload)
                {
-                       if (!this->lifecycle_callback.unload(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.unload(this, this->lifecycle_data)) return;
                }
                ui_view::onUnload();
        }
 
        void onPause()
        {
-               if (this->lifecycle_callback.pause)
+               if (this->lifecycle_cb.pause)
                {
-                       if (!this->lifecycle_callback.pause(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.pause(this, this->lifecycle_data)) return;
                }
                ui_view::onPause();
        }
 
        void onResume()
        {
-               if (this->lifecycle_callback.resume)
+               if (this->lifecycle_cb.resume)
                {
-                       if (!this->lifecycle_callback.resume(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.resume(this, this->lifecycle_data)) return;
                }
                ui_view::onResume();
        }
 
        void onActivate()
        {
-               if (this->lifecycle_callback.activate)
+               if (this->lifecycle_cb.activate)
                {
-                       if (!this->lifecycle_callback.activate(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.activate(this, this->lifecycle_data)) return;
                }
                ui_view::onActivate();
        }
 
        void onDeactivate()
        {
-               if (this->lifecycle_callback.deactivate)
+               if (this->lifecycle_cb.deactivate)
                {
-                       if (!this->lifecycle_callback.deactivate(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.deactivate(this, this->lifecycle_data)) return;
                }
                ui_view::onDeactivate();
        }
 
        void onDestroy()
        {
-               if (this->lifecycle_callback.destroy)
+               if (this->lifecycle_cb.destroy)
                {
-                       if (!this->lifecycle_callback.destroy(this, this->lifecycle_data)) return;
+                       if (!this->lifecycle_cb.destroy(this, this->lifecycle_data)) return;
                }
                ui_view::onDestroy();
        }
 
        void onPortrait()
        {
-               if (this->event_callback.portrait)
+               if (this->event_cb[UI_VIEW_EVENT_PORTRAIT])
                {
-                       if (!this->event_callback.portrait(this, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_PORTRAIT])(this, this->event_data[UI_VIEW_EVENT_PORTRAIT])) return;
                }
                ui_view::onPortrait();
        }
 
        void onLandscape()
        {
-               if (this->event_callback.landscape)
+               if (this->event_cb[UI_VIEW_EVENT_LANDSCAPE])
                {
-                       if (!this->event_callback.landscape(this, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_LANDSCAPE])(this, this->event_data[UI_VIEW_EVENT_LANDSCAPE])) return;
                }
                ui_view::onLandscape();
        }
 
        void onRotate(int degree)
        {
-               if (this->event_callback.rotate)
+               if (this->event_cb[UI_VIEW_EVENT_ROTATE])
                {
-                       if (!this->event_callback.rotate(this, degree, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_ROTATE])(this, this->event_data[UI_VIEW_EVENT_ROTATE])) return;
                }
                ui_view::onRotate(degree);
        }
 
        void onBack()
        {
-               if (this->event_callback.back)
+               if (this->event_cb[UI_VIEW_EVENT_BACK])
                {
-                       if (!this->event_callback.back(this, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_BACK])(this, this->event_data[UI_VIEW_EVENT_BACK])) return;
                }
                ui_view::onBack();
        }
 
        void onMenu(ui_menu *menu)
        {
-               if (this->event_callback.menu)
+               if (this->event_cb[UI_VIEW_EVENT_MENU])
                {
-                       if (!this->event_callback.menu(menu, this->event_data)) return;
+                       if (!(*this->event_cb[UI_VIEW_EVENT_MENU])(this, this->event_data[UI_VIEW_EVENT_MENU])) return;
                }
                ui_view::onMenu(menu);
        }
@@ -145,7 +145,7 @@ EAPI ui_view* ui_view_create(const char *name)
        return new ui_view_capi(name);
 }
 
-EAPI bool ui_view_set_lifecycle_callbacks(ui_view *view, ui_view_lifecycle_callback_s *lifecycle_callback, void *data)
+EAPI bool ui_view_set_lifecycle_cb(ui_view *view, ui_view_lifecycle_cb_s *lifecycle_cb, void *user_data)
 {
        if (!validate_view(view)) return false;
 
@@ -156,18 +156,23 @@ EAPI bool ui_view_set_lifecycle_callbacks(ui_view *view, ui_view_lifecycle_callb
                return false;
        }
 
-       if (lifecycle_callback)
+       if (lifecycle_cb)
        {
-               event_attr->lifecycle_callback = *lifecycle_callback;
+               event_attr->lifecycle_cb = *lifecycle_cb;
        }
-       event_attr->lifecycle_data = data;
+       event_attr->lifecycle_data = user_data;
 
        return true;
 }
 
-EAPI bool ui_view_set_event_callbacks(ui_view *view, ui_view_event_callback_s *event_callback, void *data)
+EAPI bool ui_view_set_event_cb(ui_view *view, ui_view_event_type_e event_type, ui_view_event_cb event_cb, void *user_data)
 {
        if (!validate_view(view)) return false;
+       if (event_type < UI_VIEW_EVENT_ROTATE || event_type >= UI_VIEW_EVENT_LAST)
+       {
+               LOGE("This view(%p) event_type is invalid(%d)", view, event_type);
+               return false;
+       }
 
        auto event_attr = dynamic_cast<ui_common_view_capi *>(view);
        if (!event_attr)
@@ -176,11 +181,8 @@ EAPI bool ui_view_set_event_callbacks(ui_view *view, ui_view_event_callback_s *e
                return false;
        }
 
-       if (event_callback)
-       {
-               event_attr->event_callback = *event_callback;
-       }
-       event_attr->event_data = data;
+       event_attr->event_cb[event_type] = event_cb;
+       event_attr->event_data[event_type] = user_data;
 
        return true;
 }
@@ -257,10 +259,10 @@ EAPI const char *ui_view_get_transition_style(ui_view *view)
        return view->getTransitionStyle();
 }
 
-EAPI const ui_menu *ui_view_get_menu(ui_view *view)
+EAPI ui_menu *ui_view_get_menu(ui_view *view)
 {
        if (!validate_view(view)) return nullptr;
-       return view->getMenu();
+       return const_cast<ui_menu*>(view->getMenu());
 }
 
 EAPI const char *ui_view_get_name(ui_view *view)
index dcbaae7c76ccb44e7cc8242431e6d5c66fcd06a8..78688671a94d3c433e63e6e53d0e2fdd3fa9c1a2 100644 (file)
@@ -184,7 +184,7 @@ bool UiIfaceViewImpl::setAvailableRotations(const int *rotations, unsigned int c
                return false;
        }
 
-       for (auto i = 0; i < count; i++) {
+       for (unsigned int i = 0; i < count; i++) {
                this->_rotations[i] = rotations[i];
        }