Есть Qt приложение для отображения данных, полученных по CAN-интерфейсу. И есть С-библиотека, реализующая обмен. В приложении создаю QThread, который запускает поток run() в котором для работы с библиотекой устанавливаются callback-и на прием пакетов. Проблемы: 1. для оповещения главного потока о приходе новых данных не могу использовать сигналы, т.к. в callback-ах не катит emit signal. А копировать в них новые данные в данные класса, а потом как-то отслеживать в потоке флаг, что они есть, вроде коряво. 2. Метод класса callback-ом сделать тоже нельзя. Прототип void (*)(void).Что-то не пойму, как это сделать без корявости тотальной глобальности переменных-данных
|