using CommunityToolkit.Mvvm.ComponentModel; using System; using System.Net; namespace LanDiscovery.Models { public enum DeviceTypeHint { Unknown, Gateway, Router, Switch, Server, Workstation, Printer, Camera, Mobile, IoT, VirtualMachine } public partial class DiscoveredDevice : ObservableObject { [ObservableProperty] private string? _ipAddress; [ObservableProperty] private string? _macAddress; [ObservableProperty] private string? _vendor; [ObservableProperty] private string? _hostname; [ObservableProperty] private string? _netBiosName; [ObservableProperty] private long? _pingMs; [ObservableProperty] private bool _isPingAlive; [ObservableProperty] private DeviceTypeHint _deviceTypeHint; [ObservableProperty] private string? _osHint; [ObservableProperty] private DateTime _firstSeen; [ObservableProperty] private DateTime _lastSeen; public DiscoveredDevice() { FirstSeen = DateTime.Now; LastSeen = DateTime.Now; DeviceTypeHint = DeviceTypeHint.Unknown; } } }