Published v1.3.5.
Updated Harmony library.
Removed Harmony Logitech password and username.
1.1 --- a/Server/App.config Wed Oct 05 15:02:09 2016 +0200
1.2 +++ b/Server/App.config Sun Nov 27 19:56:09 2016 +0100
1.3 @@ -40,15 +40,9 @@
1.4 <setting name="HarmonyHubAddress" serializeAs="String">
1.5 <value>HarmonyHub</value>
1.6 </setting>
1.7 - <setting name="LogitechUserName" serializeAs="String">
1.8 - <value />
1.9 - </setting>
1.10 <setting name="LogitechAuthToken" serializeAs="String">
1.11 <value />
1.12 </setting>
1.13 - <setting name="LogitechPassword" serializeAs="String">
1.14 - <value />
1.15 - </setting>
1.16 </SharpDisplayManager.Properties.Settings>
1.17 </userSettings>
1.18 </configuration>
2.1 --- a/Server/FormMain.Designer.cs Wed Oct 05 15:02:09 2016 +0200
2.2 +++ b/Server/FormMain.Designer.cs Sun Nov 27 19:56:09 2016 +0100
2.3 @@ -107,10 +107,6 @@
2.4 this.iButtonHarmonyConnect = new System.Windows.Forms.Button();
2.5 this.iCheckBoxHarmonyEnabled = new System.Windows.Forms.CheckBox();
2.6 this.iTreeViewHarmony = new System.Windows.Forms.TreeView();
2.7 - this.label2 = new System.Windows.Forms.Label();
2.8 - this.iTextBoxLogitechPassword = new System.Windows.Forms.TextBox();
2.9 - this.labelLogitechUserName = new System.Windows.Forms.Label();
2.10 - this.iTextBoxLogitechUserName = new System.Windows.Forms.TextBox();
2.11 this.label1 = new System.Windows.Forms.Label();
2.12 this.iTextBoxHarmonyHubAddress = new System.Windows.Forms.TextBox();
2.13 this.tabPageEvent = new System.Windows.Forms.TabPage();
2.14 @@ -925,10 +921,6 @@
2.15 this.tabPageHarmony.Controls.Add(this.iButtonHarmonyConnect);
2.16 this.tabPageHarmony.Controls.Add(this.iCheckBoxHarmonyEnabled);
2.17 this.tabPageHarmony.Controls.Add(this.iTreeViewHarmony);
2.18 - this.tabPageHarmony.Controls.Add(this.label2);
2.19 - this.tabPageHarmony.Controls.Add(this.iTextBoxLogitechPassword);
2.20 - this.tabPageHarmony.Controls.Add(this.labelLogitechUserName);
2.21 - this.tabPageHarmony.Controls.Add(this.iTextBoxLogitechUserName);
2.22 this.tabPageHarmony.Controls.Add(this.label1);
2.23 this.tabPageHarmony.Controls.Add(this.iTextBoxHarmonyHubAddress);
2.24 this.tabPageHarmony.Location = new System.Drawing.Point(4, 22);
2.25 @@ -973,46 +965,6 @@
2.26 this.iTreeViewHarmony.TabIndex = 15;
2.27 this.iTreeViewHarmony.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.iTreeViewHarmony_NodeMouseDoubleClick);
2.28 //
2.29 - // label2
2.30 - //
2.31 - this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
2.32 - this.label2.AutoSize = true;
2.33 - this.label2.Location = new System.Drawing.Point(597, 7);
2.34 - this.label2.Name = "label2";
2.35 - this.label2.Size = new System.Drawing.Size(99, 13);
2.36 - this.label2.TabIndex = 13;
2.37 - this.label2.Text = "Logitech password:";
2.38 - //
2.39 - // iTextBoxLogitechPassword
2.40 - //
2.41 - this.iTextBoxLogitechPassword.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
2.42 - this.iTextBoxLogitechPassword.Location = new System.Drawing.Point(600, 23);
2.43 - this.iTextBoxLogitechPassword.Name = "iTextBoxLogitechPassword";
2.44 - this.iTextBoxLogitechPassword.PasswordChar = '*';
2.45 - this.iTextBoxLogitechPassword.Size = new System.Drawing.Size(134, 20);
2.46 - this.iTextBoxLogitechPassword.TabIndex = 12;
2.47 - this.iTextBoxLogitechPassword.TextChanged += new System.EventHandler(this.iTextBoxLogitechPassword_TextChanged);
2.48 - //
2.49 - // labelLogitechUserName
2.50 - //
2.51 - this.labelLogitechUserName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
2.52 - this.labelLogitechUserName.AutoSize = true;
2.53 - this.labelLogitechUserName.Location = new System.Drawing.Point(433, 7);
2.54 - this.labelLogitechUserName.Name = "labelLogitechUserName";
2.55 - this.labelLogitechUserName.Size = new System.Drawing.Size(141, 13);
2.56 - this.labelLogitechUserName.TabIndex = 11;
2.57 - this.labelLogitechUserName.Text = "Logitech user name / e-mail:";
2.58 - //
2.59 - // iTextBoxLogitechUserName
2.60 - //
2.61 - this.iTextBoxLogitechUserName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
2.62 - this.iTextBoxLogitechUserName.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::SharpDisplayManager.Properties.Settings.Default, "LogitechUserName", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
2.63 - this.iTextBoxLogitechUserName.Location = new System.Drawing.Point(436, 23);
2.64 - this.iTextBoxLogitechUserName.Name = "iTextBoxLogitechUserName";
2.65 - this.iTextBoxLogitechUserName.Size = new System.Drawing.Size(134, 20);
2.66 - this.iTextBoxLogitechUserName.TabIndex = 10;
2.67 - this.iTextBoxLogitechUserName.Text = global::SharpDisplayManager.Properties.Settings.Default.LogitechUserName;
2.68 - //
2.69 // label1
2.70 //
2.71 this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
2.72 @@ -1441,10 +1393,6 @@
2.73 private System.Windows.Forms.Button buttonEventEdit;
2.74 private System.Windows.Forms.TabPage tabPageHarmony;
2.75 private System.Windows.Forms.TreeView iTreeViewHarmony;
2.76 - private System.Windows.Forms.Label label2;
2.77 - private System.Windows.Forms.TextBox iTextBoxLogitechPassword;
2.78 - private System.Windows.Forms.Label labelLogitechUserName;
2.79 - private System.Windows.Forms.TextBox iTextBoxLogitechUserName;
2.80 private System.Windows.Forms.Label label1;
2.81 private System.Windows.Forms.TextBox iTextBoxHarmonyHubAddress;
2.82 private System.Windows.Forms.CheckBox iCheckBoxHarmonyEnabled;
3.1 --- a/Server/FormMain.cs Wed Oct 05 15:02:09 2016 +0200
3.2 +++ b/Server/FormMain.cs Sun Nov 27 19:56:09 2016 +0100
3.3 @@ -1244,10 +1244,6 @@
3.4 CheckFontHeight();
3.5 //Check if "run on Windows startup" is enabled
3.6 checkBoxAutoStart.Checked = iStartupManager.Startup;
3.7 -
3.8 - //Harmony settings
3.9 - //Decrypt our password first
3.10 - iTextBoxLogitechPassword.Text = Secure.ToInsecureString(Secure.DecryptString(Properties.Settings.Default.LogitechPassword));
3.11
3.12 //CEC settings
3.13 comboBoxHdmiPort.SelectedIndex = Properties.Settings.Default.CecHdmiPort - 1;
3.14 @@ -3059,12 +3055,15 @@
3.15 /// Called whenever we loose connection with our HarmonyHub.
3.16 /// </summary>
3.17 /// <param name="aRequestWasCancelled"></param>
3.18 - private void HarmonyConnectionClosedByServer(object aSender, bool aRequestWasCancelled)
3.19 + private void HarmonyConnectionClosed(object aSender, bool aClosedByServer)
3.20 {
3.21 - //Try reconnect then
3.22 + if (aClosedByServer)
3.23 + {
3.24 + //Try reconnect then
3.25 #pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
3.26 - BeginInvoke(new MethodInvoker(delegate () { ResetHarmonyAsync(); }));
3.27 + BeginInvoke(new MethodInvoker(delegate () { ResetHarmonyAsync(); }));
3.28 #pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
3.29 + }
3.30 }
3.31
3.32
3.33 @@ -3094,7 +3093,7 @@
3.34 //First create our client and login
3.35 //Tip: Set keep-alive to false when testing reconnection process
3.36 Program.HarmonyClient = new HarmonyHub.Client(iTextBoxHarmonyHubAddress.Text, true);
3.37 - Program.HarmonyClient.OnConnectionClosedByServer += HarmonyConnectionClosedByServer;
3.38 + Program.HarmonyClient.OnConnectionClosed += HarmonyConnectionClosed;
3.39
3.40 string authToken = Properties.Settings.Default.LogitechAuthToken;
3.41 if (!string.IsNullOrEmpty(authToken) && !aForceAuth)
3.42 @@ -3114,15 +3113,8 @@
3.43 Properties.Settings.Default.LogitechAuthToken = "";
3.44 Properties.Settings.Default.Save();
3.45
3.46 - //Then try connect using our password
3.47 - if (string.IsNullOrEmpty(iTextBoxLogitechPassword.Text))
3.48 - {
3.49 - Trace.WriteLine("Harmony: Credentials missing!");
3.50 - return;
3.51 - }
3.52 -
3.53 Trace.WriteLine("Harmony: Authenticating with Logitech servers...");
3.54 - success = await Program.HarmonyClient.TryOpenAsync(iTextBoxLogitechUserName.Text, iTextBoxLogitechPassword.Text);
3.55 + success = await Program.HarmonyClient.TryOpenAsync();
3.56 //Persist our authentication token in our setting
3.57 if (success)
3.58 {
3.59 @@ -3227,11 +3219,5 @@
3.60 }
3.61 }
3.62
3.63 - private void iTextBoxLogitechPassword_TextChanged(object sender, EventArgs e)
3.64 - {
3.65 - //Save our password after encryption
3.66 - Properties.Settings.Default.LogitechPassword = Secure.EncryptString(Secure.ToSecureString(iTextBoxLogitechPassword.Text));
3.67 - Properties.Settings.Default.Save();
3.68 - }
3.69 }
3.70 }
4.1 --- a/Server/Properties/Settings.Designer.cs Wed Oct 05 15:02:09 2016 +0200
4.2 +++ b/Server/Properties/Settings.Designer.cs Sun Nov 27 19:56:09 2016 +0100
4.3 @@ -168,18 +168,6 @@
4.4 [global::System.Configuration.UserScopedSettingAttribute()]
4.5 [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
4.6 [global::System.Configuration.DefaultSettingValueAttribute("")]
4.7 - public string LogitechUserName {
4.8 - get {
4.9 - return ((string)(this["LogitechUserName"]));
4.10 - }
4.11 - set {
4.12 - this["LogitechUserName"] = value;
4.13 - }
4.14 - }
4.15 -
4.16 - [global::System.Configuration.UserScopedSettingAttribute()]
4.17 - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
4.18 - [global::System.Configuration.DefaultSettingValueAttribute("")]
4.19 public string LogitechAuthToken {
4.20 get {
4.21 return ((string)(this["LogitechAuthToken"]));
4.22 @@ -188,17 +176,5 @@
4.23 this["LogitechAuthToken"] = value;
4.24 }
4.25 }
4.26 -
4.27 - [global::System.Configuration.UserScopedSettingAttribute()]
4.28 - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
4.29 - [global::System.Configuration.DefaultSettingValueAttribute("")]
4.30 - public string LogitechPassword {
4.31 - get {
4.32 - return ((string)(this["LogitechPassword"]));
4.33 - }
4.34 - set {
4.35 - this["LogitechPassword"] = value;
4.36 - }
4.37 - }
4.38 }
4.39 }
5.1 --- a/Server/Properties/Settings.settings Wed Oct 05 15:02:09 2016 +0200
5.2 +++ b/Server/Properties/Settings.settings Sun Nov 27 19:56:09 2016 +0100
5.3 @@ -38,14 +38,8 @@
5.4 <Setting Name="HarmonyHubAddress" Type="System.String" Scope="User">
5.5 <Value Profile="(Default)">HarmonyHub</Value>
5.6 </Setting>
5.7 - <Setting Name="LogitechUserName" Type="System.String" Scope="User">
5.8 - <Value Profile="(Default)" />
5.9 - </Setting>
5.10 <Setting Name="LogitechAuthToken" Type="System.String" Scope="User">
5.11 <Value Profile="(Default)" />
5.12 </Setting>
5.13 - <Setting Name="LogitechPassword" Type="System.String" Scope="User">
5.14 - <Value Profile="(Default)" />
5.15 - </Setting>
5.16 </Settings>
5.17 </SettingsFile>
5.18 \ No newline at end of file
6.1 --- a/Server/SharpDisplayManager.csproj Wed Oct 05 15:02:09 2016 +0200
6.2 +++ b/Server/SharpDisplayManager.csproj Sun Nov 27 19:56:09 2016 +0100
6.3 @@ -34,7 +34,7 @@
6.4 <WebPage>index.htm</WebPage>
6.5 <OpenBrowserOnPublish>false</OpenBrowserOnPublish>
6.6 <ApplicationRevision>0</ApplicationRevision>
6.7 - <ApplicationVersion>1.3.4.0</ApplicationVersion>
6.8 + <ApplicationVersion>1.3.5.0</ApplicationVersion>
6.9 <UseApplicationTrust>false</UseApplicationTrust>
6.10 <CreateDesktopShortcut>true</CreateDesktopShortcut>
6.11 <PublishWizardCompleted>true</PublishWizardCompleted>
6.12 @@ -112,7 +112,7 @@
6.13 <Private>True</Private>
6.14 </Reference>
6.15 <Reference Include="HarmonyHub, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
6.16 - <HintPath>..\packages\SharpLibHarmony.0.6.5\lib\net451\HarmonyHub.dll</HintPath>
6.17 + <HintPath>..\packages\SharpLibHarmony.0.7.0\lib\net451\HarmonyHub.dll</HintPath>
6.18 <Private>True</Private>
6.19 </Reference>
6.20 <Reference Include="LibCecSharp, Version=2.2.0.0, Culture=neutral, processorArchitecture=x86">
7.1 --- a/Server/packages.config Wed Oct 05 15:02:09 2016 +0200
7.2 +++ b/Server/packages.config Sun Nov 27 19:56:09 2016 +0100
7.3 @@ -4,7 +4,7 @@
7.4 <package id="Loamen.agsXMPP" version="1.3.1" targetFramework="net46" />
7.5 <package id="NAudio" version="1.7.3" targetFramework="net45" />
7.6 <package id="SharpLibDisplay" version="0.2.6" targetFramework="net46" />
7.7 - <package id="SharpLibHarmony" version="0.6.5" targetFramework="net46" />
7.8 + <package id="SharpLibHarmony" version="0.7.0" targetFramework="net46" />
7.9 <package id="SharpLibHid" version="1.4.2" targetFramework="net46" />
7.10 <package id="SharpLibNotification" version="0.0.1" targetFramework="net46" />
7.11 <package id="SharpLibWin32" version="0.0.9" targetFramework="net46" />