Esempio n. 1
0
        /// <summary>
        /// Will skip to start of next block based on
        /// zero terminators
        /// </summary>
        public void SkipToNext(Events.UnknownEventInfo unknownEventInfo)
        {
            short lookingForTerminator = _bytesLeft;

            do
            {
                _bytesLeft = lookingForTerminator;
                byte[] buffer = new byte[_bytesLeft];
                if (ReadAll(_input, buffer, 0, _bytesLeft) != _bytesLeft)
                {
                    throw new EndOfStreamException();
                }
                unknownEventInfo.Add(buffer);
                _bytesLeft           = 0;
                lookingForTerminator = ReadBytesLeft();
            } while (lookingForTerminator != 0);
        }
Esempio n. 2
0
        private void ProcessEvent(long eventType)
        {
            Events.EventInfo eventInfo;
            switch (eventType)
            {
            case Events.ApplicationInfo.Type:
                eventInfo = new Events.ApplicationInfo();
                break;

            case Events.DeviceInfo.Type:
                eventInfo = new Events.DeviceInfo();
                break;

            case Events.FontInfo.Type:
                eventInfo = new Events.FontInfo();
                break;

            case Events.IdleInfo.Type:
                eventInfo = new Events.IdleInfo();
                break;

            case Events.KeyInfo.Type:
                eventInfo = new Events.KeyInfo();
                break;

            case Events.ResourceInfo.Type:
                eventInfo = new Events.ResourceInfo();
                break;

            case Events.ApplicationParametersInfo.Type:
                eventInfo = new Events.ApplicationParametersInfo();
                break;

            case Events.DisplayInfo.Type:
                eventInfo = new Events.DisplayInfo();
                break;

            default:
                eventInfo = new Events.UnknownEventInfo(eventType);
                break;
            }
            eventInfo.Read(_reader);
            PostEvent(eventInfo);
        }