From 4328b96c0c84eaa8524e0cf3ba4b3cab5d3ab0af Mon Sep 17 00:00:00 2001 From: XeroxDev Date: Mon, 26 Feb 2024 19:44:42 +0100 Subject: [PATCH] fix: socket server for net6.0+ --- YTMDesktopCompanion.Example/Program.cs | 21 ++--- YTMDesktopCompanion.net472/App.config | 14 +++- YTMDesktopCompanion.net472/Program.cs | 10 +-- .../YTMDesktopCompanion.net472.csproj | 28 ------- YTMDesktopCompanion.net472/packages.config | 12 --- YTMDesktopCompanion.net6/Program.cs | 19 ++--- YTMDesktopCompanion/Clients/RestClient.cs | 10 +-- YTMDesktopCompanion/Clients/SocketClient.cs | 56 +++++++++----- YTMDesktopCompanion/CompanionConnector.cs | 4 + YTMDesktopCompanion/Enums/ECommand.cs | 63 +++++++++++++++ YTMDesktopCompanion/Enums/ESocketState.cs | 3 + .../Exceptions/ApiException.cs | 22 ++++++ .../Interfaces/IGenericClient.cs | 6 ++ .../Models/Input/Auth/RequestCodeInput.cs | 10 +-- .../Models/Input/Auth/RequestInput.cs | 8 +- .../Models/Input/CommandInput.cs | 15 ++-- .../Models/Output/Auth/RequestCodeOutput.cs | 6 +- .../Models/Output/Auth/RequestOutput.cs | 5 +- .../Models/Output/ErrorOutput.cs | 16 ++-- .../Models/Output/MetadataOutput.cs | 4 +- .../Models/Output/PlaylistOutput.cs | 8 +- .../Models/Output/StateOutput.cs | 77 +++++++++---------- .../Properties/AssemblyInfo.cs | 21 +++++ .../Settings/ConnectorSettings.cs | 3 + .../YTMDesktopCompanion.csproj | 15 ++-- 25 files changed, 278 insertions(+), 178 deletions(-) delete mode 100644 YTMDesktopCompanion.net472/packages.config create mode 100644 YTMDesktopCompanion/Properties/AssemblyInfo.cs diff --git a/YTMDesktopCompanion.Example/Program.cs b/YTMDesktopCompanion.Example/Program.cs index ac84729..c8d8eed 100644 --- a/YTMDesktopCompanion.Example/Program.cs +++ b/YTMDesktopCompanion.Example/Program.cs @@ -20,21 +20,16 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#region +#region Setup -using System.Reflection; -using System.Text.Json; +// Set YOUR version (or fetch them from anywhere) +using Newtonsoft.Json; using XeroxDev.YTMDesktop.Companion; using XeroxDev.YTMDesktop.Companion.Settings; -#endregion - -#region Setup - -// Set YOUR version (or fetch them from anywhere) var version = "1.0.0"; -// Check if file ".token" exists (i store it for this in the temp folder) +// Check if file ".token" exists var tokenPath = Path.Combine(Path.GetTempPath(), "ytmd-csharp-lib-test.token"); if (!File.Exists(tokenPath)) { @@ -75,7 +70,7 @@ return; } -Console.WriteLine(JsonSerializer.Serialize(metadata)); +Console.WriteLine(JsonConvert.SerializeObject(metadata, Formatting.Indented)); // Example Rest Client usage @@ -111,7 +106,7 @@ // Get the current state and print it var state = await restClient.GetState(); -Console.WriteLine(JsonSerializer.Serialize(state)); +Console.WriteLine(JsonConvert.SerializeObject(state, Formatting.Indented)); // Pause current track await restClient.Pause(); @@ -131,8 +126,8 @@ // Register events socketClient.OnError += (sender, args) => Console.WriteLine($"Error: {args.Message}"); socketClient.OnConnectionChange += (sender, args) => Console.WriteLine($"Connection changed: {args}"); -socketClient.OnStateChange += (sender, args) => Console.WriteLine(JsonSerializer.Serialize(args)); -socketClient.OnPlaylistCreated += (sender, args) => Console.WriteLine(JsonSerializer.Serialize(args)); +socketClient.OnStateChange += (sender, args) => Console.WriteLine(JsonConvert.SerializeObject(args, Formatting.Indented)); +socketClient.OnPlaylistCreated += (sender, args) => Console.WriteLine(JsonConvert.SerializeObject(args, Formatting.Indented)); socketClient.OnPlaylistDeleted += (sender, args) => Console.WriteLine($"Playlist deleted: {args}"); // Connect to the server diff --git a/YTMDesktopCompanion.net472/App.config b/YTMDesktopCompanion.net472/App.config index bf1dc02..09b837a 100644 --- a/YTMDesktopCompanion.net472/App.config +++ b/YTMDesktopCompanion.net472/App.config @@ -147,7 +147,7 @@ - + @@ -211,7 +211,7 @@ - + @@ -319,7 +319,7 @@ - + @@ -373,6 +373,14 @@ + + + + + + + + \ No newline at end of file diff --git a/YTMDesktopCompanion.net472/Program.cs b/YTMDesktopCompanion.net472/Program.cs index ea61f45..439612a 100644 --- a/YTMDesktopCompanion.net472/Program.cs +++ b/YTMDesktopCompanion.net472/Program.cs @@ -24,8 +24,6 @@ using System; using System.IO; -using System.Reflection; -using System.Text.Json; using System.Threading.Tasks; using XeroxDev.YTMDesktop.Companion; using XeroxDev.YTMDesktop.Companion.Settings; @@ -90,7 +88,7 @@ private static async Task Test() return; } - Console.WriteLine(JsonSerializer.Serialize(metadata)); + Console.WriteLine(metadata.ToString()); // Example Rest Client usage @@ -126,7 +124,7 @@ private static async Task Test() // Get the current state and print it var state = await restClient.GetState(); - Console.WriteLine(JsonSerializer.Serialize(state)); + Console.WriteLine(state.ToString()); // Pause current track await restClient.Pause(); @@ -146,8 +144,8 @@ private static async Task Test() // Register events socketClient.OnError += (sender, args) => Console.WriteLine($"Error: {args.Message}"); socketClient.OnConnectionChange += (sender, args) => Console.WriteLine($"Connection changed: {args}"); - socketClient.OnStateChange += (sender, args) => Console.WriteLine(JsonSerializer.Serialize(args)); - socketClient.OnPlaylistCreated += (sender, args) => Console.WriteLine(JsonSerializer.Serialize(args)); + socketClient.OnStateChange += (sender, args) => Console.WriteLine(args.ToString()); + socketClient.OnPlaylistCreated += (sender, args) => Console.WriteLine(args.ToString()); socketClient.OnPlaylistDeleted += (sender, args) => Console.WriteLine($"Playlist deleted: {args}"); // Connect to the server diff --git a/YTMDesktopCompanion.net472/YTMDesktopCompanion.net472.csproj b/YTMDesktopCompanion.net472/YTMDesktopCompanion.net472.csproj index fe74927..fb23f70 100644 --- a/YTMDesktopCompanion.net472/YTMDesktopCompanion.net472.csproj +++ b/YTMDesktopCompanion.net472/YTMDesktopCompanion.net472.csproj @@ -34,38 +34,11 @@ 4 - - ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll - - - ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll - - - ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll - - - ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll - - - ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll - - - ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll - - - ..\packages\System.Text.Json.8.0.2\lib\net462\System.Text.Json.dll - - - ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll - - - ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll - @@ -80,7 +53,6 @@ - 1.1.0 1.1.0 @@ -28,18 +29,16 @@ true true en - XeroxDev.YTMDesktop.Companion.snk - net6.0;netstandard2.0;net472 + net6.0;net472 7.3 - false - false {749F5EBA-0CFB-4F3A-84A7-9D0E288620D2} - true + true - - + + +