void MHEngine::EngineEvent(int nCode) { if (CurrentApp()) EventTriggered(CurrentApp(), EventEngineEvent, nCode); else if (!m_fBooting) MHLOG(MHLogWarning, QString("WARN EngineEvent %1 but no app").arg(nCode)); }
// Called from the windowing application, this generates a user event as the result of a button push. void MHEngine::GenerateUserAction(int nCode) { MHScene *pScene = CurrentScene(); if (! pScene) { return; } // Various keys generate engine events as well as user events. // These are generated before the user events and even if there // is an interactible. switch (nCode) { case 104: case 105: // Text key EventTriggered(pScene, EventEngineEvent, 4); break; case 16: // Text Exit/Cancel key case 100: // Red case 101: // Green case 102: // Yellow case 103: // Blue case 300: // EPG EventTriggered(pScene, EventEngineEvent, nCode); break; } // If we are interacting with an interactible send the key // there otherwise generate a user event. if (m_Interacting) { m_Interacting->KeyEvent(this, nCode); } else { EventTriggered(pScene, EventUserInput, nCode); } }
void MHEngine::StreamStarted(MHStream *stream, bool bStarted) { EventTriggered(stream, bStarted ? EventStreamPlaying : EventStreamStopped); }
// Call this from input thread or whatever, it doesn't matter void Event::Trigger(EventParams &e) { EventTriggered(this, e); }
void EventHandler::eventTriggered(const Event &event) { QVariantMap params; params.insert("event", JsonTypes::packEvent(event)); emit EventTriggered(params); }