using System.IO; /// /// GTA audio sharp namespace /// namespace GTAAudioSharp { /// /// Commitable memory stream class /// public class CommitableMemoryStream : MemoryStream { /// /// GTA audio file /// private AGTAAudioFile gtaAudioFile; /// /// On close /// internal OnCloseGTAAudioFileEventHandler OnClose; /// /// Constructor /// /// GTA audio file /// Sample rate internal CommitableMemoryStream(AGTAAudioFile gtaAudioFile) : base() { this.gtaAudioFile = gtaAudioFile; } /// /// Constructor /// /// GTA audio file /// Sample rate /// Buffer internal CommitableMemoryStream(AGTAAudioFile gtaAudioFile, byte[] buffer) : base(buffer) { this.gtaAudioFile = gtaAudioFile; } /// /// Constructor /// /// GTA audio file /// Sample rate /// Capacity internal CommitableMemoryStream(AGTAAudioFile gtaAudioFile, int capacity) : base(capacity) { this.gtaAudioFile = gtaAudioFile; } /// /// Constructor /// /// GTA audio file /// Sample rate /// Buffer /// Writable internal CommitableMemoryStream(AGTAAudioFile gtaAudioFile, byte[] buffer, bool writable) : base(buffer, writable) { this.gtaAudioFile = gtaAudioFile; } /// /// Constructor /// /// GTA audio file /// Sample rate /// Buffer /// Index /// Count internal CommitableMemoryStream(AGTAAudioFile gtaAudioFile, byte[] buffer, int index, int count) : base(buffer, index, count) { this.gtaAudioFile = gtaAudioFile; } /// /// Constructor /// /// GTA audio file /// Sample rate /// Buffer /// Index /// Count /// Writable internal CommitableMemoryStream(AGTAAudioFile gtaAudioFile, byte[] buffer, int index, int count, bool writable) : base(buffer, index, count, writable) { this.gtaAudioFile = gtaAudioFile; } /// /// Constructor /// /// GTA audio file /// Sample rate /// Buffer /// Index /// Count /// Writable /// Publicly visible internal CommitableMemoryStream(AGTAAudioFile gtaAudioFile, byte[] buffer, int index, int count, bool writable, bool publiclyVisible) : base(buffer, index, count, writable, publiclyVisible) { this.gtaAudioFile = gtaAudioFile; } /// /// Close(); /// public override void Close() { if (OnClose != null) { OnClose(gtaAudioFile, this); OnClose = null; } base.Close(); } } }