using System.IO; using System.Windows.Controls; using Torch; using Torch.API; using Torch.API.Managers; using Torch.API.Plugins; using Torch.API.Session; using Torch.Views; using TorchRemote.Plugin.Managers; namespace TorchRemote.Plugin; public class Plugin : TorchPluginBase, IWpfPlugin { private Persistent _config = null!; public override void Init(ITorchBase torch) { base.Init(torch); _config = Persistent.Load(Path.Combine(StoragePath, "TorchRemote.cfg")); Torch.Managers.AddManager(new ApiServerManager(Torch, _config.Data)); Torch.Managers.AddManager(new SettingManager(Torch)); Torch.Managers.GetManager() .AddFactory(s => new ChatMonitorManager(s.Torch)); } public UserControl GetControl() => new ConfigControl(_config) { DataContext = _config.Data }; }