如何使用qdbusxml2cpp生成Introspect方法?

问题描述 投票:0回答:1

当我使用qdbusxml2cpp创建适配器时,创建的类没有org interface.freedesktop.DBus.Introspectable的Introspect方法。可能是怎么回事?这个方法不是应该自动生成吗?

xml文件的内容:

<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/com/company/product/interface">
    <interface name="com.company.product.interface">
        <method name="sendCommand">
            <arg type="s" name="device" direction="in"/>
            <arg type="s" name="command" direction="in"/>
            <arg type="b" name="success" direction="out"/>
        </method>
        <method name="sendCommandEx">
            <arg type="s" name="device" direction="in"/>
            <arg type="s" name="command" direction="in"/>
            <arg type="b" name="success" direction="out"/>
            <arg type="s" name="result" direction="out"/>
        </method>
    </interface>
</node>
c++ qt qdbus
1个回答
0
投票

qdbusxml2cpp
不会自动生成
org interface.freedesktop.DBus.Introspectable
界面,需要手动添加:

<interface name="org.freedesktop.DBus.Introspectable">
    <method name="Introspect">
        <arg type="s" name="xmlData" direction="out"/>
    </method>
</interface>
© www.soinside.com 2019 - 2024. All rights reserved.