/// <summary> /// /// </summary> /// <param name="name"></param> /// <returns></returns> public ProfileHolder GetProfile(string name) { lock (_profiles) { var retVal = _profiles.FirstOrDefault(profile => profile.Name == name); if (retVal == null) { retVal = new ProfileHolder(name); retVal.ErrorOccurred += (s, e) => { if (this.ErrorOccurred != null) { this.ErrorOccurred(s, e); } }; _profiles.Add(retVal); if (_allProfiles.Contains(name)) { retVal.ReloadProfile(); } else { _allProfiles.Add(name); } } //return retVal.Clone(); return(retVal); } }
/// <summary> /// Create new profile folder /// </summary> /// <param name="name">Name profile</param> public void CreateNewProfile(string name) { if (_allProfiles.Contains(name)) { return; } lock (_profiles) { var newProfile = new ProfileHolder(name); newProfile.ErrorOccurred += (s, e) => { if (this.ErrorOccurred != null) { this.ErrorOccurred(s, e); } }; _profiles.Add(newProfile); } _allProfiles.Add(name); }