| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- using System;
- using System.Net.ApiService;
- using System.Fire.Ini;
- using System.Collections.Generic;
- using System.Net.ApiService.VHost_Server;
- using System.ConsoleApp;
- using System.ConsoleApp.Drawing;
- using Keln.Progress;
- using Keln.Progress.EventHandler;
- namespace Keln {
- class Program {
- public static Dictionary<string, ProcessInfo> processes = new Dictionary<string, ProcessInfo>();
- //public static HttpApiServer api;
- public static ApiServer api;
- /*private static Console_LabelDescription lblDeviceEmotion;
- private static Console_LabelDescription lblIntensi;
- private static Console_LabelDescription lblSambale;
- private static Console_LabelDescription lblSozoti;
- private static Console_LabelDescription lblSpeech;
- private static Console_LabelDescription lblGregorCalendus;*/
- private static Console_TableRow lblDeviceEmotion;
- private static Console_TableRow lblIntensi;
- private static Console_TableRow lblSambale;
- private static Console_TableRow lblSozoti;
- private static Console_TableRow lblSpeech;
- private static Console_TableRow lblGregorCalendus;
- static void Main(string[] args) {
- string cmd = "deviceemotion 192.168.0.1 -port 80 -referer http://google.com -boolisch -b2 -t Hallo Welt -file device-emotion.exe";
- System.Diagnostics.Process[] localAll = System.Diagnostics.Process.GetProcesses();
- foreach(System.Diagnostics.Process p in localAll) {
- //System.Diagnostics.Debug.WriteLine(p.);
- }
- //System.ConsoleApp.ConsoleAdvanced.WriteJson("{\"Herausgeber\": \"Xema\",\"Nummer\": \"1234-5678-9012-3456\",\"Deckung\": 2e+6,\"Waehrung\": \"EURO\",\"Inhaber\":{\"Name\": \"Mustermann\",\"Vorname\": \"Max\",\"Größe\": 1.92,\"Zitat\":\"Das Haus \\\"Sozi\\\" ist das Beste\",\"maennlich\": true,\"Hobbys\": [\"Reiten\", \"Golfen\", \"Lesen\"],\"Alter\": 42,\"Kinder\": [],\"Partner\": null }}");
- // Start Api Server
- iniHandle config = new iniHandle("config/services.conf");
- ushort port = config["Keln"]["Port"].UInt16;
- if (port == 0)
- port = 8010;
- //api = new HttpApiServer("./www", port);
- api = new ApiServer("./www", port);
- System.Timers.Timer tmrUpdateMemory = new System.Timers.Timer(5000);
- tmrUpdateMemory.AutoReset = true;
- tmrUpdateMemory.Elapsed += TmrUpdateMemory_Elapsed;
- tmrUpdateMemory.Enabled = true;
- tmrUpdateMemory.Start();
- System.Timers.Timer tmrAvailable = new System.Timers.Timer(30000);
- tmrAvailable.AutoReset = true;
- tmrAvailable.Elapsed += TmrAvailable_Elapsed;
- tmrAvailable.Enabled = true;
- tmrAvailable.Start();
- Console_Window servicewin = new Console_Window(new ConsoleRect(2, 2, 102, 13), "Services");
- Console_Label lblServiceTitle = new Console_Label(servicewin, new ConsoleRect(1, 0, 60, 1), "List of services");
- /*lblDeviceEmotion = new Console_LabelDescription(servicewin, new ConsoleRect(1, 1, 60, 1), "DeviceEmotion");
- lblIntensi = new Console_LabelDescription(servicewin, new ConsoleRect(1, 2, 60, 1), "Intensi");
- lblSambale = new Console_LabelDescription(servicewin, new ConsoleRect(1, 3, 60, 1), "Sambale");
- lblSozoti = new Console_LabelDescription(servicewin, new ConsoleRect(1, 4, 60, 1), "Sozoti");
- lblSpeech = new Console_LabelDescription(servicewin, new ConsoleRect(1, 5, 60, 1), "Speech");
- lblGregorCalendus = new Console_LabelDescription(servicewin, new ConsoleRect(1, 6, 60, 1), "GregorCalendus");*/
- lblDeviceEmotion = new Console_TableRow(servicewin, new ConsoleRect(1, 1, 60, 1), new Console_TableCell[] {
- new Console_TableCell() { value = "DeviceEmotion", width = 20, Color = ConsoleColor.White },
- new Console_TableCell() { value = "Not Running", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = "Not available", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = config["DeviceEmotion"]["Host"].Value+":"+config["DeviceEmotion"]["Port"].Value, width = 30, Color = ConsoleColor.White },
- new Console_TableCell() { value = "0,00 MB", width = 12, Color = ConsoleColor.White, Align = Console_TableCell.TextAlign.Right }
- });
- lblIntensi = new Console_TableRow(servicewin, new ConsoleRect(1, 2, 60, 1), new Console_TableCell[] {
- new Console_TableCell() { value = "Intensi", width = 20, Color = ConsoleColor.White },
- new Console_TableCell() { value = "Not Running", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = "Not available", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = config["Intensi"]["Host"].Value+":"+config["Intensi"]["Port"].Value, width = 30, Color = ConsoleColor.White },
- new Console_TableCell() { value = "0,00 MB", width = 12, Color = ConsoleColor.White, Align = Console_TableCell.TextAlign.Right }
- });
- lblSambale = new Console_TableRow(servicewin, new ConsoleRect(1, 3, 60, 1), new Console_TableCell[] {
- new Console_TableCell() { value = "Sambale", width = 20, Color = ConsoleColor.White },
- new Console_TableCell() { value = "Not Running", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = "Not available", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = config["Sambale"]["Host"].Value+":"+config["Sambale"]["Port"].Value, width = 30, Color = ConsoleColor.White },
- new Console_TableCell() { value = "0,00 MB", width = 12, Color = ConsoleColor.White, Align = Console_TableCell.TextAlign.Right }
- });
- lblSozoti = new Console_TableRow(servicewin, new ConsoleRect(1, 4, 60, 1), new Console_TableCell[] {
- new Console_TableCell() { value = "Sozoti", width = 20, Color = ConsoleColor.White },
- new Console_TableCell() { value = "Not Running", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = "Not available", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = config["Sozoti"]["Host"].Value+":"+config["Sozoti"]["Port"].Value, width = 30, Color = ConsoleColor.White },
- new Console_TableCell() { value = "0,00 MB", width = 12, Color = ConsoleColor.White, Align = Console_TableCell.TextAlign.Right }
- });
- lblSpeech = new Console_TableRow(servicewin, new ConsoleRect(1, 5, 60, 1), new Console_TableCell[] {
- new Console_TableCell() { value = "Speech", width = 20, Color = ConsoleColor.White },
- new Console_TableCell() { value = "Not Running", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = "Not available", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = config["Speech"]["Host"].Value+":"+config["Speech"]["Port"].Value, width = 30, Color = ConsoleColor.White },
- new Console_TableCell() { value = "0,00 MB", width = 12, Color = ConsoleColor.White, Align = Console_TableCell.TextAlign.Right }
- });
- lblGregorCalendus = new Console_TableRow(servicewin, new ConsoleRect(1, 6, 60, 1), new Console_TableCell[] {
- new Console_TableCell() { value = "GregorCalendus", width = 20, Color = ConsoleColor.White },
- new Console_TableCell() { value = "Not Running", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = "Not available", width = 15, Color = ConsoleColor.Red },
- new Console_TableCell() { value = config["GregorCalendus"]["Host"].Value+":"+config["GregorCalendus"]["Port"].Value, width = 30, Color = ConsoleColor.White },
- new Console_TableCell() { value = "0,00 MB", width = 12, Color = ConsoleColor.White, Align = Console_TableCell.TextAlign.Right }
- });
- Console_Progressbar progress = new Console_Progressbar(servicewin, new ConsoleRect(0, 8, 78, 1), Console_Progressbar.TextStyle.Percent);
- Console.CursorTop += 15;
- progress.Max = 10;
- progress.Min = 0;
- api.Start();
- progress.Value++;
- /*VHostServer vhost = new VHostServer(80);
- vhost.Redirects.Add(new VHostRedirect("localhost", 8000, new VHostRedirectCondition[] {
- new VHostRedirectCondition(VHostRedirectCondition.eVaraible.Host, "^(?<host>deviceemotion\\.zoe\\.de)$")
- }));
- vhost.Redirects.Add(new VHostRedirect("localhost", 8001, new VHostRedirectCondition[] {
- new VHostRedirectCondition(VHostRedirectCondition.eVaraible.Host, "^(?<host>intensi\\.zoe\\.de)$")
- }));
- vhost.Redirects.Add(new VHostRedirect("localhost", 8002, new VHostRedirectCondition[] {
- new VHostRedirectCondition(VHostRedirectCondition.eVaraible.Host, "^(?<host>sambale\\.zoe\\.de)$")
- }));
- vhost.Redirects.Add(new VHostRedirect("localhost", 8003, new VHostRedirectCondition[] {
- new VHostRedirectCondition(VHostRedirectCondition.eVaraible.Host, "^(?<host>sozoti\\.zoe\\.de)$")
- }));
- vhost.Redirects.Add(new VHostRedirect("localhost", 8004, new VHostRedirectCondition[] {
- new VHostRedirectCondition(VHostRedirectCondition.eVaraible.Host, "^(?<host>speech\\.zoe\\.de)$")
- }));
- vhost.Start();*/
-
- processes.Add("deviceemotion", new ProcessInfo("DeviceEmotion.exe", true, DeviceEmotion_StateChange));
- progress.Value++;
- processes.Add("intensi", new ProcessInfo("Intensi.exe", true, Intensi_StateChange));
- progress.Value++;
- processes.Add("sambale", new ProcessInfo("Sambale.exe", true, Sambale_StateChange));
- progress.Value++;
- processes.Add("sozoti", new ProcessInfo("Sozoti.exe", true, Sozoti_StateChange));
- progress.Value++;
- processes.Add("speech", new ProcessInfo("Speech.exe", true, Speech_StateChange));
- progress.Value++;
- processes.Add("gregor", new ProcessInfo("GregorCalendus.exe", true,GregorCalendus_StateChange));
- progress.Value = progress.Max;
- System.ConsoleApp.ConsoleAdvanced.Run("Keln");
- tmrUpdateMemory.Enabled = false;
- tmrUpdateMemory.Stop();
- tmrUpdateMemory.Dispose();
- foreach(KeyValuePair<string, ProcessInfo> kv in processes) {
- kv.Value.Stop();
- }
- api.Stop();
- }
- private static void TmrUpdateMemory_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
- RefreshMemory(lblDeviceEmotion, "deviceemotion");
- RefreshMemory(lblIntensi, "intensi");
- RefreshMemory(lblSambale, "sambale");
- RefreshMemory(lblSozoti, "sozoti");
- RefreshMemory(lblSpeech, "speech");
- RefreshMemory(lblGregorCalendus, "gregor");
- }
- private static void TmrAvailable_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
- CheckAvailable(lblDeviceEmotion, Leah.Client.eService.DeviceEmotion);
- CheckAvailable(lblIntensi, Leah.Client.eService.Intensi);
- CheckAvailable(lblSambale, Leah.Client.eService.Sambale);
- CheckAvailable(lblSozoti, Leah.Client.eService.Sozoti);
- CheckAvailable(lblSpeech, Leah.Client.eService.Speech);
- CheckAvailable(lblGregorCalendus, Leah.Client.eService.GregorCalendus);
- }
- private static void CheckAvailable(Console_TableRow lbl, Leah.Client.eService service) {
- lbl.SetValue(2, "Checking...", ConsoleColor.Yellow);
- string host = Leah.Client.GetHostPort(service);
- //My.Computer.Network.Ping("192.168.2.10:21")
-
- string res_Gregor = Leah.Client.GetString(service, "/ping");
- if (res_Gregor == "pong")
- lbl.SetValue(2, "Available", ConsoleColor.Green);
- else
- lbl.SetValue(2, "Not available", ConsoleColor.Red);
- }
-
- private static void DeviceEmotion_StateChange(object sender, StateChangeEventArgs e) {
- RefreshState(lblDeviceEmotion, e.State);
- RefreshMemory(lblDeviceEmotion, "deviceemotion");
- }
- private static void Intensi_StateChange(object sender, StateChangeEventArgs e) {
- RefreshState(lblIntensi, e.State);
- RefreshMemory(lblIntensi, "intensi");
- }
- private static void Sambale_StateChange(object sender, StateChangeEventArgs e) {
- RefreshState(lblSambale, e.State);
- RefreshMemory(lblSambale, "sambale");
- }
- private static void Sozoti_StateChange(object sender, StateChangeEventArgs e) {
- RefreshState(lblSozoti, e.State);
- RefreshMemory(lblSozoti, "sozoti");
- }
- private static void Speech_StateChange(object sender, StateChangeEventArgs e) {
- RefreshState(lblSpeech, e.State);
- RefreshMemory(lblSpeech, "speech");
- }
- private static void GregorCalendus_StateChange(object sender, StateChangeEventArgs e) {
- RefreshState(lblGregorCalendus, e.State);
- RefreshMemory(lblGregorCalendus, "gregor");
- }
- public static void RefreshMemory(Console_TableRow lbl, string processName) {
- //lbl.Text[2] = Math.Round((decimal)processes[processName].PagedMemorySize64 / 1048576,2).ToString() + " MB";
- if(processes.ContainsKey(processName))
- lbl.SetValue(4, Math.Round((decimal)processes[processName].PagedMemorySize64 / 1048576, 2).ToString() + " MB");
- else
- lbl.SetValue(4, "- MB");
- }
- public static void RefreshState(Console_TableRow lbl, eState state) {
- switch (state) {
- case eState.Restart:
- lbl.SetValue(1, "Restart", ConsoleColor.Yellow);
- break;
- case eState.Running:
- lbl.SetValue(1, "Running", ConsoleColor.Green);
- break;
- case eState.Stopped:
- lbl.SetValue(1, "Stopped", ConsoleColor.Red);
- break;
- case eState.Stopping:
- lbl.SetValue(1, "Stopping", ConsoleColor.Red);
- break;
- case eState.Update:
- lbl.SetValue(1, "Update", ConsoleColor.Yellow);
- break;
- case eState.NotRunning:
- lbl.SetValue(1, "Not running", ConsoleColor.Red);
- break;
- case eState.Already_Running:
- lbl.SetValue(1, "Application", ConsoleColor.Green);
- break;
- case eState.Service:
- lbl.SetValue(1, "Service", ConsoleColor.Green);
- break;
- }
- }
- private static void RefreshState(Console_LabelDescription lbl, eState state) {
- switch (state) {
- case eState.Restart:
- lbl.ValueColor = ConsoleColor.Yellow;
- lbl.Value = "Restart";
- break;
- case eState.Running:
- lbl.ValueColor = ConsoleColor.Green;
- lbl.Value = "Running";
- break;
- case eState.Stopped:
- lbl.ValueColor = ConsoleColor.Red;
- lbl.Value = "Stopped";
- break;
- case eState.Stopping:
- lbl.ValueColor = ConsoleColor.Red;
- lbl.Value = "Stopping";
- break;
- case eState.Update:
- lbl.ValueColor = ConsoleColor.Yellow;
- lbl.Value = "Update";
- break;
- case eState.NotRunning:
- lbl.ValueColor = ConsoleColor.Red;
- lbl.Value = "Not running";
- break;
- }
- }
- }
- }
|