Проблема QDBus: получение org.freedesktop.DBus.Error.UnknownMethod, но метод существует - PullRequest
0 голосов
/ 11 августа 2010

Я программирую на C ++ в Ubuntu, использую QDBus, и у меня есть следующий фрагмент кода:

this->m_cRemoteInterface = new QDBusInterface("org.my.service", "/data", "org.freedesktop.DBus.Properties.Get"); 

QDBusReply<uint64_t> cResult = m_cRemoteInterface->call("property1");

Код выдает следующую ошибку:

org.freedesktop.DBus.Error.UnknownMethod: Метод "property1" с подпись "" на интерфейсе "Org.freedesktop.DBus.Properties.Get" не существует

Но когда я запускаю следующую команду в оболочке, она возвращает правильное значение:

dbus org.my.service / data org.freedesktop.DBus.Properties.Get " "property1

Что я мог сделать не так?

Заранее спасибо, Эми

1 Ответ

0 голосов
/ 11 августа 2010

После полудня следов и ошибок:

я объявил

org.freedesktop.DBus.Properties.Get

как интерфейс, который не прав.

Мне пришлось использовать только

org.freedesktop.DBus.Properties

в качестве интерфейса, а затем

call ("Получить", "", "property1");

Пусть это кому-нибудь поможет. :).

...