public void StartAndStopAreNotReentrant() { using var mkw = new ModifierKeysWatcher(new NativeMethodsMock()); bool IsRunning() => mkw.GetPrivateField <bool>("_running"); Assert.False(IsRunning()); mkw.Start(); Assert.True(IsRunning()); mkw.Start(); Assert.True(IsRunning()); mkw.Stop(); Assert.False(IsRunning()); mkw.Stop(); Assert.False(IsRunning()); }
public void Stop() { if (!_running) { return; } _running = false; _modifierKeysWatcher.Stop(); _journalWatcher.Stop(); _statusWatcher.Stop(); _bindingsWatcher.Stop(); _graphicsConfig.Stop(); _gameProcessWatcher.Stop(); }