Re: [PATCH BlueZ 4/6] gdbus: Call check_signals when sending signals with g_dbus_send_message

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Luiz,

> >> If message passed to g_dbus_send_message is a signal verify if it is a
> >> valid and there really exists an interface with respective signal name.
> >> ---
> >>  gdbus/object.c | 9 +++++++++
> >>  1 file changed, 9 insertions(+)
> >>
> >> diff --git a/gdbus/object.c b/gdbus/object.c
> >> index 510763a..6951171 100644
> >> --- a/gdbus/object.c
> >> +++ b/gdbus/object.c
> >> @@ -1475,6 +1475,15 @@ gboolean g_dbus_send_message(DBusConnection *connection, DBusMessage *message)
> >>
> >>       if (dbus_message_get_type(message) == DBUS_MESSAGE_TYPE_METHOD_CALL)
> >>               dbus_message_set_no_reply(message, TRUE);
> >> +     else {
> >> +             const char *path = dbus_message_get_path(message);
> >> +             const char *interface = dbus_message_get_interface(message);
> >> +             const char *name = dbus_message_get_member(message);
> >> +             const GDBusArgInfo *args;
> >> +
> >> +             if (!check_signal(connection, path, interface, name, &args))
> >> +                     return FALSE;
> >> +     }
> >
> > we have more than just method calls and signals. This could be also used
> > used for sending async method returns.
> 
> I guess I should do else if and check for signal type then, or you
> have a better idea?

just do the else if part here. You could use a switch statement, but
then you can not have local variables. So it does not really help.

I am still wondering why we are setting no reply flag when this is a
method call. That makes no sense to me. Must be missing something.

Regards

Marcel


--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux