Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> libhal - ожедание сообщения 
V
    Опции темы
Cheloveck
Дата 10.7.2009, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Использую libhal и libhal-storage. Подписываюсь на сообщение о появлении нового устройства в системе, но как заставить программу ждать, найти не могу.
Код

static void device_added( LibHalContext * context,
                const char * udi )
{
    (void)context;
    (void)udi;

    std::cout << "device added\n";
}

int wait_signal()
{
    DBusError error;
    DBusConnection *connection;
    LibHalContext *context;

    dbus_error_init( &error );
    connection = dbus_bus_get( DBUS_BUS_SYSTEM, &error );
    if( !connection )
    {
        std::cerr << "Error: connection failed! dbus message: " <<
            error.name << ": " << error.message << std::endl;
        dbus_error_free( &error );
        return 1;
    }

    context = libhal_ctx_new();
    if( !context )
    {
        std::cerr << "Failed create context\n";
        dbus_connection_unref( connection );
        return 2;
    }

    if( !libhal_ctx_set_dbus_connection( context, connection ) )
    {
        std::cerr << "Error set dbus connection to hal\n";
        libhal_ctx_free( context );
        dbus_connection_unref( connection );
        return 2;
    }

    if( !libhal_ctx_init( context, &error ) )
    {
        std::cerr << "Error init context hal\n";
        dbus_error_free( &error );
        dbus_connection_unref( connection );
        return 3;
    }


    libhal_device_property_watch_all( context, &error );
    libhal_ctx_set_device_added( context, device_added );

    // TODO: Перевести поток в режим ожедания!!!


    libhal_ctx_shutdown( context, &error );
    libhal_ctx_free( context );
    dbus_connection_unref( connection );
    dbus_error_free( &error );
    return 0;
}


Как-бы сделать? Возможно напрямую нужно к dbus обратится...


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


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Cheloveck, 
покажи вывод strace -f <программа>


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Cheloveck
Дата 11.7.2009, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Ну, программы в том виде, что тут уже нет. Но это уже не имеет значения. Я нашёл реализацию того, что мне нужно на Qt. Собственно на Qt и моя программа. Вот тут всё показано. Тема закрыта.

З.Ы. MAKCim, а зачем тебе вывод strace?


--------------------
user posted image
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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