예제 #1
0
        public SettingsForm(UX.Data.Configuration.Application applicationConfiguration, MultiMiner.Engine.Data.Configuration.Xgminer minerConfiguration,
            Paths pathConfiguration, Perks perksConfiguration)
        {
            InitializeComponent();

            this.minerConfiguration = minerConfiguration;
            this.applicationConfiguration = applicationConfiguration;
            this.pathConfiguration = pathConfiguration;
            this.perksConfiguration = perksConfiguration;
        }
예제 #2
0
        public AdvancedSettingsForm(Application applicationConfiguration, Paths pathConfiguration)
        {
            InitializeComponent();

            this.applicationConfiguration = applicationConfiguration;
            workingApplicationConfiguration = ObjectCopier.CloneObject<Application, Application>(applicationConfiguration);

            this.pathConfiguration = pathConfiguration;
            workingPathConfiguration = ObjectCopier.CloneObject<Paths, Paths>(pathConfiguration);

            if (String.IsNullOrEmpty(workingApplicationConfiguration.LogFilePath))
                workingApplicationConfiguration.LogFilePath = ApplicationPaths.AppDataPath();

            if (String.IsNullOrEmpty(workingPathConfiguration.SharedConfigPath))
                workingPathConfiguration.SharedConfigPath = ApplicationPaths.AppDataPath();
        }
예제 #3
0
        static void Main()
        {
            using (Mutex mutex = new Mutex(false, "Global\\" + appGuid))
            {
                if (!mutex.WaitOne(0, false))
                {
                    Paths pathConfig = new Paths();
                    pathConfig.LoadPathConfiguration();
                    UX.Data.Configuration.Application appConfig = new UX.Data.Configuration.Application();
                    appConfig.LoadApplicationConfiguration(pathConfig.SharedConfigPath);
                    if (!appConfig.AllowMultipleInstances)
                        return;
                }

                RunApplication();
            }
        }
예제 #4
0
        private void ConfigureSettingsRemotely()
        {
            Application workingApplicationConfiguration = new Application();
            Engine.Data.Configuration.Engine workingEngineConfiguration = new Engine.Data.Configuration.Engine();
            Paths workingPathConfiguration = new Paths();
            Perks workingPerksConfiguration = new Perks();

            GetRemoteApplicationConfiguration(SelectedRemoteInstance);

            ObjectCopier.CopyObject(remoteApplicationConfig.ToModelObject(), workingApplicationConfiguration);
            ObjectCopier.CopyObject(remoteEngineConfig.ToModelObject(), workingEngineConfiguration);
            ObjectCopier.CopyObject(remotePathConfig, workingPathConfiguration);
            ObjectCopier.CopyObject(remotePerksConfig, workingPerksConfiguration);

            ConfigurationEventArgs eventArgs = new ConfigurationEventArgs
            {
                Application = workingApplicationConfiguration,
                Engine = workingEngineConfiguration,
                Paths = workingPathConfiguration,
                Perks = workingPerksConfiguration
            };
            if (OnConfigureSettings != null) OnConfigureSettings(this, eventArgs);

            if (eventArgs.ConfigurationModified)
            {
                ObjectCopier.CopyObject(workingApplicationConfiguration.ToTransferObject(), remoteApplicationConfig);
                ObjectCopier.CopyObject(workingEngineConfiguration.ToTransferObject(), remoteEngineConfig);
                ObjectCopier.CopyObject(workingPathConfiguration, remotePathConfig);
                ObjectCopier.CopyObject(workingPerksConfiguration, remotePerksConfig);

                SetConfigurationRemotely(SelectedRemoteInstance, remoteApplicationConfig, remoteEngineConfig, remotePathConfig, null);
            }
        }