// /*************************************************************************** // Aaru Data Preservation Suite // ---------------------------------------------------------------------------- // // Filename : Delegates.cs // Author(s) : Natalia Portillo // // Component : Common types. // // --[ Description ] ---------------------------------------------------------- // // Delegates to communicate with user interface. // // --[ License ] -------------------------------------------------------------- // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // ---------------------------------------------------------------------------- // Copyright © 2011-2025 Natalia Portillo // ****************************************************************************/ // ReSharper disable UnusedType.Global namespace Aaru.CommonTypes; /// Initializes a progress indicator (e.g. makes a progress bar visible) public delegate void InitProgressHandler(); /// Updates a progress indicator with text public delegate void UpdateProgressHandler(string text, long current, long maximum); /// Pulses a progress indicator with indeterminate boundaries public delegate void PulseProgressHandler(string text); /// Uninitializes a progress indicator (e.g. adds a newline to the console) public delegate void EndProgressHandler(); /// Initializes a secondary progress indicator (e.g. makes a progress bar visible) public delegate void InitProgressHandler2(); /// Updates a secondary progress indicator with text public delegate void UpdateProgressHandler2(string text, long current, long maximum); /// Pulses a secondary progress indicator with indeterminate boundaries public delegate void PulseProgressHandler2(string text); /// Uninitializes a secondary progress indicator (e.g. adds a newline to the console) public delegate void EndProgressHandler2(); /// Initializes two progress indicators (e.g. makes a progress bar visible) public delegate void InitTwoProgressHandler(); /// Updates two progress indicators with text public delegate void UpdateTwoProgressHandler(string text, long current, long maximum, string text2, long current2, long maximum2); /// Pulses a progress indicator with indeterminate boundaries public delegate void PulseTwoProgressHandler(string text, string text2); /// Uninitializes a progress indicator (e.g. adds a newline to the console) public delegate void EndTwoProgressHandler(); /// Updates a status indicator public delegate void UpdateStatusHandler(string text); /// Shows an error message public delegate void ErrorMessageHandler(string text); /// Initializes a block map that's going to be filled with a media scan public delegate void InitBlockMapHandler(ulong blocks, ulong blockSize, ulong blocksToRead, ushort currentProfile); /// Updates lists of time taken on scanning from the specified sector /// Time in milliseconds public delegate void ScanTimeHandler(ulong sector, double duration); /// Specified a number of blocks could not be read on scan public delegate void ScanUnreadableHandler(ulong sector); /// Sends the speed of scanning a specific sector public delegate void ScanSpeedHandler(ulong sector, double currentSpeed);