public void Handle(RootChangedEvent message) { switch (message.ChangeType) { case ChangeType.Created: case ChangeType.Changed: if (message.ChangeType == ChangeType.Changed) { RootModels.Clear(); } foreach (var root in message.AppliedRootDirectories) { RootModels.Add(root); } break; case ChangeType.Deleted: foreach (var root in message.AppliedRootDirectories) { RootModels.Remove(root); } break; } }
public void Clear() { RootModels.Clear(); _events.PublishOnUIThread(new RootChangedEvent(ChangeType.Changed, RootModels.ToArray())); }