Exemple #1
0
        /// <summary>
        /// 做Cancel操作
        /// </summary>
        private void ActionClear()
        {
            this.oscParam = 0;
            this.oscString.Clear();

            this.intermediate.Clear();
            this.parameters.Clear();

            this.unicodeText.Clear();

            this.dcsStringHandler = null;
        }
Exemple #2
0
        /// <summary>
        /// When a final character has been recognised in a device control string, this state will establish a channel to a handler for the appropriate control function, and then pass all subsequent characters through to this alternate handler, until the data string is terminated
        /// 当在设备控制字符串中识别出最后一个字符时,此状态将建立通向适当控制功能的处理程序的通道,然后将所有后续字符传递给此备用处理程序,直到数据字符串终止
        /// </summary>
        /// <param name="ch">final byte</param>
        private void ActionDCSDispatch(byte ch)
        {
            // 根据最后一个字符判断要使用的DCS的事件处理器
            this.dcsStringHandler = this.ActionDCSDispatch(ch, this.parameters);

            if (this.dcsStringHandler != null)
            {
                // 获取到了该DCS事件处理器,那么要进入收集DCS后续字符的状态
                this.EnterDCSPassThrough();
            }
            else
            {
                // 没获取到该DCS事件处理器(通常情况是没实现该处理器,不支持处理该事件),那么直接进入忽略DCS事件状态
                this.EnterDCSIgnore();
            }
        }