Size: a a a

 archlinux_ru 

2020 October 13

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
Я могу подтвердить, что это наркомания
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
Пытался реализовать его в телеге
источник

AN

Alexander N in  archlinux_ru 
Я чего вспомнил то об этом
источник

AN

Alexander N in  archlinux_ru 
Там просто смотри прикол в чём
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
Спецификацию делал какой-то мазохист
источник

AN

Alexander N in  archlinux_ru 
Ты вызываешь метод, который устанавливает значение на интерфейсе))
источник

AN

Alexander N in  archlinux_ru 
Ща
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
Alexander N
        //HOW TO CALL VARIANT?:
       else if (!dbus_message_iter_open_container(&arguments_iterator, DBUS_TYPE_VARIANT, DBUS_TYPE_DOUBLE_AS_STRING, &subIter)) {
           ::dbus_message_unref(dbus_msg);
           throw Error("Error", "Failed to allocate memory");
       }
       else if (!dbus_message_iter_append_basic(&subIter, DBUS_TYPE_DOUBLE, &volume)) {
           ::dbus_message_unref(dbus_msg);
           throw Error("Error", "Failed to allocate memory");
       }
       else if (!dbus_message_iter_close_container(&arguments_iterator, &subIter)) {
           ::dbus_message_unref(dbus_msg);
           throw Error("Error", "Failed to allocate memory");
       }
Я так понимаю, все беды от того, что libdbus не умеет работать с properties'ами
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
Короче, эти properties'ы - это синтаксический сахар, их нет в протоколе
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
И ты вызываешь generic-метод, он не знает, какой именно property какого типа ты задашь
источник

AN

Alexander N in  archlinux_ru 
Я вызываю генерик, чтобы на определённом интерфейсе задать проперти
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
Если у тебя в либе есть поддержка properties'ов, она сама может под капотом завернуть в variant и вызвать этот метод
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
Alexander N
Я вызываю генерик, чтобы на определённом интерфейсе задать проперти
Не важно, там нет другого метода на самом деле, когда у тебя где-то отображаются properties, на самом деле их прога получает через эти же методы
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
Физически там только сигналы, слоты и методы
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
эти properties это уже для твоего удобства представляются в прогах типа d-feet или qdbusviewer
источник

AN

Alexander N in  archlinux_ru 
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Set string:org.mpris.MediaPlayer2.Player string:Volume variant:double:1.1
источник

AN

Alexander N in  archlinux_ru 
Примерно так)
источник

AN

Alexander N in  archlinux_ru 
если из консоли
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
Alexander N
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Set string:org.mpris.MediaPlayer2.Player string:Volume variant:double:1.1
busctl поудобнее, имхо
источник

𝙼

𝙼𝚛. 𝙱𝚘𝚠𝚕𝚎𝚛 𝙷𝚊𝚝... in  archlinux_ru 
источник