是否可以使用dbusxx-xml2cpp生成非阻塞调用? 我想用C++来生成C++标题,其中一些方法是非阻塞的,例如使用调用KooKyMytho.NoeLeope而不是这可能吗
例如,以下XML:是否可以使用dbusxx-xml2cpp生成非阻塞调用? 我想用C++来生成C++标题,其中一些方法是非阻塞的,例如使用调用KooKyMytho.NoeLeope而不是这可能吗,c++,code-generation,dbus,C++,Code Generation,Dbus,例如,以下XML: <?xml version="1.0" encoding="UTF-8" ?> <node name="/me/MyService"> <interface name="me.MyService"> <method name="MyMethod"> <arg direction="in" type="s" name="argument"/>
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/me/MyService">
<interface name="me.MyService">
<method name="MyMethod">
<arg direction="in" type="s" name="argument"/>
</method>
</interface>
</node>
将产生(部分):
void MyMethod(常量std::字符串和参数)
{
::DBus::CallMessage调用;
::DBus::MessageIter wi=call.writer();
wi使用注释org.freedesktop.DBus.Method.NoReply“
XML示例:
<node>
<interface name="org.test.example">
<method name="NoReplyMethod">
<arg name="data" direction="in" type="i"/>
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
</method>
</interface>
</node>
生成的代码:
void NoReplyMethod(const int32_t& data)
{
::DBus::CallMessage call;
::DBus::MessageIter wi = call.writer();
wi << data;
call.member("NoReplyMethod");
assert (invoke_method_noreply (call));
}
void NoReplyMethod(const int32\u t&data)
{
::DBus::CallMessage调用;
::DBus::MessageIter wi=call.writer();
谢谢!你知道这方面的文档吗?这个链接有一些信息
<node>
<interface name="org.test.example">
<method name="NoReplyMethod">
<arg name="data" direction="in" type="i"/>
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
</method>
</interface>
</node>
void NoReplyMethod(const int32_t& data)
{
::DBus::CallMessage call;
::DBus::MessageIter wi = call.writer();
wi << data;
call.member("NoReplyMethod");
assert (invoke_method_noreply (call));
}