/// <summary> /// Notify the WM that something occurred. Assume mutex is locked. /// </summary> private void NotifyWm() { if (m_wm != null && m_wmWakeUpMsg == null) { m_wmWakeUpMsg = new WkbWmWakeUpMsg(this); m_wm.UiBroker.PostToUi(m_wmWakeUpMsg); } }
//////////////////////////////////////////// // Interface methods for internal events. // //////////////////////////////////////////// /// <summary> /// Internal handler for WkbWmWakeUpMsg. /// </summary> public void HandleWmWakeUp(WkbWmWakeUpMsg msg) { lock (m_mutex) { // Clear the posted message reference. Debug.Assert(m_wmWakeUpMsg == msg); m_wmWakeUpMsg = null; } // Notify the WM state machine that we have something for it. m_wm.Sm.HandleWmKcmNotification(); }