Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 public static async Task UpdateDefinitionAsync(MacPackage package)
 {
     Log.Debug("Wake on LAN package updated");
     await Storage.AddOrUpdateAsync(package);
 }