using FieldLogger.Models; namespace FieldLogger.Services.Sync; /// /// Placeholder for the future MQTT synchronization layer: /// - subscribe to receive jobs configured on the server /// - publish logged points as they are captured /// - reconcile the Synced flags on and /// Planned implementation: MQTTnet client against the configured broker. /// public interface IMqttSyncService { bool IsConnected { get; } Task ConnectAsync(CancellationToken cancellationToken = default); Task DisconnectAsync(); Task PublishPointAsync(LoggedPoint point, CancellationToken cancellationToken = default); } /// No-op stand-in until the MQTT backend exists. public sealed class NullMqttSyncService : IMqttSyncService { public bool IsConnected => false; public Task ConnectAsync(CancellationToken cancellationToken = default) => Task.CompletedTask; public Task DisconnectAsync() => Task.CompletedTask; public Task PublishPointAsync(LoggedPoint point, CancellationToken cancellationToken = default) => Task.CompletedTask; }