Четверг, 21.09.2017, 06:20
Приветствую Вас Гость

Программирование

Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 0
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2015 » Сентябрь » 14 » QtDbus
09:31
QtDbus
Два дня отладки - лазанья в кишках QtDbus. 1. Выяснил, как передавать передавать свои типы данных по D-Bus (это не совсем тривиально, здесь хоть кто то объяснил)2. Сделал типа такого typedef QMap<QString, QVariant> VariantMap; //--------------------------------------------------------------------------------- Q_DECLARE_METATYPE(VariantMap) //--------------------------------------------------------------------------------- QDBusArgument &operator << (QDBusArgument &arg, const VariantMap &m); const QDBusArgument &operator >> (const QDBusArgument &arg, VariantMap &m); //--------------------------------------------------------------------------------- inline void RegisterVariantMapTypes() { qDBusRegisterMetaType<VariantMap>(); } 3. Сервер упорно отказывался принимать аргумент такого типа. При отладке поучалось что такой тип не зарегистрирован. 4. Выяснилось, что регистрируется тип QMap (кот. уже зарегистрирован), а адаптерный класс (QDBusAbstractAdaptor) не может получить id класса по имени "VariantMap".Вылечилось только когда отказался от typedef (сделал наследника от QMap).Вот такие вот грабли с темплейтами C++UPD:вот на что я наступил - bugreports.qt.nokia.com/browse/QTBUG-6833,спасибо wecanstoptrain
Просмотров: 105 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт

Поиск
Календарь
«  Сентябрь 2015  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
282930
Архив записей