LicensingEngine.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using Comal.Classes;
  2. using Comal.Stores;
  3. using InABox.Clients;
  4. using InABox.Configuration;
  5. using InABox.Core;
  6. using InABox.Rpc;
  7. using InABox.Wpf.Reports;
  8. using InABox.WPF;
  9. using PRS.Shared;
  10. using PRSServer;
  11. using PRSServices;
  12. using System;
  13. using System.Threading;
  14. using System.Threading.Tasks;
  15. namespace PRSLicensing;
  16. public class LicensingEngine : Engine<LicensingEngineProperties>
  17. {
  18. private Listener<LicensingHandler, LicensingHandlerProperties> listener;
  19. public override void Run()
  20. {
  21. Logger.Send(LogType.Information, "", "Starting..");
  22. if (string.IsNullOrWhiteSpace(Properties.Server))
  23. {
  24. Logger.Send(LogType.Error, "", "Server is blank!");
  25. return;
  26. }
  27. InitialiseConnection(Properties.Server, Platform.LicensingEngine);
  28. Logger.Send(LogType.Information, "", "Registering Classes");
  29. StoreUtils.RegisterClasses();
  30. CoreUtils.RegisterClasses();
  31. ComalUtils.RegisterClasses();
  32. PRSSharedUtils.RegisterClasses();
  33. ReportUtils.RegisterClasses();
  34. WPFUtils.RegisterClasses();
  35. ConfigurationUtils.RegisterClasses();
  36. Logger.Send(LogType.Information, "", "Starting Web Listener on port " + Properties.ListenPort);
  37. try
  38. {
  39. listener = new Listener<LicensingHandler, LicensingHandlerProperties>(new LicensingHandlerProperties(Properties));
  40. listener.InitHTTPS((ushort)Properties.ListenPort, CertificateFileName());
  41. listener.Start();
  42. }
  43. catch (Exception eListen)
  44. {
  45. Logger.Send(LogType.Error, ClientFactory.UserID, eListen.Message);
  46. }
  47. }
  48. private string CertificateFileName() => Properties.CertificateFile;
  49. public override void Stop()
  50. {
  51. Logger.Send(LogType.Information, "", "Stopping");
  52. listener?.Stop();
  53. }
  54. }