using Crestron.SimplSharp;
using Crestron.SimplSharp.CrestronDataStore;
using Crestron.SimplSharpPro;
//using PepperDash.Essentials.Core.Http;
using PepperDash.Essentials.License;
namespace PepperDash.Essentials.Core
{
///
/// Global application properties
///
public static class Global
{
///
/// The control system the application is running on
///
public static CrestronControlSystem ControlSystem { get; set; }
public static LicenseManager LicenseManager { get; set; }
///
/// The file path prefix to the folder containing configuration files
///
public static string FilePathPrefix { get; private set; }
///
/// Returns the directory separator character based on the running OS
///
public static char DirectorySeparator
{
get
{
return System.IO.Path.DirectorySeparatorChar;
}
}
///
/// The file path prefix to the folder containing the application files (including embedded resources)
///
public static string ApplicationDirectoryPrefix
{
get
{
string fmt = "00.##";
var appNumber = InitialParametersClass.ApplicationNumber.ToString(fmt);
return string.Format("{0}{1}Simpl{1}app{2}{1}", Crestron.SimplSharp.CrestronIO.Directory.GetApplicationRootDirectory(), Global.DirectorySeparator,appNumber );
}
}
///
/// Wildcarded config file name for global reference
///
public const string ConfigFileName = "*configurationFile*.json";
///
/// Sets the file path prefix
///
///
public static void SetFilePathPrefix(string prefix)
{
FilePathPrefix = prefix;
}
static Global()
{
// Fire up CrestronDataStoreStatic
var err = CrestronDataStoreStatic.InitCrestronDataStore();
if (err != CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
{
CrestronConsole.PrintLine("Error starting CrestronDataStoreStatic: {0}", err);
return;
}
}
}
}