7#include <QtCore/QDebug>
10#include <mm/renderer/types.h>
11#include <sys/neutrino.h>
16 struct sigevent
const *sev);
21static const int c_mmrCode = _PULSE_CODE_MINAVAIL + 0;
29 if (
Q_UNLIKELY((m_channelId = ChannelCreate(_NTO_CHF_DISCONNECT
31 | _NTO_CHF_PRIVATE)) == -1)) {
32 qFatal(
"QQnxMediaEventThread: Can't continue without a channel");
35 if (
Q_UNLIKELY((m_connectionId = ConnectAttach(0, 0, m_channelId,
36 _NTO_SIDE_CHANNEL, 0)) == -1)) {
37 ChannelDestroy(m_channelId);
38 qFatal(
"QQnxMediaEventThread: Can't continue without a channel connection");
41 SIGEV_PULSE_INIT(&m_mmrEvent, m_connectionId, SIGEV_PULSE_PRIO_INHERIT,
c_mmrCode, 0);
49 ConnectDetach(m_connectionId);
50 ChannelDestroy(m_channelId);
61 memset(&msg, 0,
sizeof(msg));
62 int receiveId = MsgReceive(m_channelId, &msg,
sizeof(msg),
nullptr);
75 }
else if (receiveId > 0) {
85 MsgSendPulse(m_connectionId, SIGEV_PULSE_PRIO_INHERIT,
c_readCode, 0);
88void QQnxMediaEventThread::shutdown()
90 MsgSendPulse(m_connectionId, SIGEV_PULSE_PRIO_INHERIT,
c_quitCode, 0);
98#include "moc_qqnxmediaeventthread_p.cpp"
bool wait(QDeadlineTimer deadline=QDeadlineTimer(QDeadlineTimer::Forever))
Combined button and popup list for selecting options.
static const int c_quitCode