![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
ldimitri |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 3.4.2009 Пользователь №: 657 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Суть вопроса состоит в следующем:
Пишется класс-оболочка для драйвера устройства, одна из функций этого драйвера устанавливает callback на события устройства. Как можно сделать так, чтобы внеклассовая функция знала, что в данный какой-либо конкретный момент времени ей нужно использовать методы определенного класса?(устройств может быть подключено одновременно несколько, на каждое пойдет свой собственный объект класса-оболочки). |
|
|
![]() |
kwisp |
![]()
Сообщение
#2
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
ну что как успехи с хитрой задачей?
|
|
|
ldimitri |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 3.4.2009 Пользователь №: 657 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ну что как успехи с хитрой задачей? Решил особо не думать)) Зарегистрировал событие, оно устанавливается в callback'e. каждый экземпляр класса его отслеживает, и потом проверяет , ему ли это пришло. если ему - то и считывает, если нет - то поток снова уходит в WaitForSingleObject. Мне так показалось наиболее быстро и безболезненно, тем более что при таком образе действий становится возможным использовать тот же самый поток, что и в мониторинге по поллингу (с добавлением в него пары условных операторов). Вот. Собственно, на данном этапе разработки, задача первичной оболочки драйвера решена и отлажена, а по мере появления непоняток и интересностей во время превращения данной штуковины в вид "Driver->QDeviceDriver->QDeviceManager->QDeviceClient" буду обращаться к коллективному разуму ) |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 15.7.2025, 18:25 |