using DbusSmsForward.ModemHelper; using DbusSmsForward.SMSModel; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; namespace DbusSmsForward.Services; public sealed class SmsForwardWorker(ModemManagerHelper modemManagerHelper, NotificationDispatcher dispatcher, ILogger logger) : BackgroundService { protected override async Task ExecuteAsync(CancellationToken stoppingToken) { logger.LogInformation("SmsForwardWorker started."); modemManagerHelper.SetSendMethodList( [ (SmsContentModel sms, string body, string deviceName) => { dispatcher.DispatchAsync(sms, body, deviceName, stoppingToken).GetAwaiter().GetResult(); } ]); await Task.Delay(Timeout.Infinite, stoppingToken); } }