From 7f0de5503f53607978c7ffaff4275cf2e76f88ec Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Sun, 24 Sep 2017 15:41:09 +0000 Subject: [PATCH] [NF] Debugmode eingebaut --- Mqtt-Dashboard/Connector/Mosquitto.cs | 2 ++ Mqtt-Dashboard/Dashboard.csproj.user | 9 +++++++++ Mqtt-Dashboard/Form1.cs | 14 ++++++++------ Mqtt-Dashboard/Program.cs | 14 ++++++++++++-- Mqtt-Dashboard/bin/Release/Dashboard.exe | Bin 32768 -> 33280 bytes 5 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 Mqtt-Dashboard/Dashboard.csproj.user diff --git a/Mqtt-Dashboard/Connector/Mosquitto.cs b/Mqtt-Dashboard/Connector/Mosquitto.cs index 7483c9f..29396bd 100644 --- a/Mqtt-Dashboard/Connector/Mosquitto.cs +++ b/Mqtt-Dashboard/Connector/Mosquitto.cs @@ -61,6 +61,8 @@ namespace Dashboard.Connector { send.StartInfo.Arguments = args + "-m \""+data.Replace("\"","\\\"")+"\" -t \""+topic+"\" -d"; send.StartInfo.CreateNoWindow = true; send.StartInfo.UseShellExecute = false; + send.StartInfo.RedirectStandardOutput = true; + send.StartInfo.RedirectStandardError = true; send.Start(); send.WaitForExit(); MessageSending?.Invoke(this, new MqttEventArgs(data, topic)); diff --git a/Mqtt-Dashboard/Dashboard.csproj.user b/Mqtt-Dashboard/Dashboard.csproj.user new file mode 100644 index 0000000..d79bedf --- /dev/null +++ b/Mqtt-Dashboard/Dashboard.csproj.user @@ -0,0 +1,9 @@ + + + + -debug + + + -debug + + \ No newline at end of file diff --git a/Mqtt-Dashboard/Form1.cs b/Mqtt-Dashboard/Form1.cs index d824007..c9b4e73 100644 --- a/Mqtt-Dashboard/Form1.cs +++ b/Mqtt-Dashboard/Form1.cs @@ -10,7 +10,7 @@ namespace Dashboard { public partial class Dashboard : Form { private Dictionary sensors = new Dictionary(); - public Dashboard() { + public Dashboard(Boolean debug) { InitializeComponent(); ADataBackend.SetInstance(InIReader.GetInstance("settings.ini").GetSection("mqtt")); @@ -19,9 +19,11 @@ namespace Dashboard { this.FormClosed += this.Dashboard_FormClosed; this.SizeChanged += this.Dashboard_SizeChanged; - - ADataBackend.Instance.MessageIncomming += this.Instance_MessageIncomming; - ADataBackend.Instance.MessageSending += this.Instance_MessageSending; + + if (debug) { + ADataBackend.Instance.MessageIncomming += this.Instance_MessageIncomming; + ADataBackend.Instance.MessageSending += this.Instance_MessageSending; + } } private void Dashboard_SizeChanged(Object sender, EventArgs e) { @@ -58,11 +60,11 @@ namespace Dashboard { } private void Instance_MessageIncomming(Object sender, MqttEventArgs e) { - System.Diagnostics.Debug.WriteLine("Received = " + e.Message + " on topic " + e.Topic+" at "+DateTime.Now.ToUniversalTime()); + Console.WriteLine("Received = " + e.Message + " on topic " + e.Topic+" at "+DateTime.Now.ToUniversalTime()); } private void Instance_MessageSending(Object sender, MqttEventArgs e) { - System.Diagnostics.Debug.WriteLine("Sended = " + e.Message + " on topic " + e.Topic + " at " + DateTime.Now.ToUniversalTime()); + Console.WriteLine("Sended = " + e.Message + " on topic " + e.Topic + " at " + DateTime.Now.ToUniversalTime()); } } } diff --git a/Mqtt-Dashboard/Program.cs b/Mqtt-Dashboard/Program.cs index 83d5bef..845faf4 100644 --- a/Mqtt-Dashboard/Program.cs +++ b/Mqtt-Dashboard/Program.cs @@ -1,5 +1,7 @@ using System; +using System.Collections.Generic; using System.Windows.Forms; +using BlubbFish.Utils; namespace Dashboard { static class Program { @@ -7,10 +9,18 @@ namespace Dashboard { /// Der Haupteinstiegspunkt für die Anwendung. /// [STAThread] - static void Main() { + static void Main(String[] args) { + Dictionary pargs = new Dictionary { + { "-debug", new CmdArgs.VaildArguments(CmdArgs.ArgLength.Single) } + }; + CmdArgs.Instance.SetArguments(pargs, args); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Dashboard()); + Boolean debug = false; + if(CmdArgs.Instance.HasArgumentType("-debug")) { + debug = true; + } + Application.Run(new Dashboard(debug)); } } } diff --git a/Mqtt-Dashboard/bin/Release/Dashboard.exe b/Mqtt-Dashboard/bin/Release/Dashboard.exe index a013305252c351dacf526924e29d21efab801a9b..62e1981850e7895386b757db66c1236d2e16eb74 100644 GIT binary patch literal 33280 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 literal 32768 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 Y=jw23g*V|b$N#_n-?PB~0ygRgmH+?%