private async Task ButtonAction(MacPackage package) { Log.Info("Waking up host {Name} with {Count} last known addresses", package.HostName, package.Addresses.Length); foreach (var address in package.Addresses) { Log.Debug("Waking up physical address {Id}", address); await Amusoft.Toolkit.Networking.WakeOnLan.UsingAddressAsync(address); } ToastHelper.Display($"Wake On LAN for {package.HostName} sent", ToastLength.Long); }
public static async Task <MacPackage> GetMacPackageAsync(GrpcApplicationAgent agent) { Log.Trace("Building Mac package"); var addresses = await agent.DesktopClient.GetNetworkMacAddressesAsync(TimeSpan.FromSeconds(5)); var hostName = await agent.DesktopClient.GetHostNameAsync(TimeSpan.FromSeconds(5)); var macPackage = new MacPackage(); macPackage.Addresses = addresses.Select(d => d.MacAddress).ToArray(); macPackage.HostName = hostName; Log.Trace("Package created for {HostName}", hostName); return(macPackage); }
public static async Task UpdateDefinitionAsync(MacPackage package) { Log.Debug("Wake on LAN package updated"); await Storage.AddOrUpdateAsync(package); }