X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dbind%2Fdbind.c;h=e186e9878a8025358c5c293f78a24bc2bd678d79;hb=ecba2419cee6cb34695b24bc38664409a28eaa0e;hp=0103b4b875c5441db22a102276acf753a0ae8d30;hpb=dfc071dcf2f98f282616911cb0eb1636c93f3e77;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/dbind/dbind.c b/dbind/dbind.c index 0103b4b..e186e98 100644 --- a/dbind/dbind.c +++ b/dbind/dbind.c @@ -54,7 +54,7 @@ dbind_method_call_reentrant_va (DBusConnection *cnx, DBusMessage *msg = NULL, *reply = NULL; DBusMessageIter iter; DBusError *err, real_err; - char *p; + const char *p; if (opt_error) err = opt_error; @@ -68,7 +68,7 @@ dbind_method_call_reentrant_va (DBusConnection *cnx, goto out; p = arg_types; - dbus_message_iter_init (msg, &iter); + dbus_message_iter_init_append (msg, &iter); dbind_any_marshal_va (&iter, &p, args); reply = send_and_allow_reentry (cnx, msg, err); @@ -150,36 +150,20 @@ dbind_method_call_reentrant (DBusConnection *cnx, /*---------------------------------------------------------------------------*/ -/** - * dbind_emit_signal: - * - * @cnx: A D-Bus Connection used to make the method call. - * @path: The D-Bus object path that this signal is emitted from. - * @interface: The D-Bus interface used to scope the method name. - * @signal: Name of signal to emit. - * @opt_error: D-Bus error. - * @arg_types: Variable length arguments interleaving D-Bus argument types - * and pointers to argument data. - * - * Emits a D-Bus signal using the supplied signal name and argument data. - **/ dbus_bool_t -dbind_emit_signal (DBusConnection *cnx, - const char *path, - const char *interface, - const char *signal, - DBusError *opt_error, - const char *arg_types, - ...) +dbind_emit_signal_va (DBusConnection *cnx, + const char *path, + const char *interface, + const char *signal, + DBusError *opt_error, + const char *arg_types, + va_list args) { dbus_bool_t success = FALSE; DBusMessage *msg = NULL; DBusMessageIter iter; DBusError *err, real_err; - char *p; - va_list args; - - va_start (args, arg_types); + const char *p; if (opt_error) err = opt_error; @@ -192,7 +176,8 @@ dbind_emit_signal (DBusConnection *cnx, if (!msg) goto out; - dbus_message_iter_init (msg, &iter); + p = arg_types; + dbus_message_iter_init_append (msg, &iter); dbind_any_marshal_va (&iter, &p, args); if (!dbus_connection_send (cnx, msg, NULL)) @@ -200,7 +185,6 @@ dbind_emit_signal (DBusConnection *cnx, success = TRUE; out: - va_end (args); if (msg) dbus_message_unref (msg); @@ -211,4 +195,36 @@ out: return success; } +/** + * dbind_emit_signal: + * + * @cnx: A D-Bus Connection used to make the method call. + * @path: The D-Bus object path that this signal is emitted from. + * @interface: The D-Bus interface used to scope the method name. + * @signal: Name of signal to emit. + * @opt_error: D-Bus error. + * @arg_types: Variable length arguments interleaving D-Bus argument types + * and pointers to argument data. + * + * Emits a D-Bus signal using the supplied signal name and argument data. + **/ +dbus_bool_t +dbind_emit_signal (DBusConnection *cnx, + const char *path, + const char *interface, + const char *signal, + DBusError *opt_error, + const char *arg_types, + ...) +{ + dbus_bool_t success = FALSE; + va_list args; + + va_start (args, arg_types); + success = dbind_emit_signal_va (cnx, path, interface, signal, opt_error, arg_types, args); + va_end (args); + + return success; +} + /*END------------------------------------------------------------------------*/