Eina_List *reg_wins;
Eina_Bool tc_running;
+ Eina_Bool tc_timer_needs;
Ecore_Timer *tc_timer;
} Test_Helper_Data;
static Eldbus_Message *_e_test_helper_cb_testcase_start(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
static Eldbus_Message *_e_test_helper_cb_testcase_end(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
+static Eldbus_Message *_e_test_helper_cb_testcase_timeout_set(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
static Eldbus_Message *_e_test_helper_cb_register_window(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
static Eldbus_Message *_e_test_helper_cb_deregister_window(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
static Eldbus_Message *_e_test_helper_cb_reset_register_window(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg);
ELDBUS_ARGS({"b", "accept or not"}),
_e_test_helper_cb_testcase_end, 0
},
+ {
+ "SetTestTimeout",
+ ELDBUS_ARGS({"bu", "needs timer and time in millisecond"}),
+ ELDBUS_ARGS({"b", "accept or not"}),
+ _e_test_helper_cb_testcase_timeout_set, 0
+ },
{
"RegisterWindow",
ELDBUS_ARGS({"u", "window id to be registered"}),
if (th_data->tc_timer)
ecore_timer_del(th_data->tc_timer);
- th_data->tc_timer = ecore_timer_add(E_TC_TIMEOUT, _e_test_helper_cb_tc_timeout, NULL);
+ if (th_data->tc_timer_needs)
+ th_data->tc_timer = ecore_timer_add(E_TC_TIMEOUT, _e_test_helper_cb_tc_timeout, NULL);
res = th_data->tc_running = EINA_TRUE;
}
return reply;
}
+static Eldbus_Message *
+_e_test_helper_cb_testcase_timeout_set(const Eldbus_Service_Interface *iface EINA_UNUSED,
+ const Eldbus_Message *msg)
+{
+ Eldbus_Message *reply;
+ Eina_Bool res = EINA_FALSE;
+ Eina_Bool set = EINA_TRUE;
+ uint32_t timeout = E_TC_TIMEOUT;
+
+ reply = eldbus_message_method_return_new(msg);
+
+ if (!eldbus_message_arguments_get(msg, "bu", &set, &timeout))
+ {
+ ERR("Error on eldbus_message_arguments_get()\n");
+ goto err;
+ }
+
+ if (th_data)
+ {
+ if (set != th_data->tc_timer_needs)
+ {
+ th_data->tc_timer_needs = set;
+ if (!set)
+ ecore_timer_del(th_data->tc_timer);
+ }
+
+ if (timeout > 0)
+ {
+ if (th_data->tc_timer)
+ ecore_timer_del(th_data->tc_timer);
+
+ if (th_data->tc_timer_needs)
+ th_data->tc_timer = ecore_timer_add(timeout, _e_test_helper_cb_tc_timeout, NULL);
+ }
+ res = EINA_TRUE;
+ }
+
+ eldbus_message_arguments_append(reply, "b", res);
+
+ return reply;
+
+err:
+ eldbus_message_arguments_append(reply, "b", EINA_FALSE);
+ return reply;
+}
+
static Eldbus_Message *
_e_test_helper_cb_register_window(const Eldbus_Service_Interface *iface EINA_UNUSED,
const Eldbus_Message *msg)