static void end_program(int sig);
static Eina_Bool _e_info_client_eldbus_message(const char *method, E_Info_Message_Cb cb);
static Eina_Bool _e_info_client_eldbus_message_with_args(const char *method, E_Info_Message_Cb cb, const char *signature, ...);
+static Eina_Bool _e_info_client_eldbus_message_with_args_timeout(const char *method, E_Info_Message_Cb cb, double timeout, const char *signature, ...);
static void _e_info_client_eldbus_message_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending *p);
static Eina_Bool
goto err;
}
- if (!_e_info_client_eldbus_message_with_args("dump_buffers", _cb_buffer_shot, "iisdi",
- dumprun, count, path, scale, mark))
+ if (!_e_info_client_eldbus_message_with_args_timeout("dump_buffers", _cb_buffer_shot,
+ ELDBUS_TIMEOUT_INFINITE, "iisdi",
+ dumprun, count, path, scale, mark))
{
printf("dump_buffers fail (%d)\n", dumprun);
return;
return EINA_TRUE;
}
+static Eina_Bool
+_e_info_client_eldbus_message_with_args_timeout(const char *method, E_Info_Message_Cb cb, double timeout, const char *signature, ...)
+{
+ Eldbus_Pending *p;
+ va_list ap;
+
+ va_start(ap, signature);
+ p = eldbus_proxy_vcall(e_info_client.proxy, method,
+ _e_info_client_eldbus_message_cb,
+ cb, timeout, signature, ap);
+ va_end(ap);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(p, EINA_FALSE);
+
+ ecore_main_loop_begin();
+ return EINA_TRUE;
+}
+
static void
_e_info_client_eldbus_disconnect(void)
{