Кто вызвал мой DBus API в системе Linux - PullRequest
5 голосов
/ 04 мая 2011

Сценарий такой:

В портативном устройстве на базе Linux у меня есть приложение C, в котором есть API-интерфейсы dbus, готовые к вызову сторонними приложениями.API DBus вызываются во время загрузки.

Есть ли какой-либо системный API, который я могу использовать в своих функциях, чтобы напечатать идентификатор вызывающего абонента и сохранить его в системном журнале?

Заранее спасибо!

1 Ответ

3 голосов
/ 21 мая 2011
У объекта

/org/freedesktop/DBus на шине org.freedesktop.DBus есть два метода, принадлежащих интерфейсу org.freedesktop.DBus (о, хорошо): GetConnectionUnixUser и GetConnectionUnixProcessID.Оба принимают строку - уникальное имя соединения, которое можно получить, вызвав dbus_message_get_sender (или любой другой метод, предлагаемый вашей высокоуровневой оболочкой API).

...