// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. // Copyright (C) LibreHardwareMonitor and Contributors. // Partial Copyright (C) Michael Möller and Contributors. // All Rights Reserved. namespace LibreHardwareMonitor.Hardware; /// /// Abstract object that stores settings passed to , and . /// public interface ISettings { /// /// Returns information whether the given collection of settings contains a value assigned to the given key. /// /// Key to which the setting value is assigned. bool Contains(string name); /// /// Assigns a setting option to a given key. /// /// Key to which the setting value is assigned. /// Text setting value. void SetValue(string name, string value); /// /// Gets a setting option assigned to the given key. /// /// Key to which the setting value is assigned. /// Default value. string GetValue(string name, string value); /// /// Removes a setting with the specified key from the settings collection. /// /// Key to which the setting value is assigned. void Remove(string name); }