d-feet not show dbus path and Interface

断了今生、忘了曾经 提交于 2019-12-06 07:48:18

使用d-feet查看dbus程序时,系统原有的d-feet程序显示path和interface等信息,但是自己写的程序虽然在d-feet中能够识别,却不显示path和interface等信息。经过调查发现,d-feet调用程序的org.freedesktop.DBus.Introspectable接口(Interface)下的Introspect函数(Method)。实现了这个接口,返回字符串格式的xml,然后d-feet中就能显示了。

返回字符串格式如下:

"<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\" \n"
        "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n"
        "<node>\n"
        "  <interface name=\"org.freedesktop.DBus.Introspectable\">\n"
            "    <method name=\"Introspect\">\n"
              "      <arg name=\"data\" direction=\"out\" type=\"s\"/>\n"
            "    </method>\n"
          "  </interface>\n"
        "  <interface name=\"test.signal.Type\">\n"
        "    <method name=\"FunctionOne\">\n"
        "      <arg direction=\"in\" type=\"s\"/>\n"
        "    </method>\n"
        "    <method name=\"FunctionTwo\">\n"
        "      <arg direction=\"in\" type=\"s\"/>\n"
        "    </method>\n"
        "  </interface>\n"
        "</node>\n"

效果对比图:

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!