Example #1
0
 /// <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);
     }
 }
Example #2
0
        ////////////////////////////////////////////
        // 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();
        }