public override bool CanAssist(RichCommandLineContext context) { Providers.Clear(); Providers.AddRange(standardProviders); CommandLineArgument targetArgument = null; if (context.PreviousNonWhitespaceToken != null && ArgParser.IsDashSpecifiedArgumentIdentifier(context.PreviousNonWhitespaceToken.Value)) { var candidate = context.PreviousNonWhitespaceToken.Value.Substring(1); targetArgument = (from a in Definition.AllGlobalAndActionArguments where a.IsMatch(candidate) select a).SingleOrDefault(); } if (targetArgument != null) { foreach (var assistant in targetArgument.Metadata.Metas <ArgContextualAssistant>()) { var dynamicProvider = assistant.GetContextAssistProvider(Definition); Providers.Add(dynamicProvider); } } foreach (var provider in Providers) { if (provider is PowerArgsContextAwareAssistant) { (provider as PowerArgsContextAwareAssistant).TargetArgument = targetArgument; } } var ret = base.CanAssist(context); return(ret); }
public async Task PopulateAuthProvidersFromDB() { Providers.Clear(); IEnumerable <AuthProvider> providers = null; providers = await DataAccessLayer.Current.GetAuthProvidersAsync(); Providers.AddRange(providers); }
private void UpdateProviders(int counter = 0) { if (counter == 3) { ClientContext.Logger.LogWarning($"Failed to reach API! ({counter} retries!)"); return; } try { ApiClient.CreateRequest("api/ressources", "GET").Execute(out HttpWebResponse response); if (response.TryGetStatusCode(out HttpStatusCode code)) { string responseString = response.GetReponseString(); if (response.StatusCode == HttpStatusCode.OK) { RessourcesProviderView ressourcesProviderView = responseString.DeserializeJsonSafe <RessourcesProviderView>(); if (ressourcesProviderView != null) { lock (Providers) { Providers.Clear(); Providers.AddRange(ressourcesProviderView.Providers); } ClientContext.Logger.LogSuccess($"Providers updated successfully! (Count: {ressourcesProviderView.Providers.Count})"); return; } ClientContext.Logger.LogWarning($"Failed to extract deserialize response ['{responseString}']"); } else { ClientContext.Logger.LogWarning($"Montitor request failed [Code: {response.StatusCode.ToString("G")}, Response: '{responseString}']"); } } } catch (Exception e) { ClientContext.Logger.LogError(e); } UpdateProviders(++counter); }
/// <summary> /// Initializes a new instance of the <see cref="Dependencies"/> class. /// </summary> /// <param name="hostInteractions">The host interactions.</param> /// <param name="providers">The providers.</param> public Dependencies(IHostInteraction hostInteractions, params IProvider[] providers) { _hostInteractions = hostInteractions; Providers.AddRange(providers); }
/// <summary> /// Sets up all providers found within the assembly specified /// </summary> /// <param name="Assembly">Assembly to scan</param> public void Setup(Assembly Assembly) { Providers.AddRange(Assembly.GetObjects <IProvider>()); }
public ChainedProvider AddProviders(ClientProvider[] providers) { Providers.AddRange(providers.ToList()); return(this); }