Ich habe von etwas von Glib gehört, das möglicherweise Bindungen für .netcore hat, die libudev umschließen.
Mir wurde im Grunde eine Schnittstelle gegeben, die ich erfüllen muss ...
Code: Select all
public interface IInterruptSource
{
event EventHandler OnInterrupt;
void EnableInterrupts();
void DisableInterrupts();
}
Code: Select all
public class SimulatedInterruptSource : IInterruptSource
{
public event EventHandler OnInterrupt;
private System.Timers.Timer _timer;
private bool _interruptsEnabled = false;
public SimulatedInterruptSource()
{
_timer = new System.Timers.Timer(1000); // Example: 1 second interval for timer interrupts
_timer.Elapsed += Timer_Elapsed;
}
public void EnableInterrupts()
{
_interruptsEnabled = true;
_timer.Start();
}
public void DisableInterrupts()
{
_interruptsEnabled = false;
_timer.Stop();
}
private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (_interruptsEnabled)
{
OnInterrupt?.Invoke(this, new InterruptEventArgs(SemacorInterruptType.Timer));
}
}
}
Code: Select all
public enum InterruptType
{
Timer,
Keyboard,
Network,
// Add more as needed
}