Поиск:

Ответ в темуСоздание новой темы Создание опроса
> QDBus, QDBus - что это и с чем его едят 
:(
    Опции темы
Sality123
Дата 31.3.2012, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 10.3.2011

Репутация: нет
Всего: нет



Всем привет, вот натолкнулся на такой класс QDBus и его наследников... чувствую что что-то крутое, но никак немогу понять с чем его едят, как заюзать примитивный пример, и для каких целей на практике

заранее спс.)
PM MAIL   Вверх
alexvs11
Дата 31.3.2012, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 21.8.2010

Репутация: 2
Всего: 10



обычно дело происходит так:
пишешь xml-ку, в которой описаны dbus вызовы, которым должен будущий адаптер обладать, также параметры шины итп
потом скармливаешь это qdbusxml2cpp, который генерирует тебе исходный код твоего адаптера, наследника QDbusAdaptor
Теперь можно будет просто дергать его методы и не задумываться о том, что существует какойто dbus
PM MAIL   Вверх
Cheloveck
Дата 31.3.2012, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



Цитата(Sality123 @  31.3.2012,  22:52 Найти цитируемый пост)
с чем его едят,

Вот один из примеров использования


--------------------
user posted image
PM Jabber   Вверх
alexvs11
Дата 31.3.2012, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 21.8.2010

Репутация: 2
Всего: 10



Cheloveck, там самый топорынй вариант однако
PM MAIL   Вверх
Cheloveck
Дата 31.3.2012, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



alexvs11, зато сразу понятно кто есть кто


--------------------
user posted image
PM Jabber   Вверх
Sality123
Дата 31.3.2012, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 10.3.2011

Репутация: нет
Всего: нет



хм.. если грубо сказать это интерфейс для работы с железом на более низком уровне чем АПИ, которое предоставляет ОС ? Например я могу получить мак адрес сетевой платы или данные о процессоре ? я могу открыть СД ром у компа или отключить флешку... я правильно понял возможности QDBus ?
PM MAIL   Вверх
alexvs11
Дата 31.3.2012, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 21.8.2010

Репутация: 2
Всего: 10



Цитата(Sality123 @  31.3.2012,  23:34 Найти цитируемый пост)
хм.. если грубо сказать это интерфейс для работы с железом на более низком уровне чем АПИ, которое предоставляет ОС ? Например я могу получить мак адрес сетевой платы или данные о процессоре ? я могу открыть СД ром у компа или отключить флешку... я правильно понял возможности QDBus ?

это просто более удобный способ работы с dbus
ничего большего чем dbus он предоставлять не может, просто один из вариантов IPC
что такое dbus - на википедии http://ru.wikipedia.org/wiki/D-Bus
PM MAIL   Вверх
_GRIN_
Дата 1.4.2012, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


одинокий падаван
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 18.11.2007
Где: Калуга

Репутация: 6
Всего: 7



Вообще лучше без надобности QDBus лучше не юзать.
Мы тоже сначала на него сели (флэшки, ибп и т.д.) но потому уткнулись в переиодические задержки до 25 секунд (!) 
например в таком вызове:
Код

    QDBusReply<  QStringList > reply = this->m_hal->iface()->call("FindDeviceByCapability","battery");

и стали потихоньку с него слезать.


--------------------
Дорогу осилит идущий
PM MAIL Skype   Вверх
alexvs11
Дата 2.4.2012, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 21.8.2010

Репутация: 2
Всего: 10



_GRIN_, а в чем проблема оказалась, именно Qt'шной реализации?
помню тоже между разными версиями поведение с переподключение по dbus'у отличалось, это было печально
PM MAIL   Вверх
Cheloveck
Дата 2.4.2012, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



_GRIN_, что-то мне сдаётся, что проблема не в dbus (и не в QDBus), а в HAL. HAL уже одной с половиной ногой в могиле. Задержка могла быть вызвана, вероятно, тем, что HAL теперь работает через udev.

Это сообщение отредактировал(а) Cheloveck - 2.4.2012, 01:24


--------------------
user posted image
PM Jabber   Вверх
Sality123
Дата 2.4.2012, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 10.3.2011

Репутация: нет
Всего: нет



А есть у кого-нибудь любой рабочий кусок кода на QDbus ? мне бы принцип работы с ним. Что-то в нете мало инфы по нему почемуто. Вот например, чтоб узнать зарядку батареи в винде и линуксе по разному. Я так понимаю через QDbus это можно сделать кросплатформенно?
PM MAIL   Вверх
alexvs11
Дата 2.4.2012, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


hell is here
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 21.8.2010

Репутация: 2
Всего: 10



Цитата(Sality123 @  2.4.2012,  12:44 Найти цитируемый пост)
А есть у кого-нибудь любой рабочий кусок кода на QDbus ? мне бы принцип работы с ним. Что-то в нете мало инфы по нему почемуто. Вот например, чтоб узнать зарядку батареи в винде и линуксе по разному. Я так понимаю через QDbus это можно сделать кросплатформенно? 

в примерах есть
PM MAIL   Вверх
Cheloveck
Дата 2.4.2012, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



Цитата(Sality123 @  2.4.2012,  13:44 Найти цитируемый пост)
 Я так понимаю через QDbus это можно сделать кросплатформенно? 

Цитата

The QtDBus module is a Unix-only library that you can use to perform Inter-Process Communication using the D-Bus protocol.

http://qt-project.org/doc/qt-4.8/qtdbus.html


--------------------
user posted image
PM Jabber   Вверх
_GRIN_
Дата 2.4.2012, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


одинокий падаван
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 18.11.2007
Где: Калуга

Репутация: 6
Всего: 7



alexvs11, Cheloveck, врать не буду - я уж не помню вчём конкретно была причина задержки.
qdbus использовали для hal-а под Mandriva 2009. 
помню обнаружили, коммент себе в исходниках оставили и пошли менять - давно это было.


--------------------
Дорогу осилит идущий
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1142 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.