public static ClassApi GetClassApiFromResource(string resource) { if (_classApiRoot == null) { _classApiRoot = GeneretorClassApi.Generate(Host, Port); } return(ClassApi.GetFromResource(_classApiRoot, resource)); }
public static ClassApi GetClassApiRoot() => _classApiRoot ?? (_classApiRoot = GeneretorClassApi.Generate(Host, Port));
/// <summary> /// Start interactive shell /// </summary> /// <param name="client"></param> /// <param name="fileScript"></param> /// <param name="onlyResult"></param> public static void Start(PveClient client, string fileScript, bool onlyResult) { if (!onlyResult) { Console.Out.WriteLine($@"Corsinvest Interactive Shell for Proxmox VE ({DateTime.Now.ToLongDateString()}) Type '<TAB>' for completion word Type 'help', 'quit' or 'CTRL+C' to close the application."); } #region ClassApi Metadata var watch = Stopwatch.StartNew(); if (!onlyResult) { Console.Out.Write("Initialization metadata..."); } //get api metadata var classApiRoot = GeneretorClassApi.Generate(client.Hostname, client.Port); watch.Stop(); if (!onlyResult) { Console.Out.WriteLine($" {watch.ElapsedMilliseconds}ms"); } #endregion if (!onlyResult) { Console.Out.WriteLine(Environment.NewLine + ShellHelper.REMEMBER_THESE_THINGS); } //Auto Completion ReadLine.AutoCompletionHandler = new AutoCompletionHandler() { Client = client, ClassApiRoot = classApiRoot }; LoadHistory(); var aliasManager = new AliasManager() { FileName = Path.Combine(ShellHelper.GetApplicationDataDirectory(Program.APP_NAME), "alias.txt") }; aliasManager.Load(); if (File.Exists(fileScript)) { //script file foreach (var line in File.ReadAllLines(fileScript)) { ParseLine(line, client, classApiRoot, aliasManager, onlyResult); } } else { //Interactive while (true) { var input = ReadLine.Read(">>> "); var exit = ParseLine(input, client, classApiRoot, aliasManager, onlyResult); SaveHistory(); aliasManager.Save(); if (exit) { break; } } } }
private static ClassApi GetClassApiRoot(CommandLineApplication parent) { var(host, port) = parent.GetHostAndPort(); return(GeneretorClassApi.Generate(host, port)); }
public static ClassApi GetClassApiRoot(PveClient client) => _classApiRoot ??= GeneretorClassApi.Generate(client.Hostname, client.Port);
private static ClassApi GetClassApiRoot(PveClient client) => GeneretorClassApi.Generate(client.Hostname, client.Port);