public RegistryCopyAction(ActionRegistryCopy registryCopy) { try { m_hive = registryCopy.SourceHive; m_sourceRoot = registryCopy.SourceRoot; m_targetRoot = registryCopy.TargetRoot; m_exclusions = GetExclusions(registryCopy); } catch (Exception ex) { Logger.LogError(ex, "Exception in setting RegistryCopyAction members."); } }
HashSet<string> GetExclusions(ActionRegistryCopy registryCopy) { var exclusions = new HashSet<string>(); if (registryCopy.ExcludeKey != null && registryCopy.ExcludeKey.Length > 0) { foreach (var key in registryCopy.ExcludeKey) { if (!String.IsNullOrEmpty(key.Name) && !m_exclusions.Contains(key.Name)) { exclusions.Add(key.Name.ToLower()); } } } return exclusions; }