场景是这样的:
在基于Linux的手持设备中,我有一个C应用程序,该应用程序具有准备好由第三方应用程序调用的dbus API。在启动期间会调用DBus API。
我可以在函数中使用任何系统API来打印调用者的ID并将其保存到syslog吗?
提前致谢!
最佳答案
/org/freedesktop/DBus
总线上的org.freedesktop.DBus
对象具有两种属于org.freedesktop.DBus
接口(interface)的方法(哦,不错):GetConnectionUnixUser
和GetConnectionUnixProcessID
。两者都接受一个字符串-唯一的连接名称,可以通过调用dbus_message_get_sender
(或高级API包装器提供的任何方法)获得该名称。