public void ConfigurePerksLocally() { ConfigurationEventArgs eventArgs = new ConfigurationEventArgs { Perks = PerksConfiguration }; if (OnConfigurePerks != null) OnConfigurePerks(this, eventArgs); if (eventArgs.ConfigurationModified) { bool miningWithMultipleProxies = MiningEngine.Mining && (Devices.Count(d => d.Kind == DeviceKind.PXY) > 1); if (!PerksConfiguration.PerksEnabled && miningWithMultipleProxies) throw new Exception(MiningEngine.AdvancedProxiesRequirePerksMessage); PerksConfiguration.SavePerksConfiguration(); SetupRemoting(); if (ConfigurationModified != null) ConfigurationModified(this, new EventArgs()); } else PerksConfiguration.LoadPerksConfiguration(PathConfiguration.SharedConfigPath); }
private void ConfigureStrategiesLocally() { ConfigurationEventArgs eventArgs = new ConfigurationEventArgs { Application = ApplicationConfiguration, Engine = EngineConfiguration }; if (OnConfigureStrategies != null) OnConfigureStrategies(this, eventArgs); if (eventArgs.ConfigurationModified) { EngineConfiguration.SaveStrategyConfiguration(); ApplicationConfiguration.SaveApplicationConfiguration(); if (ConfigurationModified != null) ConfigurationModified(this, new EventArgs()); } else { EngineConfiguration.LoadStrategyConfiguration(PathConfiguration.SharedConfigPath); ApplicationConfiguration.LoadApplicationConfiguration(PathConfiguration.SharedConfigPath); } }
private void ConfigurePoolsRemotely() { Application workingApplicationConfiguration = new Application(); Engine.Data.Configuration.Engine workingEngineConfiguration = new Engine.Data.Configuration.Engine(); GetRemoteApplicationConfiguration(SelectedRemoteInstance); ObjectCopier.CopyObject(remoteApplicationConfig.ToModelObject(), workingApplicationConfiguration); ObjectCopier.CopyObject(remoteEngineConfig.ToModelObject(), workingEngineConfiguration); ConfigurationEventArgs eventArgs = new ConfigurationEventArgs { Application = workingApplicationConfiguration, Engine = workingEngineConfiguration, Perks = PerksConfiguration }; if (OnConfigurePools != null) OnConfigurePools(this, eventArgs); if (eventArgs.ConfigurationModified) { ObjectCopier.CopyObject(workingApplicationConfiguration.ToTransferObject(), remoteApplicationConfig); ObjectCopier.CopyObject(workingEngineConfiguration.ToTransferObject(), remoteEngineConfig); SetConfigurationRemotely(SelectedRemoteInstance, remoteApplicationConfig, remoteEngineConfig, null, null); if (ApplicationConfiguration.SaveCoinsToAllMachines && PerksConfiguration.PerksEnabled && PerksConfiguration.EnableRemoting) SetCoinConfigurationOnAllRigs(remoteEngineConfig.CoinConfigurations); } }
private void ConfigurePoolsLocally() { ConfigurationEventArgs eventArgs = new ConfigurationEventArgs { Application = ApplicationConfiguration, Engine = EngineConfiguration, Perks = PerksConfiguration }; if (OnConfigurePools != null) OnConfigurePools(this, eventArgs); if (eventArgs.ConfigurationModified) { FixMisconfiguredDevices(); ConfigureUnconfiguredDevices(); EngineConfiguration.SaveCoinConfigurations(); EngineConfiguration.SaveDeviceConfigurations(); ApplicationConfiguration.SaveApplicationConfiguration(); //may be able to auto-assign more devices now that coins are setup AddMissingDeviceConfigurations(); ApplyModelsToViewModel(); if (ConfigurationModified != null) ConfigurationModified(this, new EventArgs()); SubmitMobileMinerPools(); if (ApplicationConfiguration.SaveCoinsToAllMachines && PerksConfiguration.PerksEnabled && PerksConfiguration.EnableRemoting) SetCoinConfigurationOnAllRigs(EngineConfiguration.CoinConfigurations.ToArray()); } else { EngineConfiguration.LoadCoinConfigurations(PathConfiguration.SharedConfigPath); ApplicationConfiguration.LoadApplicationConfiguration(PathConfiguration.SharedConfigPath); } }
private void ConfigurePerksRemotely() { Perks workingPerksConfiguration = new Perks(); GetRemoteApplicationConfiguration(SelectedRemoteInstance); ObjectCopier.CopyObject(remotePerksConfig, workingPerksConfiguration); ConfigurationEventArgs eventArgs = new ConfigurationEventArgs { Perks = workingPerksConfiguration }; if (OnConfigurePerks != null) OnConfigurePerks(this, eventArgs); if (eventArgs.ConfigurationModified) { ObjectCopier.CopyObject(workingPerksConfiguration, remotePerksConfig); SetConfigurationRemotely(SelectedRemoteInstance, null, null, null, remotePerksConfig); } }
private void ConfigureStrategiesRemotely() { Application workingApplicationConfiguration = new Application(); Engine.Data.Configuration.Engine workingEngineConfiguration = new Engine.Data.Configuration.Engine(); GetRemoteApplicationConfiguration(SelectedRemoteInstance); ObjectCopier.CopyObject(remoteApplicationConfig.ToModelObject(), workingApplicationConfiguration); ObjectCopier.CopyObject(remoteEngineConfig.ToModelObject(), workingEngineConfiguration); ConfigurationEventArgs eventArgs = new ConfigurationEventArgs { Application = workingApplicationConfiguration, Engine = workingEngineConfiguration }; if (OnConfigureStrategies != null) OnConfigureStrategies(this, eventArgs); if (eventArgs.ConfigurationModified) { ObjectCopier.CopyObject(workingApplicationConfiguration.ToTransferObject(), remoteApplicationConfig); ObjectCopier.CopyObject(workingEngineConfiguration.ToTransferObject(), remoteEngineConfig); SetConfigurationRemotely(SelectedRemoteInstance, remoteApplicationConfig, remoteEngineConfig, null, null); } }
public void ConfigureSettingsLocally() { bool oldNetworkDeviceDetection = ApplicationConfiguration.NetworkDeviceDetection; bool oldCoinWarzValue = ApplicationConfiguration.UseCoinWarzApi; bool oldWhatMineValue = ApplicationConfiguration.UseWhatMineApi; bool oldWhatToMineValue = ApplicationConfiguration.UseWhatToMineApi; string oldCoinWarzKey = ApplicationConfiguration.CoinWarzApiKey; string oldWhatMineKey = ApplicationConfiguration.WhatMineApiKey; string oldConfigPath = PathConfiguration.SharedConfigPath; ConfigurationEventArgs eventArgs = new ConfigurationEventArgs { Application = ApplicationConfiguration, Engine = EngineConfiguration, Paths = PathConfiguration, Perks = PerksConfiguration }; if (OnConfigureSettings != null) OnConfigureSettings(this, eventArgs); if (eventArgs.ConfigurationModified) { PathConfiguration.SavePathConfiguration(); //save settings as the "shared" config path may have changed //these are settings not considered machine/device-specific //e.g. no device settings, no miner settings string newConfigPath = PathConfiguration.SharedConfigPath; MigrateSettingsToNewFolder(oldConfigPath, newConfigPath); ApplicationConfiguration.SaveApplicationConfiguration(newConfigPath); PerksConfiguration.SavePerksConfiguration(newConfigPath); EngineConfiguration.SaveCoinConfigurations(newConfigPath); EngineConfiguration.SaveStrategyConfiguration(newConfigPath); EngineConfiguration.SaveMinerConfiguration(); MiningEngine.SaveAlgorithmConfigurations(); SaveKnownCoinsToFile(); //don't refresh coin stats excessively if ((oldCoinWarzValue != ApplicationConfiguration.UseCoinWarzApi) || !oldCoinWarzKey.Equals(ApplicationConfiguration.CoinWarzApiKey) || (oldWhatToMineValue != ApplicationConfiguration.UseWhatToMineApi) || (oldWhatMineValue != ApplicationConfiguration.UseWhatMineApi) || !oldWhatMineKey.Equals(ApplicationConfiguration.WhatMineApiKey)) { SetupCoinApi(); //pickup API key changes RefreshCoinStatsAsync(); } //if we are not detecting Network Devices, start the async checks if (ApplicationConfiguration.NetworkDeviceDetection && (!oldNetworkDeviceDetection)) RunNetworkDeviceScan(); SubmitMobileMinerPools(); UpdateDevicesForProxySettings(); ApplyModelsToViewModel(); if (ConfigurationModified != null) ConfigurationModified(this, new EventArgs()); } else { EngineConfiguration.LoadMinerConfiguration(); PathConfiguration.LoadPathConfiguration(); ApplicationConfiguration.LoadApplicationConfiguration(PathConfiguration.SharedConfigPath); } }
private void HandleConfigurePerks(object sender, ConfigurationEventArgs e) { PerksForm perksForm = new PerksForm(e.Perks); if (app.SelectedRemoteInstance != null) perksForm.Text = String.Format("{0}: {1}", perksForm.Text, app.SelectedRemoteInstance.MachineName); e.ConfigurationModified = perksForm.ShowDialog() == DialogResult.OK; }
private void HandleConfigurePools(object sender, ConfigurationEventArgs e) { PoolsForm coinsForm = new PoolsForm(e.Engine.CoinConfigurations, app.KnownCoins, e.Application, e.Perks); if (app.SelectedRemoteInstance != null) coinsForm.Text = String.Format("{0}: {1}", coinsForm.Text, app.SelectedRemoteInstance.MachineName); e.ConfigurationModified = coinsForm.ShowDialog() == DialogResult.OK; }
private void HandleConfigureSettings(object sender, ConfigurationEventArgs e) { SettingsForm settingsForm = new SettingsForm(e.Application, e.Engine.XgminerConfiguration, e.Paths, e.Perks); if (app.SelectedRemoteInstance != null) settingsForm.Text = String.Format("{0}: {1}", settingsForm.Text, app.SelectedRemoteInstance.MachineName); e.ConfigurationModified = settingsForm.ShowDialog() == DialogResult.OK; }
private void HandleConfigureStrategies(object sender, ConfigurationEventArgs e) { StrategiesForm strategiesForm = new StrategiesForm(e.Engine.StrategyConfiguration, app.KnownCoins, e.Application); if (app.SelectedRemoteInstance != null) strategiesForm.Text = String.Format("{0}: {1}", strategiesForm.Text, app.SelectedRemoteInstance.MachineName); e.ConfigurationModified = strategiesForm.ShowDialog() == DialogResult.OK; }