/* IPresetService.cs $ This file is part of the HandBrake source code. Homepage: . It may be used under the terms of the GNU General Public License. */ namespace HandBrake.ApplicationServices.Services.Interfaces { using System.Collections.ObjectModel; using HandBrake.ApplicationServices.Model; /// /// The Preset Service Interface /// public interface IPresetService { /// /// Gets a Collection of presets. /// ObservableCollection Presets { get; } /// /// Gets DefaultPreset. /// Preset DefaultPreset { get; } /// /// Add a new preset to the system /// /// /// A Preset to add /// /// /// True if added, /// False if name already exists /// bool Add(Preset preset); /// /// Update a preset /// /// /// The updated preset /// void Update(Preset update); /// /// Remove a preset with a given name from either the built in or user preset list. /// /// /// The Preset to remove /// void Remove(Preset preset); /// /// Remove a group of presets by category /// /// /// The Category to remove /// void RemoveGroup(string category); /// /// Get a Preset /// /// /// The name of the preset to get /// /// /// A Preset or null object /// Preset GetPreset(string name); /// /// Clear Built-in Presets /// void ClearBuiltIn(); /// /// Clear all presets /// void ClearAll(); /// /// Set Default Preset /// /// /// The name. /// void SetDefault(Preset name); /// /// Returns a value if the preset can be updated / resaved /// /// /// The name. /// /// /// True if it's not a built-in preset, false otherwise. /// bool CanUpdatePreset(string name); /// /// Reads the CLI's CLI output format and load's them into the preset List Preset /// void UpdateBuiltInPresets(); /// /// Check if the built in Presets stored are not out of date. /// Update them if they are. /// /// true if out of date bool CheckIfPresetsAreOutOfDate(); /// /// Check if the preset "name" exists in either Presets or UserPresets lists. /// /// Name of the preset /// True if found bool CheckIfPresetExists(string name); } }