예제 #1
0
파일: WmKcdBroker.cs 프로젝트: tmbx/kwm-ng
 /// <summary>
 /// Notify the WM that something occurred. Assume mutex is locked.
 /// </summary>
 private void NotifyWm()
 {
     if (m_wmWakeUpMsg == null)
     {
         m_wmWakeUpMsg = new KcdWmWakeUpMsg(this);
         KBase.ExecInUI(new KBase.EmptyDelegate(m_wmWakeUpMsg.Run));
     }
 }
예제 #2
0
파일: WmKcdBroker.cs 프로젝트: tmbx/kwm-ng
        ////////////////////////////////////////////
        // Interface methods for internal events. //
        ////////////////////////////////////////////

        /// <summary>
        /// Internal handler for KcdWmWakeUpMsg.
        /// </summary>
        public void HandleWmWakeUp(KcdWmWakeUpMsg 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.
            DoOnEvent();
        }
예제 #3
0
파일: WmKcdBroker.cs 프로젝트: tmbx/kwm-ng
 /// <summary>
 /// Notify the WM that something occurred. Assume mutex is locked.
 /// </summary>
 private void NotifyWm()
 {
     if (m_wmWakeUpMsg == null)
     {
         m_wmWakeUpMsg = new KcdWmWakeUpMsg(this);
         KBase.ExecInUI(new KBase.EmptyDelegate(m_wmWakeUpMsg.Run));
     }
 }
예제 #4
0
파일: WmKcdBroker.cs 프로젝트: tmbx/kwm-ng
        ////////////////////////////////////////////
        // Interface methods for internal events. //
        ////////////////////////////////////////////
        /// <summary>
        /// Internal handler for KcdWmWakeUpMsg.
        /// </summary>
        public void HandleWmWakeUp(KcdWmWakeUpMsg 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.
            DoOnEvent();
        }