//****************************************************************************************************** // ISupportFrameImage.cs - Gbtc // // Copyright © 2012, Grid Protection Alliance. All Rights Reserved. // // Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See // the NOTICE file distributed with this work for additional information regarding copyright ownership. // The GPA licenses this file to you under the MIT License (MIT), the "License"; you may // not use this file except in compliance with the License. You may obtain a copy of the License at: // // http://www.opensource.org/licenses/MIT // // Unless agreed to in writing, the subject software distributed under the License is distributed on an // "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the // License for the specific language governing permissions and limitations. // // Code Modification History: // ---------------------------------------------------------------------------------------------------- // 03/01/2007 - Pinal C. Patel // Original version of source code generated. // 09/10/2008 - J. Ritchie Carroll // Converted to C#. // 10/28/2008 - Pinal C. Patel // Edited code comments. // 09/14/2009 - Stephen C. Wills // Added new header and license agreement. // 11/23/2011 - J. Ritchie Carroll // Modified to support buffer optimized ISupportBinaryImage. // 12/14/2012 - Starlynn Danyelle Gilliam // Modified Header. // //****************************************************************************************************** using System; namespace GSF.Parsing { /// /// Specifies that this can produce or consume a frame of data represented as a binary image. /// /// /// Related types of protocol data that occur as frames in a stream can implement this interface for automated parsing /// via the class. /// /// Type of the frame identifier. public interface ISupportFrameImage : ISupportBinaryImage { /// /// Gets or sets current . /// /// /// If used, this will need to be set before call to . /// ICommonHeader CommonHeader { get; set; } /// /// Gets the identifier that can be used for identifying the . /// /// /// /// must be unique across all siblings implementing a common or interface. /// /// /// Output types implement this class so they have a consistently addressable identification property. /// /// TTypeIdentifier TypeID { get; } /// /// Gets flag that determines if frame image can queued for publication or should be processed immediately. /// /// /// Some frames, e.g., a configuration or key frame, may be critical to processing of other frames. In this /// case, these types of frames should be published immediately so that subsequent frame parsing can have /// access to needed critical information. /// bool AllowQueuedPublication { get; } } }