namespace MassiveKnob.Plugin
{
///
/// Provides an interface to the Massive Knob settings and device.
///
public interface IMassiveKnobContext
{
///
/// Reads the settings for the current action instance.
///
/// The class type to be deserialized using Newtonsoft.Json.
/// The deserialized class if settings were previously stored, or a new instance of the class otherwise.
T GetSettings() where T : class, new();
///
/// Stores the settings for the current action instance.
///
/// The class type to be serialized using Newtonsoft.Json.
/// The object to be serialized using Newtonsoft.Json.
void SetSettings(T settings) where T : class, new();
}
}