예제 #1
0
        private void RemoveListViewItemsMissingFromViewModel(MinerFormViewModel viewModelToView)
        {
            for (int i = deviceListView.Items.Count - 1; i >= 0; i--)
            {
                DeviceViewModel listModel = (DeviceViewModel)deviceListView.Items[i].Tag;
                if (!viewModelToView.Devices.Contains(listModel) || !listModel.Visible)
                    deviceListView.Items.RemoveAt(i);

                //Network Device detection disabled
                if (!applicationConfiguration.NetworkDeviceDetection && (listModel.Kind == DeviceKind.NET))
                    deviceListView.Items.RemoveAt(i);
            }
        }
예제 #2
0
        private static double GetTotalHashrate(MinerFormViewModel viewModel, CoinAlgorithm algorithm, bool includeNetworkDevices)
        {
            double result = 0.00;

            //only include Visible devices
            foreach (DeviceViewModel device in viewModel.Devices.Where(d => d.Visible))
            {
                if ((device.Coin != null) &&

                    //lump Scrypt-alts in with Scrypt for now
                    (device.Coin.Algorithm == algorithm) &&

                    //optionally filter out Network Devices
                    (includeNetworkDevices || (device.Kind != DeviceKind.NET)))
                    result += device.CurrentHashrate;
            }

            return result;
        }
예제 #3
0
        private void GetRemoteApplicationModels(Instance instance)
        {
            PerformRemoteCommand(instance, (service) =>
            {
                Remoting.Data.Transfer.Device[] devices;
                CryptoCoin[] configurations;
                bool mining, hasChanges, dynamicIntensity;

                //set some safe defaults in case the call fails
                this.remoteViewModel = new MinerFormViewModel();

                service.GetApplicationModels(GetSendingSignature(instance), out devices, out configurations, out mining, out hasChanges, out dynamicIntensity);

                this.remoteInstanceMining = mining;
                this.remoteViewModel.HasChanges = hasChanges;
                this.remoteViewModel.DynamicIntensity = dynamicIntensity;
                SaveDeviceTransferObjects(devices);
                SaveCoinTransferObjects(configurations);
            });
        }
예제 #4
0
 private string GetHashRateStatusText(MinerFormViewModel viewModel)
 {
     string hashRateText = String.Empty;
     IList<CoinAlgorithm> algorithms = ((CoinAlgorithm[])Enum.GetValues(typeof(CoinAlgorithm))).ToList();
     foreach (CoinAlgorithm algorithm in algorithms)
     {
         double hashRate = GetVisibleInstanceHashrate(algorithm, viewModel == localViewModel);
         if (hashRate > 0.00)
         {
             if (!String.IsNullOrEmpty(hashRateText))
                 hashRateText = hashRateText + "   ";
             hashRateText = String.Format("{0}{1}: {2}", hashRateText, algorithm, hashRate.ToHashrateString());
         }
     }
     return hashRateText;
 }
예제 #5
0
        private static double GetTotalHashrate(MinerFormViewModel viewModel, string algorithm, bool includeNetworkDevices)
        {
            double result = 0.00;

            //only include Visible devices
            foreach (DeviceViewModel device in viewModel.Devices.Where(d => d.Visible))
            {
                if ((device.Coin != null) &&

                    (device.Coin.Algorithm.Equals(algorithm, StringComparison.OrdinalIgnoreCase)) &&

                    //optionally filter out Network Devices
                    (includeNetworkDevices || (device.Kind != DeviceKind.NET)))
                    result += device.CurrentHashrate;
            }

            return result;
        }
예제 #6
0
 private string GetHashRateStatusText(MinerFormViewModel viewModel)
 {
     string hashRateText = String.Empty;
     IList<CoinAlgorithm> algorithms = MinerFactory.Instance.Algorithms;
     foreach (CoinAlgorithm algorithm in algorithms)
     {
         double hashRate = GetVisibleInstanceHashrate(algorithm.Name, viewModel == localViewModel);
         if (hashRate > 0.00)
         {
             if (!String.IsNullOrEmpty(hashRateText))
                 hashRateText = hashRateText + "   ";
             hashRateText = String.Format("{0}{1}: {2}", hashRateText, algorithm.Name, hashRate.ToHashrateString());
         }
     }
     return hashRateText;
 }