async Task <ITeamExplorerPage> GetTeamExplorerPage(IUIProvider uiProvider) { var te = uiProvider?.GetService(typeof(ITeamExplorer)) as ITeamExplorer; if (te != null) { var page = te.NavigateToPage(new Guid(TeamExplorerPageIds.Connect), null); if (page == null) { var tcs = new TaskCompletionSource <ITeamExplorerPage>(); PropertyChangedEventHandler handler = null; handler = new PropertyChangedEventHandler((s, e) => { if (e.PropertyName == "CurrentPage") { tcs.SetResult(te.CurrentPage); te.PropertyChanged -= handler; } }); te.PropertyChanged += handler; page = await tcs.Task; } return(page); } else { // TODO: Log return(null); } }
public void Clone(string cloneUrl, string clonePath, bool recurseSubmodules) { var gitExt = serviceProvider.GetService <IGitRepositoriesExt>(); gitExt.Clone(cloneUrl, clonePath, recurseSubmodules ? CloneOptions.RecurseSubmodule : CloneOptions.None); }
public ConnectionRepositoryHostMap(IUIProvider provider, IRepositoryHosts hosts) : this(provider.GetService <IConnection>(), hosts) { }
public object GetService(Type serviceType) => theRealProvider.GetService(serviceType);
public ConnectionRepositoryHostMap(IUIProvider provider, IRepositoryHosts hosts) : this(provider.GetService<IConnection>(), hosts) { }