c - 请推荐一个好的D-Bus教程(Linux C GTK+)

标签 c linux gtk dbus

是的,我已经进行了搜索,但只找到了部分有效的东西。这似乎是一个真正的迷宫。例如:

  • 为什么他们甚至使用 g_main_loop_run() ?当GTK+程序已经进入主循环gtk_main()时,真的有必要吗? ?
  • 调用 dbus_bus_request_name() 等函数时,路径、接口(interface)名称和信号名称应该是什么样子? , dbus_message_new_signal() , dbus_bus_add_match() , dbus_message_is_signal() ...?
  • 之后应该如何在 /etc/dbus-1/system.conf 中正确设置名称文件甚至允许程序使用D-Bus接口(interface)?令人惊讶的是,我发现所有教程都忘记提及您需要编辑它。
  • 如何异步捕获消息?是否应该像在单独的线程中那样以某种方式完成?

请推荐任何好的 GTK+ D-Bus 示例,这有助于学习如何使用它。

最佳答案

gtk_main 正在调用 g_main_loop_run(),您应该查看文件 gtk/gtkmain.c来找出答案。

谷歌搜索dbug_bus_request_name给出了几个例子,特别是dbus-example.c

你应该读一本好书 gtk tutorial了解信号和槽在 Gtk 上下文中的含义。

谷歌搜索d-bus教程给出this dbus tutorial

最后,一个好主意是找到并研究相关免费软件的源代码。 GtkApplication示例正在调用dbus代码。

关于c - 请推荐一个好的D-Bus教程(Linux C GTK+),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12534480/

相关文章:

python - 使用 ZeroMQ/NFS 分发实时市场数据?

c - 如何释放内存?

python - pygtk glib.timeout_add() : How to tell if timer not being destroyed?

c - 了解 socket() 输出

C - 在 999 以上加小数位和四舍五入

c - 如何将 (long *) 转换为二维 long 数组

linux - mongodb远程连接问题

python - 在python中使用os.system()来执行linux命令

python - 创建 gtk.Window 的屏幕截图

C、字符串数组不会弃用从字符串常量到 'char*' 的转换