d-foot возвращает g-dbus-error-quark: GDBus.Error: org.freedesktop.DBus.Error.UnknownMethod - PullRequest
0 голосов
/ 11 мая 2019

Я тестирую метод, который показан как часть d-футов, метод указан со следующими аргументами

method_name 
(Struct of(Int32,Int32,Int32,String) _struct1, 
Struct of(  
Struct of(Int32,Struct of(Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean),String),  
Struct of (Byte)) _struct2, 
Struct of(Struct of(Boolean, Struct of(Int32, Int32), Byte),  
Struct of(Struct of(Int16, Int 16),Struct of(Int16, Int16))) _struct3)

Я передаю следующее как Ввод метода на d-футах

(0, 1, 32, "112"),->_struct1
((1, (True, False, False, False, False, False, False,), "TestString"), (4,)), ->_struct2
((True, (18859320, 187996428), 45), ((0, 10),(0, 30))) ->_struct3

Когда я выполняю метод, я получаю следующее сообщение

g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: 
Method "method-name" with signature 
"(iiis)((i(bbbbbbb)s)(y)((b(ii)y)((nn)(nn)))" 
on interface "interface-name" doesn't exist(19)

Я контролировал интерфейс через dbus-monitor, чтобы проверить, был ли зарегистрирован вызов, и я могу увидеть списокэтот метод с аргументами, которые я передал, и я увидел правильный список

Я проверил ввод по выводу org.freedektop.DBus.Introspectable, вывод метода,

<method name="method_name">
<arg name="_struct1" type="(iiis)" direction="in" />
<arg name="_struct2" type="((i(bbbbbbb)s)(y))" direction="in" />
<arg name="_struct3" type="((b(ii)y)((nn)(nn)))" direction="in" />

Я хотел бы знать, где я ошибаюсь с вводом, чтобы получить ошибку подписи UnknownMethod

...