Add the Broadcast Data dialog and send N1MM's score breakdown

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-24 03:42:19 +00:00
co-authored by Claude Sonnet 5.5
parent ec12fb1d0f
commit 65178b2d89
24 changed files with 1325 additions and 21 deletions
+29
View File
@@ -130,6 +130,35 @@ public sealed record Settings
public IReadOnlyList<string> NetworkPeers { get; init; } = [];
/// Also send the contacts the other logging computers make to the programs
/// that read the contact broadcast. N1MM's All Computers.
public bool BroadcastAllComputers { get; init; }
/// The other rows of Config > Broadcast Data. The contacts row is
/// `NetworkEnabled` and `NetworkPeers`.
public BroadcastChannel BroadcastAppInfo { get; init; } = new();
public BroadcastChannel BroadcastRadio { get; init; } = new();
public BroadcastChannel BroadcastSpots { get; init; } = new();
public BroadcastChannel BroadcastRotor { get; init; } = new();
public BroadcastChannel BroadcastScore { get; init; } = new();
public BroadcastChannel BroadcastLookup { get; init; } = new();
public IReadOnlyDictionary<BroadcastKind, BroadcastChannel> BroadcastChannels() =>
new Dictionary<BroadcastKind, BroadcastChannel>
{
[BroadcastKind.AppInfo] = BroadcastAppInfo,
[BroadcastKind.Radio] = BroadcastRadio,
[BroadcastKind.Spots] = BroadcastSpots,
[BroadcastKind.Rotor] = BroadcastRotor,
[BroadcastKind.Score] = BroadcastScore,
[BroadcastKind.Lookup] = BroadcastLookup,
};
/// The link to the other logging computers of a multi-operator entry, on
/// N1MM's port 12070. It is not the same thing as `NetworkEnabled`, which
/// is the XML broadcast on 12060 that other programs read; a station can