eldbus: Add timeout parameter to eldbus_proxy_send_and_block()
authorJosé Roberto de Souza <zehortigoza@gmail.com>
Fri, 5 Dec 2014 03:04:20 +0000 (01:04 -0200)
committerChris Michael <cp.michael@samsung.com>
Fri, 5 Dec 2014 14:53:08 +0000 (09:53 -0500)
As all other send functions have, we need to have here.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/lib/eldbus/eldbus_pending.c
src/lib/eldbus/eldbus_private.h
src/lib/eldbus/eldbus_proxy.c
src/lib/eldbus/eldbus_proxy.h

index 67c478d..9db56af 100644 (file)
@@ -159,7 +159,7 @@ _eldbus_connection_send(Eldbus_Connection *conn, Eldbus_Message *msg, Eldbus_Mes
 }
 
 Eldbus_Message *
-_eldbus_connection_send_and_block(Eldbus_Connection *conn, Eldbus_Message *msg)
+_eldbus_connection_send_and_block(Eldbus_Connection *conn, Eldbus_Message *msg, double timeout)
 {
    Eldbus_Message *reply = NULL;
    DBusError err;
index 1a75ac3..7b4bdde 100644 (file)
@@ -73,7 +73,7 @@ Eldbus_Connection_Name *eldbus_connection_name_get(Eldbus_Connection *conn, cons
 void                   eldbus_connection_name_owner_monitor(Eldbus_Connection *conn, Eldbus_Connection_Name *cn, Eina_Bool enable);
 
 Eldbus_Pending         *_eldbus_connection_send(Eldbus_Connection *conn, Eldbus_Message *msg, Eldbus_Message_Cb cb, const void *cb_data, double timeout);
-Eldbus_Message         *_eldbus_connection_send_and_block(Eldbus_Connection *conn, Eldbus_Message *msg);
+Eldbus_Message         *_eldbus_connection_send_and_block(Eldbus_Connection *conn, Eldbus_Message *msg, double timeout);
 
 Eldbus_Message_Iter    *eldbus_message_iter_sub_iter_get(Eldbus_Message_Iter *iter);
 Eina_Value            *_message_iter_struct_to_eina_value(Eldbus_Message_Iter *iter);
index ad32732..0d2ba15 100644 (file)
@@ -547,9 +547,9 @@ _eldbus_proxy_send(Eldbus_Proxy *proxy, Eldbus_Message *msg, Eldbus_Message_Cb c
 }
 
 static Eldbus_Message *
-_eldbus_proxy_send_and_block(Eldbus_Proxy *proxy, Eldbus_Message *msg)
+_eldbus_proxy_send_and_block(Eldbus_Proxy *proxy, Eldbus_Message *msg, double timeout)
 {
-   return _eldbus_connection_send_and_block(proxy->obj->conn, msg);
+   return _eldbus_connection_send_and_block(proxy->obj->conn, msg, timeout);
 }
 
 EAPI Eldbus_Pending *
@@ -562,12 +562,12 @@ eldbus_proxy_send(Eldbus_Proxy *proxy, Eldbus_Message *msg, Eldbus_Message_Cb cb
 }
 
 EAPI Eldbus_Message *
-eldbus_proxy_send_and_block(Eldbus_Proxy *proxy, Eldbus_Message *msg)
+eldbus_proxy_send_and_block(Eldbus_Proxy *proxy, Eldbus_Message *msg, double timeout)
 {
    ELDBUS_PROXY_CHECK_RETVAL(proxy, NULL);
    EINA_SAFETY_ON_NULL_RETURN_VAL(msg, NULL);
 
-   return _eldbus_proxy_send_and_block(proxy, msg);
+   return _eldbus_proxy_send_and_block(proxy, msg, timeout);
 }
 
 EAPI Eldbus_Message *
index 69f5806..b010aee 100644 (file)
@@ -121,12 +121,14 @@ EAPI Eldbus_Pending        *eldbus_proxy_send(Eldbus_Proxy *proxy, Eldbus_Messag
  *
  * @param proxy the msg will be send in connection that proxy belongs
  * @param msg message that will be send
+ * @param timeout timeout in milliseconds, -1 to default internal value or
+ * ELDBUS_TIMEOUT_INFINITE for no timeout
  *
  * @return The reply message, error message or NULL.
  * The returned Eldbus_Message need to be unref after read.
  * @since 1.13
  */
-EAPI Eldbus_Message        *eldbus_proxy_send_and_block(Eldbus_Proxy *proxy, Eldbus_Message *msg) EINA_ARG_NONNULL(1, 2);
+EAPI Eldbus_Message        *eldbus_proxy_send_and_block(Eldbus_Proxy *proxy, Eldbus_Message *msg, double timeout) EINA_ARG_NONNULL(1, 2);
 
 /**
  * @brief Call a method in proxy.