Как создать такой же 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" />
→ Ссылка