Как получить количество клиентов dbus для объекта - PullRequest
0 голосов
/ 23 января 2012

Я пытаюсь взломать дополнительную функцию для плагина quodlibet mpris. Если вам нужна более подробная информация о том, что я пытаюсь сделать, см. http://code.google.com/p/quodlibet/issues/detail?id=889, но это не обязательно для ответа на вопрос.

Плагин включает несколько классов dbus.service.Object при запуске плагина. Я хотел бы получить для одного из объектов количество клиентов dbus ProxyObject, которые существуют для объекта, например, Я хочу знать, сколько клиентов подключено.

1 Ответ

1 голос
/ 24 января 2012

Насколько я понимаю, между поставщиком услуг DBus и потребителем услуг DBus нет никаких «соединений» или других взаимосвязей с состоянием (по крайней мере, об этом нет упоминания в спецификации протокола сообщений DBus ). Из спецификации ясно видно, что весь этот ProxyObject и тому подобные вещи являются исключительно деталями реализации клиента, и вы не можете обнаружить, есть ли какие-нибудь «клиенты» для вашей службы DBus, висящей там.

Возможно, вы можете либо использовать некоторые нестандартные расширения для MPRIS (например, сообщения 'ping') и попросить клиентов соблюдать эти расширения, либо вы можете сделать настраиваемую опцию типа "не выходить из quodlibet, если какая-либо запущены следующие процессы ".

...