Как создать такой же dbus skeleton?
Пишу приложение и посматриваю на программу thunar, а точнее в её исходные коды. И вот для меня не понятно кое что. Есть такой код.
static void
thunar_dbus_service_init (ThunarDBusService *dbus_service)
{
dbus_service->file_manager = thunar_dbus_file_manager_skeleton_new ();
dbus_service->trash = thunar_dbus_trash_skeleton_new ();
dbus_service->thunar = thunar_dbus_thunar_skeleton_new ();
dbus_service->file_manager_fdo = thunar_org_freedesktop_file_manager1_skeleton_new ();
В чем прикол, так это я не могу найти с помощью egrep -ri 'thunar_dbus_file_manager_skeleton_new'. значит это делается с помощью макроса. Но я всё равно понять не могу где это определяется.
Наверное используюется dbus-codegen.
Ответы (1 шт):
Автор решения: xverizex
→ Ссылка
надо объявить xml файл и прописать node для создания dbus skeleton. названия указывать так.
<interface name="org.xfce.Trash">
<annotation name="org.gtk.GDBus.C.Name" value="DBusTrash" />