/// <summary> /// Raises the <see cref="FrameParserBase{TypeIndentifier}.ReceivedHeaderFrame"/> event. /// </summary> /// <param name="frame"><see cref="IHeaderFrame"/> to send to <see cref="FrameParserBase{TypeIndentifier}.ReceivedHeaderFrame"/> event.</param> protected override void OnReceivedHeaderFrame(IHeaderFrame frame) { // IEEE 1344 header frames can span multiple frame images, so we don't allow base class to raise this event until all frames have been assembled... ISupportFrameImage <FrameType> frameImage = frame as ISupportFrameImage <FrameType>; if (frameImage != null) { CommonFrameHeader commonHeader = frameImage.CommonHeader as CommonFrameHeader; if (commonHeader != null && commonHeader.IsLastFrame) { base.OnReceivedHeaderFrame(frame); } } }
/// <summary> /// Raises the <see cref="FrameParserBase{TypeIndentifier}.ReceivedConfigurationFrame"/> event. /// </summary> /// <param name="frame"><see cref="IConfigurationFrame"/> to send to <see cref="FrameParserBase{TypeIndentifier}.ReceivedConfigurationFrame"/> event.</param> protected override void OnReceivedConfigurationFrame(IConfigurationFrame frame) { // IEEE 1344 configuration frames can span multiple frame images, so we don't allow base class to raise this event until all frames have been assembled... ISupportFrameImage <FrameType> frameImage = frame as ISupportFrameImage <FrameType>; if (frameImage != null) { CommonFrameHeader commonHeader = frameImage.CommonHeader as CommonFrameHeader; if (commonHeader != null && commonHeader.IsLastFrame) { base.OnReceivedConfigurationFrame(frame); // Cache new configuration frame for parsing subsequent data frames... ConfigurationFrame configurationFrame = frame as ConfigurationFrame; if (configurationFrame != null) { m_configurationFrame = configurationFrame; } } } }