[ITC][application][ACR-697][Added new API to keep last event data.]
authorShashank Shekhar Shukla <shekhar1.s@samsung.com>
Tue, 16 Aug 2016 13:47:02 +0000 (19:17 +0530)
committershobhit verma <shobhit.v@samsung.com>
Tue, 16 Aug 2016 14:06:38 +0000 (07:06 -0700)
Change-Id: I922ef89952c0caf0be7db6a75cdc5cdaeb5e07a5
Signed-off-by: Shashank Shekhar Shukla <shekhar1.s@samsung.com>
src/itc/application/ITs-application-event.c
src/itc/application/tct-application-native_common_iot.h
src/itc/application/tct-application-native_mobile.h
src/itc/application/tct-application-native_tv.h
src/itc/application/tct-application-native_wearable.h

index c467de1..b194d0d 100755 (executable)
@@ -288,5 +288,67 @@ int ITc_application_event_publish_trusted_app_event_p(void)
        return 0;
 }
 
+//& type: auto
+//& purpose: Sends the User-Event to trusted receiver-applications.
+/**
+* @testcase                    ITc_application_event_keep_last_event_data_p
+* @since_tizen                 3.0
+* @author                              SRID(shekhar1.s)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Keeps last user-event data for receiver applications.
+* @scenario                            Keeps last user-event data.
+* @apicovered                  event_keep_last_event_data
+* @passcase                            When event_keep_last_event_data is successful.
+* @failcase                            If target API fails or returns incorrect value.
+* @precondition                        None
+* @postcondition               None
+*/
+int ITc_application_event_keep_last_event_data_p(void)
+{
+       START_TEST;
+
+       int nTimeoutId = 0;
+       event_handler_h event_handler;
+
+       int nRet = event_keep_last_event_data("event.native.application-itc.user_event");
+       PRINT_RESULT(EVENT_ERROR_NONE, nRet, "event_keep_last_event_data", EventGetError(nRet));
+       
+       bundle* pEventData = bundle_create();
+       CHECK_HANDLE(pEventData, "bundle_create");
+
+       nRet = bundle_add_str(pEventData, "user_data_key1", "user_data_1");
+       PRINT_RESULT_CLEANUP(BUNDLE_ERROR_NONE, nRet, "bundle_add_str", BundleGetError(nRet), bundle_free(pEventData));
+
+       nRet = event_publish_app_event("event.native.application-itc.user_event", pEventData);
+       PRINT_RESULT_CLEANUP(EVENT_ERROR_NONE, nRet, "event_publish_app_event", EventGetError(nRet), bundle_free(pEventData));
+       
+       nRet = event_add_event_handler("event.native.application-itc.user_event", application_event_cb, g_pUserData_applicationEvent, &event_handler);
+       PRINT_RESULT_CLEANUP(EVENT_ERROR_NONE, nRet, "event_add_event_handler", EventGetError(nRet), bundle_free(pEventData));
+       if(NULL == event_handler)
+       {
+               FPRINTF("[Line : %d][%s] event_add_event_handler returned NULL event handle\\n", __LINE__, API_NAMESPACE);
+               event_remove_event_handler(event_handler);
+               bundle_free(pEventData);
+               return 1;       
+       }
+
+       RUN_POLLING_LOOP;
+
+       if (!g_bEventAddHandler)
+       {
+               FPRINTF("[Line : %d][%s] application_event_cb callback not executed\\n", __LINE__, API_NAMESPACE);
+               event_remove_event_handler(event_handler);
+               bundle_free(pEventData);
+               return 1;
+       }
+
+       nRet = bundle_free(pEventData);
+       PRINT_RESULT_NORETURN(BUNDLE_ERROR_NONE, nRet, "bundle_free", BundleGetError(nRet));
+
+       
+
+       return 0;
+}
 /** @} */
 /** @} */
index 1a28914..a016f33 100755 (executable)
@@ -77,6 +77,7 @@ extern int ITc_application_app_control_set_get_launch_mode_p(void);
 extern int ITc_app_event_add_remove_event_handler_p(void);
 extern int ITc_application_event_publish_app_event_p(void);
 extern int ITc_application_event_publish_trusted_app_event_p(void);
+extern int ITc_application_event_keep_last_event_data_p(void);
 extern int ITc_application_internationalization_i18n_get_text_p(void);
 extern int ITc_application_preference_set_get_boolean_p(void);
 extern int ITc_application_preference_set_get_double_p(void);
