mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-11 02:35:00 +00:00
Combining repos
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Crestron.SimplSharp;
|
||||
using Crestron.SimplSharp.CrestronDataStore;
|
||||
|
||||
using PepperDash.Essentials.Core;
|
||||
|
||||
using PepperDash.Core;
|
||||
|
||||
|
||||
namespace PepperDash.Essentials.License
|
||||
{
|
||||
public abstract class LicenseManager
|
||||
{
|
||||
public BoolFeedback LicenseIsValid { get; protected set; }
|
||||
public StringFeedback LicenseMessage { get; protected set; }
|
||||
public StringFeedback LicenseLog { get; protected set; }
|
||||
|
||||
protected LicenseManager()
|
||||
{
|
||||
CrestronConsole.AddNewConsoleCommand(
|
||||
s => CrestronConsole.ConsoleCommandResponse(GetStatusString()),
|
||||
"licensestatus", "shows license and related data",
|
||||
ConsoleAccessLevelEnum.AccessOperator);
|
||||
}
|
||||
|
||||
protected abstract string GetStatusString();
|
||||
}
|
||||
|
||||
public class MockEssentialsLicenseManager : LicenseManager
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns the singleton mock license manager for this app
|
||||
/// </summary>
|
||||
public static MockEssentialsLicenseManager Manager
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_Manager == null)
|
||||
_Manager = new MockEssentialsLicenseManager();
|
||||
return _Manager;
|
||||
}
|
||||
}
|
||||
static MockEssentialsLicenseManager _Manager;
|
||||
|
||||
bool IsValid;
|
||||
|
||||
MockEssentialsLicenseManager() : base()
|
||||
{
|
||||
LicenseIsValid = new BoolFeedback(LicenseCue.LicenseIsValid,
|
||||
() => { return IsValid; });
|
||||
CrestronConsole.AddNewConsoleCommand(
|
||||
s => SetFromConsole(s.Equals("true", StringComparison.OrdinalIgnoreCase)),
|
||||
"mocklicense", "true or false for testing", ConsoleAccessLevelEnum.AccessOperator);
|
||||
|
||||
bool valid;
|
||||
var err = CrestronDataStoreStatic.GetGlobalBoolValue("MockLicense", out valid);
|
||||
if (err == CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
|
||||
SetIsValid(valid);
|
||||
else if (err == CrestronDataStore.CDS_ERROR.CDS_RECORD_NOT_FOUND)
|
||||
CrestronDataStoreStatic.SetGlobalBoolValue("MockLicense", false);
|
||||
else
|
||||
CrestronConsole.PrintLine("Error restoring Mock License setting: {0}", err);
|
||||
}
|
||||
|
||||
void SetIsValid(bool isValid)
|
||||
{
|
||||
IsValid = isValid;
|
||||
CrestronDataStoreStatic.SetGlobalBoolValue("MockLicense", isValid);
|
||||
Debug.Console(0, "Mock License is{0} valid", IsValid ? "" : " not");
|
||||
LicenseIsValid.FireUpdate();
|
||||
}
|
||||
|
||||
void SetFromConsole(bool isValid)
|
||||
{
|
||||
SetIsValid(isValid);
|
||||
}
|
||||
|
||||
protected override string GetStatusString()
|
||||
{
|
||||
return string.Format("License Status: {0}", IsValid ? "Valid" : "Not Valid");
|
||||
}
|
||||
}
|
||||
|
||||
public class EssentialsLicenseManager
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class LicenseCue
|
||||
{
|
||||
public static Cue LicenseIsValid = Cue.BoolCue("LicenseIsValid", 15991);
|
||||
|
||||
public static Cue LicenseMessage = Cue.StringCue("LicenseMessage", 15991);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user