Как передать другой аргумент в gdbus как unit16, uint32

По умолчанию аргументы, отправляемые в gdbus, имеют тип Int32. Мне нужно отправить аргументы смешанного типа, такие как uint16, uint32 .. Как создать аргументы для gdbus для того же К сожалению, в сети не так много примеров таких случаев использования. Я пытаюсь создать сигнал генерации GDBUS с указанным выше типом аргументов.

Ниже приведен пример того, что я пытаюсь

gdbus emit -y -o /myservice/serverInstance -s com.mimo.myservice.touch "(2,1)"

Ниже вывод

signal sender=:1.5 -> dest=(null destination) serial=6606 path=/myservice/serverInstance; interface=com.mimo.myservice; member=touch
       struct {
          int32 2
          int32 1
       }

В приведенном выше случае мне нужно отправить второй аргумент как uint16. Горячий, чтобы сделать это.

1 ответ

Ниже работает команда Аргументы должны соответствовать стандарту GVariant: https://developer.gnome.org/glib/stable/gvariant-text.html

gdbus emit -y -o /myservice/serverInstance -s com.mimo.myservice.touch "(2, unit16 1)"
Другие вопросы по тегам