namespace PepperDash.Core.Abstractions; /// /// Abstracts Crestron.SimplSharp.CrestronDataStore.CrestronDataStoreStatic /// to allow unit testing without the Crestron SDK. /// public interface ICrestronDataStore { /// Initialises the data store. Must be called once before any other operation. void InitStore(); /// Reads an integer value from the local (program-slot) store. /// true if the value was found and read successfully. bool TryGetLocalInt(string key, out int value); /// Writes an integer value to the local (program-slot) store. /// true on success. bool SetLocalInt(string key, int value); /// Writes an unsigned integer value to the local (program-slot) store. /// true on success. bool SetLocalUint(string key, uint value); /// Reads a boolean value from the local (program-slot) store. /// true if the value was found and read successfully. bool TryGetLocalBool(string key, out bool value); /// Writes a boolean value to the local (program-slot) store. /// true on success. bool SetLocalBool(string key, bool value); }