Exemplo n.º 1
0
        /// <summary>
        /// Gets the defaut drive letter for ResourceMounting service. Client and Server will use different defaults (<c>R</c>, <c>S</c>). If the preferred drive letter
        /// is not available, the next higher one will be returned. If none is found, a lower one is tried as last option.
        /// </summary>
        /// <returns>Available drive letter or <c>null</c> if none is available anymore</returns>
        private char?GetDefaultDriveLetter()
        {
            ISystemResolver systemResolver = ServiceRegistration.Get <ISystemResolver>();
            char?           driveLetter    = systemResolver.SystemType == SystemType.Server
        ? ResourceMountingSettings.DEFAULT_DRIVE_LETTER_SERVER
        : ResourceMountingSettings.DEFAULT_DRIVE_LETTER_CLIENT;

            AvailableDriveLettersSettings adls = new AvailableDriveLettersSettings();
            List <char?> availableLetters      = adls.AvailableDriveLetters.Select(d => (char?)d).ToList();

            // If the preferred drive letter is not available, first try to find a "higher", or if not possible a lower drive letter.
            if (!availableLetters.Contains(driveLetter))
            {
                driveLetter =
                    availableLetters.FirstOrDefault(d => d > driveLetter) ??
                    availableLetters.FirstOrDefault(d => d < driveLetter);
            }

            // Save the new drive letter
            if (driveLetter.HasValue)
            {
                ServiceRegistration.Get <ILogger>().Info("ResourceMountingService: Setup new drive letter {0}", driveLetter);
                ResourceMountingSettings setting = ServiceRegistration.Get <ISettingsManager>().Load <ResourceMountingSettings>();
                setting.DriveLetter = driveLetter;
                _firstRun           = true; // Set a flag so we can ignore the "SettingChanged" event
                ServiceRegistration.Get <ISettingsManager>().Save(setting);
            }
            return(driveLetter);
        }
        protected char?ReadDriveLetterFromSettings()
        {
            ISettingsManager         settingsManager = ServiceRegistration.Get <ISettingsManager>();
            ResourceMountingSettings settings        = settingsManager.Load <ResourceMountingSettings>();

            return(settings.DriveLetter);
        }
        protected void SaveDefaultDriveSettings(char driveLetter)
        {
            ISettingsManager         settingsManager = ServiceRegistration.Get <ISettingsManager>();
            ResourceMountingSettings settings        = settingsManager.Load <ResourceMountingSettings>();

            settings.DriveLetter = driveLetter;
            settingsManager.Save(settings);
        }
Exemplo n.º 4
0
        public override void Save()
        {
            base.Save();
            ISettingsManager         settingsManager = ServiceRegistration.Get <ISettingsManager>();
            ResourceMountingSettings settings        = settingsManager.Load <ResourceMountingSettings>();

            settings.DriveLetter = _items[Selected].ToString()[0];
            settingsManager.Save(settings);
        }
Exemplo n.º 5
0
        public override void Save()
        {
            if (!Enabled)
            {
                return;
            }

            base.Save();
            IServerSettingsClient    serverSettings = ServiceRegistration.Get <IServerSettingsClient>();
            ResourceMountingSettings settings       = serverSettings.Load <ResourceMountingSettings>();

            settings.DriveLetter = _items[Selected].ToString()[0];
            serverSettings.Save(settings);
        }