@@ -135,6 +136,7 @@ testcase tc_array[] = {
     {"ITc_app_event_add_remove_event_handler_p", ITc_app_event_add_remove_event_handler_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_event_publish_app_event_p", ITc_application_event_publish_app_event_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_event_publish_trusted_app_event_p", ITc_application_event_publish_trusted_app_event_p, ITs_application_event_startup, ITs_application_event_cleanup},
+       {"ITc_application_event_keep_last_event_data_p", ITc_application_event_keep_last_event_data_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_internationalization_i18n_get_text_p", ITc_application_internationalization_i18n_get_text_p, ITs_application_internationalization_startup, ITs_application_internationalization_cleanup},
     {"ITc_application_preference_set_get_boolean_p", ITc_application_preference_set_get_boolean_p, ITs_application_preference_startup, ITs_application_preference_cleanup},
     {"ITc_application_preference_set_get_double_p", ITc_application_preference_set_get_double_p, ITs_application_preference_startup, ITs_application_preference_cleanup},
index 38b0f50..5cad59b 100755 (executable)
@@ -77,6 +77,7 @@ extern int ITc_application_app_control_set_get_launch_mode_p(void);
 extern int ITc_app_event_add_remove_event_handler_p(void);
 extern int ITc_application_event_publish_app_event_p(void);
 extern int ITc_application_event_publish_trusted_app_event_p(void);
+extern int ITc_application_event_keep_last_event_data_p(void);
 extern int ITc_application_internationalization_i18n_get_text_p(void);
 extern int ITc_application_preference_set_get_boolean_p(void);
 extern int ITc_application_preference_set_get_double_p(void);
@@ -136,6 +137,7 @@ testcase tc_array[] = {
     {"ITc_app_event_add_remove_event_handler_p", ITc_app_event_add_remove_event_handler_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_event_publish_app_event_p", ITc_application_event_publish_app_event_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_event_publish_trusted_app_event_p", ITc_application_event_publish_trusted_app_event_p, ITs_application_event_startup, ITs_application_event_cleanup},
+       {"ITc_application_event_keep_last_event_data_p", ITc_application_event_keep_last_event_data_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_internationalization_i18n_get_text_p", ITc_application_internationalization_i18n_get_text_p, ITs_application_internationalization_startup, ITs_application_internationalization_cleanup},
     {"ITc_application_preference_set_get_boolean_p", ITc_application_preference_set_get_boolean_p, ITs_application_preference_startup, ITs_application_preference_cleanup},
     {"ITc_application_preference_set_get_double_p", ITc_application_preference_set_get_double_p, ITs_application_preference_startup, ITs_application_preference_cleanup},
index 1a28914..a016f33 100755 (executable)
@@ -77,6 +77,7 @@ extern int ITc_application_app_control_set_get_launch_mode_p(void);
 extern int ITc_app_event_add_remove_event_handler_p(void);
 extern int ITc_application_event_publish_app_event_p(void);
 extern int ITc_application_event_publish_trusted_app_event_p(void);
+extern int ITc_application_event_keep_last_event_data_p(void);
 extern int ITc_application_internationalization_i18n_get_text_p(void);
 extern int ITc_application_preference_set_get_boolean_p(void);
 extern int ITc_application_preference_set_get_double_p(void);
@@ -135,6 +136,7 @@ testcase tc_array[] = {
     {"ITc_app_event_add_remove_event_handler_p", ITc_app_event_add_remove_event_handler_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_event_publish_app_event_p", ITc_application_event_publish_app_event_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_event_publish_trusted_app_event_p", ITc_application_event_publish_trusted_app_event_p, ITs_application_event_startup, ITs_application_event_cleanup},
+       {"ITc_application_event_keep_last_event_data_p", ITc_application_event_keep_last_event_data_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_internationalization_i18n_get_text_p", ITc_application_internationalization_i18n_get_text_p, ITs_application_internationalization_startup, ITs_application_internationalization_cleanup},
     {"ITc_application_preference_set_get_boolean_p", ITc_application_preference_set_get_boolean_p, ITs_application_preference_startup, ITs_application_preference_cleanup},
     {"ITc_application_preference_set_get_double_p", ITc_application_preference_set_get_double_p, ITs_application_preference_startup, ITs_application_preference_cleanup},
index 1a28914..a016f33 100755 (executable)
@@ -77,6 +77,7 @@ extern int ITc_application_app_control_set_get_launch_mode_p(void);
 extern int ITc_app_event_add_remove_event_handler_p(void);
 extern int ITc_application_event_publish_app_event_p(void);
 extern int ITc_application_event_publish_trusted_app_event_p(void);
+extern int ITc_application_event_keep_last_event_data_p(void);
 extern int ITc_application_internationalization_i18n_get_text_p(void);
 extern int ITc_application_preference_set_get_boolean_p(void);
 extern int ITc_application_preference_set_get_double_p(void);
@@ -135,6 +136,7 @@ testcase tc_array[] = {
     {"ITc_app_event_add_remove_event_handler_p", ITc_app_event_add_remove_event_handler_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_event_publish_app_event_p", ITc_application_event_publish_app_event_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_event_publish_trusted_app_event_p", ITc_application_event_publish_trusted_app_event_p, ITs_application_event_startup, ITs_application_event_cleanup},
+       {"ITc_application_event_keep_last_event_data_p", ITc_application_event_keep_last_event_data_p, ITs_application_event_startup, ITs_application_event_cleanup},
     {"ITc_application_internationalization_i18n_get_text_p", ITc_application_internationalization_i18n_get_text_p, ITs_application_internationalization_startup, ITs_application_internationalization_cleanup},
     {"ITc_application_preference_set_get_boolean_p", ITc_application_preference_set_get_boolean_p, ITs_application_preference_startup, ITs_application_preference_cleanup},
     {"ITc_application_preference_set_get_double_p", ITc_application_preference_set_get_double_p, ITs_application_preference_startup, ITs_application_preference_cleanup},