public static Tuple <ComputeDevice, DeviceMiningStatus> GetDeviceMiningStatus(ComputeDevice device)
        {
            var status = DeviceMiningStatus.CanMine;

            if (device == null)
            {
                // C# is null happy
                status = DeviceMiningStatus.DeviceNull;
            }
            else if (device.Enabled == false)
            {
                status = DeviceMiningStatus.Disabled;
            }
            else
            {
                var hasEnabledAlgo = device.GetAlgorithmSettings().Aggregate(false,
                                                                             (current, algo) =>
                                                                             current | (IsAlgoMiningCapable(algo) && MinerPaths.IsValidMinerPath(algo.MinerBinaryPath)));
                if (hasEnabledAlgo == false)
                {
                    status = DeviceMiningStatus.NoEnabledAlgorithms;
                }
            }

            return(new Tuple <ComputeDevice, DeviceMiningStatus>(device, status));
        }
Ejemplo n.º 2
0
        public static Tuple <ComputeDevice, DeviceMiningStatus> getDeviceMiningStatus(ComputeDevice device)
        {
            DeviceMiningStatus status = DeviceMiningStatus.CanMine;

            if (device == null)   // C# is null happy
            {
                status = DeviceMiningStatus.DeviceNull;
            }
            else if (device.Enabled == false)
            {
                status = DeviceMiningStatus.Disabled;
            }
            else
            {
                bool hasEnabledAlgo = false;
                foreach (Algorithm algo in device.GetAlgorithmSettings())
                {
                    hasEnabledAlgo |= IsAlgoMiningCapable(algo) && MinerPaths.IsValidMinerPath(algo.MinerBinaryPath);
                }
                if (hasEnabledAlgo == false)
                {
                    status = DeviceMiningStatus.NoEnabledAlgorithms;
                }
            }
            return(new Tuple <ComputeDevice, DeviceMiningStatus>(device, status));
        }
Ejemplo n.º 3
0
 public MiningDevice(ComputeDevice device)
 {
     Device = device;
     foreach (var algo in Device.GetAlgorithmSettings())
     {
         bool isAlgoMiningCapable = GroupSetupUtils.IsAlgoMiningCapable(algo);
         bool isValidMinerPath    = MinerPaths.IsValidMinerPath(algo.MinerBinaryPath);
         if (isAlgoMiningCapable && isValidMinerPath)
         {
             Algorithms.Add(algo);
         }
     }
 }
 public MiningDevice(ComputeDevice device)
 {
     Device = device;
     foreach (var algo in Device.GetAlgorithmSettings())
     {
         var isAlgoMiningCapable = GroupSetupUtils.IsAlgoMiningCapable(algo);
         var isValidMinerPath    = MinerPaths.IsValidMinerPath(algo.MinerBinaryPath);
         if (isAlgoMiningCapable && isValidMinerPath)
         {
             Algorithms.Add(algo);
         }
     }
     MostProfitableAlgorithmType = AlgorithmType.NONE;
     MostProfitableMinerBaseType = MinerBaseType.NONE;
 }
Ejemplo n.º 5
0
        public void SetAlgorithms(ComputeDevice computeDevice, bool isEnabled)
        {
            _computeDevice = computeDevice;
            listViewAlgorithms.BeginUpdate();
            listViewAlgorithms.Items.Clear();
            foreach (var alg in computeDevice.GetAlgorithmSettings())
            {
                ListViewItem lvi = new ListViewItem();
                ListViewItem.ListViewSubItem sub = lvi.SubItems.Add(String.Format("{0} ({1})", alg.AlgorithmName, alg.MinerBaseTypeName));

                //sub.Tag = alg.Value;
                lvi.SubItems.Add(alg.BenchmarkSpeedString());
                lvi.SubItems.Add(alg.CurPayingRatio);
                lvi.SubItems.Add(alg.CurPayingRate);
                lvi.Tag     = alg;
                lvi.Checked = alg.Enabled;
                listViewAlgorithms.Items.Add(lvi);
            }
            listViewAlgorithms.EndUpdate();
            this.Enabled = isEnabled;
        }