INTMinerContext.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using NTMiner.Core;
  2. using NTMiner.Core.Profiles;
  3. using NTMiner.Cpus;
  4. using NTMiner.Gpus;
  5. using NTMiner.Mine;
  6. using NTMiner.Report;
  7. using System;
  8. namespace NTMiner {
  9. public interface INTMinerContext {
  10. ILocalMessageSet LocalMessageSet { get; }
  11. void ReInitMinerProfile(WorkType workType);
  12. string GetServerJsonVersion();
  13. DateTime CreatedOn { get; }
  14. void Init(Action callback);
  15. void StartMine(bool isRestart = false);
  16. void RestartMine(WorkType workType = WorkType.None, string workerName = null);
  17. StopMineReason StopReason { get; }
  18. void StopMineAsync(StopMineReason stopReason, Action callback = null);
  19. IMineContext CreateMineContext();
  20. IMineContext CurrentMineContext { get; set; }
  21. /// <summary>
  22. /// 开始挖矿时锁定的挖矿上下文
  23. /// </summary>
  24. IMineContext LockedMineContext { get; }
  25. /// <summary>
  26. /// 等效于LockedMineContext非空
  27. /// </summary>
  28. bool IsMining { get; }
  29. IReportDataProvider ReporterDataProvider { get; }
  30. IServerContext ServerContext { get; }
  31. IGpuProfileSet GpuProfileSet { get; }
  32. IWorkProfile MinerProfile { get; }
  33. string GpuSetInfo { get; }
  34. IGpuSet GpuSet { get; }
  35. IOverClockDataSet OverClockDataSet { get; }
  36. ICpuPackage CpuPackage { get; }
  37. ICalcConfigSet CalcConfigSet { get; }
  38. IKernelProfileSet KernelProfileSet { get; }
  39. IGpusSpeed GpusSpeed { get; }
  40. ICoinShareSet CoinShareSet { get; }
  41. IKernelOutputKeywordSet KernelOutputKeywordSet { get; }
  42. IServerMessageSet ServerMessageSet { get; }
  43. Version MinNvidiaDriverVersion { get; }
  44. Version MinAmdDriverVersion { get; }
  45. void ExportServerVersionJson(string jsonFileFullName);
  46. void ExportWorkJson(MineWorkData mineWorkData, out string localJson, out string serverJson);
  47. }
  48. }