public static McpConfigData Find(string ConfigName) { if (Configs == null) { // Load all secret configs by trying to instantiate all classes derived from McpConfig from all loaded DLLs. // Note that we're using the default constructor on the secret config types. Configs = new Dictionary <string, McpConfigData>(); Assembly[] LoadedAssemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (var Dll in LoadedAssemblies) { Type[] AllTypes = Dll.GetTypes(); foreach (var PotentialConfigType in AllTypes) { if (PotentialConfigType != typeof(McpConfigData) && typeof(McpConfigData).IsAssignableFrom(PotentialConfigType)) { try { McpConfigData Config = Activator.CreateInstance(PotentialConfigType) as McpConfigData; if (Config != null) { Configs.Add(Config.Name, Config); } } catch { BuildCommand.LogWarning("Unable to create McpConfig: {0}", PotentialConfigType.Name); } } } } } McpConfigData LoadedConfig; Configs.TryGetValue(ConfigName, out LoadedConfig); if (LoadedConfig == null) { throw new AutomationException("Unable to find requested McpConfig: {0}", ConfigName); } return(LoadedConfig); }
public abstract string GetClientToken(McpConfigData McpConfig);