diff --git a/HueLib2Test/Groups/GroupSerializationTests.cs b/HueLib2Test/Groups/GroupSerializationTests.cs new file mode 100644 index 00000000..184dc54a --- /dev/null +++ b/HueLib2Test/Groups/GroupSerializationTests.cs @@ -0,0 +1,45 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using WinHue3.Philips_Hue.BridgeObject; +using WinHue3.Philips_Hue.HueObjects.GroupObject; +using WinHue3.Philips_Hue.Communication; + +namespace WinHueTest.Groups +{ + [TestClass] + public class GroupSerializationTests + { + private Bridge bridge; + private List listobj; + + [TestInitialize] + public void InitTests() + { + bridge = new Bridge(IPAddress.Parse("192.168.5.30"), "00:17:88:26:5f:33", "Philips hue", "30jodHoH6BvouvzmGR-Y8nJfa0XTN1j8sz2tstYJ"); + listobj = bridge.GetListObjects(); + } + + + [TestMethod] + public void TestSerialization() + { + string result = "{\"lights\":[\"5\",\"16\",\"15\"],\"name\":\"PC Room\",\"type\":\"LightGroup\",\"sensors\":[]}"; + string group = Serializer.CreateJsonObject(listobj[0]); + Assert.AreEqual(result, group,"Serialized group are not the same"); + + } + + [TestMethod] + public void TestDeserialization() + { + + Assert.IsNotNull(bridge.GetObject("0"),"Deserialization failed"); + + } + } +} diff --git a/HueLib2Test/Groups/GroupViewModelTests.cs b/HueLib2Test/Groups/GroupViewModelTests.cs new file mode 100644 index 00000000..a5b8b79b --- /dev/null +++ b/HueLib2Test/Groups/GroupViewModelTests.cs @@ -0,0 +1,73 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Net; +using WinHue3.Functions.Groups.Creator; +using WinHue3.Philips_Hue.BridgeObject; +using WinHue3.Philips_Hue.HueObjects.Common; +using WinHue3.Philips_Hue.HueObjects.GroupObject; +using WinHue3.Philips_Hue.HueObjects.LightObject; + +namespace WinHueTest +{ + [TestClass] + public class GroupViewModelTests + { + /// + /// This test unit does not actually create a group but rather see if the ViewModel will end up giving the right values before creating the group. + /// + private Bridge bridge; + private List listobj; + private GroupCreatorViewModel gcvm; + [TestInitialize] + public void InitTests() + { + bridge = new Bridge(IPAddress.Parse("192.168.5.30"), "00:17:88:26:5f:33", "Philips hue", "30jodHoH6BvouvzmGR-Y8nJfa0XTN1j8sz2tstYJ"); + listobj = bridge.GetAllObjects(); + gcvm = new GroupCreatorViewModel(); + gcvm.GroupCreator = new GroupCreatorModel(); + gcvm.GroupCreator.ListAvailableLights = new ObservableCollection(listobj.OfType().ToList()); + + } + + [TestMethod] + public void TestGroupEdit() + { + + Group testgrp = listobj.OfType().FirstOrDefault(x => x.Id != "0"); + gcvm.Group = testgrp; + Assert.IsTrue(gcvm.Group.Id == testgrp.Id, "Group ID is not equal"); + Assert.IsTrue(gcvm.Group.name == testgrp.name, "Group Name is not equal"); + CollectionAssert.AreEqual(testgrp.lights, gcvm.Group.lights, "Group lights are not equal"); + Assert.AreEqual(testgrp.@class, gcvm.Group.@class, "Group class are not equal"); + + } + + [TestMethod] + public void TestClear() + { + Group testgrp = listobj.OfType().FirstOrDefault(x => x.Id != "0"); + gcvm.Group = testgrp; + gcvm.ClearFieldsCommand.Execute(null); + Assert.IsTrue(gcvm.GroupCreator.Listlights.Count == 0, "List of light has not been cleared"); + Assert.IsTrue(gcvm.GroupCreator.Name == string.Empty, "Name has not been cleared"); + Assert.IsTrue(gcvm.GroupCreator.Type == "LightGroup", "Type has not been cleared"); + Assert.IsTrue(gcvm.GroupCreator.Class == "Other", "Class has not been cleared"); + } + + [TestMethod] + public void TestCreateGroup() + { + gcvm.GroupCreator.Name = "TestGroup"; + gcvm.GroupCreator.Listlights.Add(new Light() { Id = "1" }); + gcvm.GroupCreator.Listlights.Add(new Light() { Id = "5" }); + gcvm.GroupCreator.Listlights.Add(new Light() { Id = "12" }); + Assert.AreEqual("TestGroup", gcvm.Group.name, "Names are not equals"); + Assert.IsTrue(gcvm.Group.lights.Contains("1"), "Light ID 1 not present in array"); + Assert.IsTrue(gcvm.Group.lights.Contains("5"), "Light ID 5 not present in array"); + Assert.IsTrue(gcvm.Group.lights.Contains("12"), "Light ID 12 not present in array"); + } + } +} diff --git a/HueLib2Test/Lights/LightSerializationTests.cs b/HueLib2Test/Lights/LightSerializationTests.cs new file mode 100644 index 00000000..ab9110b0 --- /dev/null +++ b/HueLib2Test/Lights/LightSerializationTests.cs @@ -0,0 +1,33 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using WinHue3.Philips_Hue.BridgeObject; +using WinHue3.Philips_Hue.HueObjects.LightObject; + +namespace WinHueTest.Lights +{ + [TestClass] + public class LightSerializationTests + { + private Bridge bridge; + private List listobj; + + [TestInitialize] + public void InitTests() + { + bridge = new Bridge(IPAddress.Parse("192.168.5.30"), "00:17:88:26:5f:33", "Philips hue", "30jodHoH6BvouvzmGR-Y8nJfa0XTN1j8sz2tstYJ"); + listobj = bridge.GetListObjects(); + } + + [TestMethod] + public void TestDeserialization() + { + + } + + } +} diff --git a/HueLib2Test/Mqtt/MqttTests.cs b/HueLib2Test/Mqtt/MqttTests.cs new file mode 100644 index 00000000..9c38297e --- /dev/null +++ b/HueLib2Test/Mqtt/MqttTests.cs @@ -0,0 +1,39 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using MQTTnet.Client; +using MQTTnet; +using MQTTnet.Client.Options; +using MQTTnet.Client.Subscribing; + +namespace WinHueTest.Mqtt +{ + [TestClass] + public class MqttTests + { + IMqttClient client; + + [TestMethod] + public async Task TestConnection() + { + string url = "mqtt.beebotte.com"; + MqttFactory fac = new MqttFactory(); + client = fac.CreateMqttClient(); + IMqttClientOptions options = new MqttClientOptionsBuilder().WithTcpServer(url, 1883).WithCredentials("token_4KJTOC7v1RDNLelD").Build(); + await client.ConnectAsync(options); + Assert.IsTrue(client.IsConnected, "Client is not connected"); + await client.DisconnectAsync(); + Assert.IsFalse(client.IsConnected, "Client is not disconnected"); + } + + [TestMethod] + public async Task TestMqttSubscription() + { + MqttClientSubscribeResult res = await client.SubscribeAsync("gh/tv"); + + } + } +} diff --git a/HueLib2Test/Properties/AssemblyInfo.cs b/HueLib2Test/Properties/AssemblyInfo.cs index d2cf0b38..2fa7970c 100644 --- a/HueLib2Test/Properties/AssemblyInfo.cs +++ b/HueLib2Test/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.651.0")] +[assembly: AssemblyVersion("1.0.667.0")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/HueLib2Test/Rules/RuleSerializationTests.cs b/HueLib2Test/Rules/RuleSerializationTests.cs new file mode 100644 index 00000000..5fc23516 --- /dev/null +++ b/HueLib2Test/Rules/RuleSerializationTests.cs @@ -0,0 +1,43 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using WinHue3.Philips_Hue.BridgeObject; +using WinHue3.Philips_Hue.HueObjects.RuleObject; + +namespace WinHueTest.Rules +{ + [TestClass] + public class RuleSerializationTests + { + private Bridge bridge; + private List listobj; + + [TestInitialize] + public void InitTests() + { + bridge = new Bridge(IPAddress.Parse("192.168.5.30"), "00:17:88:26:5f:33", "Philips hue", "30jodHoH6BvouvzmGR-Y8nJfa0XTN1j8sz2tstYJ"); + listobj = bridge.GetListObjects(); + } + + [TestMethod] + public void TestSerialization() + { + + } + + [TestMethod] + public void TestDeserialization() + { + string test = + "{\n \"name\": \"Tap 2.1 Bedroom Off\",\n \"owner\": \"none\",\n \"created\": \"2015-11-07T21:59:03\",\n \"lasttriggered\": \"2019-06-14T15:12:10\",\n \"timestriggered\": 9,\n \"status\": \"enabled\",\n \"recycle\": false,\n \"conditions\": [\n {\n \"address\": \"/sensors/2/state/buttonevent\",\n \"operator\": \"eq\",\n \"value\": \"34\"\n },\n {\n \"address\": \"/sensors/2/state/lastupdated\",\n \"operator\": \"dx\"\n }\n ],\n \"actions\": [\n {\n \"address\": \"/groups/0/action\",\n \"method\": \"PUT\",\n \"body\": {\n \"scene\": \"aXbLRnAPyYIFfvt\"\n }\n }\n ]\n }"; + + Rule rule = JsonConvert.DeserializeObject(test); + + } + } +} diff --git a/HueLib2Test/Rules/RuleViewModelTests.cs b/HueLib2Test/Rules/RuleViewModelTests.cs new file mode 100644 index 00000000..9c79322f --- /dev/null +++ b/HueLib2Test/Rules/RuleViewModelTests.cs @@ -0,0 +1,42 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Threading.Tasks; +using WinHue3.Functions.Rules.Creator; +using WinHue3.Philips_Hue.BridgeObject; +using WinHue3.Philips_Hue.HueObjects.Common; +using WinHue3.Philips_Hue.HueObjects.RuleObject; + +namespace WinHueTest +{ + [TestClass] + public class RuleViewModelTests + { + private Bridge bridge; + private List listobj; + private RuleCreatorViewModel rcvm; + + [TestInitialize] + public void InitTests() + { + bridge = new Bridge(IPAddress.Parse("192.168.5.30"), "00:17:88:26:5f:33", "Philips hue", "30jodHoH6BvouvzmGR-Y8nJfa0XTN1j8sz2tstYJ"); + listobj = bridge.GetListObjects(); + rcvm = new RuleCreatorViewModel(); + _ = rcvm.Initialize(bridge); + } + + [TestMethod] + public void TestRuleEdit() + { + Rule testrule = listobj.FirstOrDefault(x => x.Id == "5"); + rcvm.Rule = testrule; + Assert.AreEqual(testrule.name, rcvm.Rule.name, "Rule name is not equal"); + Assert.AreEqual(testrule.status, rcvm.Rule.status, "Rule status is not equal"); + CollectionAssert.AreEqual(testrule.conditions, rcvm.Rule.conditions, "Rule conditions are not equals"); + + } + + } +} diff --git a/HueLib2Test/Schedules/ScheduleSerializationTests.cs b/HueLib2Test/Schedules/ScheduleSerializationTests.cs new file mode 100644 index 00000000..69526286 --- /dev/null +++ b/HueLib2Test/Schedules/ScheduleSerializationTests.cs @@ -0,0 +1,59 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using WinHue3.Philips_Hue.BridgeObject; +using WinHue3.Philips_Hue.Communication; +using WinHue3.Philips_Hue.HueObjects.ScheduleObject; + +namespace WinHueTest.Schedules +{ + [TestClass] + public class ScheduleSerializationTests + { + private Bridge bridge; + private List listobj; + + [TestInitialize] + public void InitTests() + { + bridge = new Bridge(IPAddress.Parse("192.168.5.30"), "00:17:88:26:5f:33", "Philips hue", "30jodHoH6BvouvzmGR-Y8nJfa0XTN1j8sz2tstYJ"); + listobj = bridge.GetListObjects(); + } + + [TestMethod] + public void TestSerializationCreate() + { + + + } + + [TestMethod] + public void TestSerializationModify() + { + + } + + + [TestMethod] + public void TestDeserialization() + { + string schedule = + "{\"name\":\"Work\",\"description\":\"This is my description\",\"command\":{\"address\":\"/api/2854d5c1-b8fc-4f41-8910-756fc00b6e0a/lights/2/state\",\"body\":{\"on\":true,\"bri\":254,\"hue\":65535,\"sat\":254},\"method\":\"PUT\"},\"localtime\":\"W124/T06:00:00\",\"time\":\"W124/T10:00:00\",\"created\":\"2018-12-24T14:46:20\",\"status\":\"disabled\",\"recycle\":false}"; + Schedule sc = JsonConvert.DeserializeObject(schedule); + Assert.AreEqual("Work", sc.name,"Name is not equal"); + Assert.AreEqual("This is my description", sc.description,"Description is not equal"); + Assert.AreEqual("W124/T06:00:00", sc.localtime, "localtime is not equal"); + Assert.AreEqual("/api/2854d5c1-b8fc-4f41-8910-756fc00b6e0a/lights/2/state", sc.command.address, "Command Address is not equal"); + Assert.AreEqual("{\"on\":true,\"bri\":254,\"hue\":65535,\"sat\":254}", sc.command.body, "Command body is not equal"); + Assert.AreEqual("2018-12-24T14:46:20", sc.created, "Created is not equal"); + Assert.IsFalse(sc.recycle.GetValueOrDefault(), "Recycle is not eu"); + Assert.AreEqual("disabled",sc.status,"Status is not equal"); + } + + } +} diff --git a/HueLib2Test/Schedules/ScheduleViewModelTest.cs b/HueLib2Test/Schedules/ScheduleViewModelTest.cs new file mode 100644 index 00000000..2cfbb200 --- /dev/null +++ b/HueLib2Test/Schedules/ScheduleViewModelTest.cs @@ -0,0 +1,14 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WinHueTest.Schedules +{ + [TestClass] + public class ScheduleViewModelTest + { + } +} diff --git a/HueLib2Test/HueLib2Test.csproj b/HueLib2Test/Test.csproj similarity index 84% rename from HueLib2Test/HueLib2Test.csproj rename to HueLib2Test/Test.csproj index 5b0488fb..9787dbba 100644 --- a/HueLib2Test/HueLib2Test.csproj +++ b/HueLib2Test/Test.csproj @@ -6,8 +6,8 @@ {5FC27AAC-E748-41BE-81F0-D2842D9925B4} Library Properties - HueLib2Test - HueLib2Test + WinHueTest + WinHueTest v4.5.2 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -55,12 +55,15 @@ MinimumRecommendedRules.ruleset - - ..\packages\BouncyCastle.1.8.4\lib\BouncyCastle.Crypto.dll + + ..\packages\BouncyCastle.1.8.5\lib\BouncyCastle.Crypto.dll + + ..\packages\MQTTnet.3.0.2\lib\net452\MQTTnet.dll + - ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll + ..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll @@ -68,6 +71,7 @@ ..\packages\Sprache.2.2.1-develop-00025\lib\net45\Sprache.dll + ..\packages\System.Windows.Interactivity.WPF.2.0.20525\lib\net40\System.Windows.Interactivity.dll @@ -87,6 +91,14 @@ + + + + + + + + @@ -125,6 +137,9 @@ + + xcopy "$(SolutionDir)lights\*" "$(TargetDir)lights\*" /e /y + + diff --git a/WinHue3/Philips Hue/BridgeObject/Bridge_Methods.cs b/WinHue3/Philips Hue/BridgeObject/Bridge_Methods.cs index dcaa0c6a..bfb57b50 100644 --- a/WinHue3/Philips Hue/BridgeObject/Bridge_Methods.cs +++ b/WinHue3/Philips Hue/BridgeObject/Bridge_Methods.cs @@ -9,6 +9,7 @@ using System.Windows.Media; using log4net; using WinHue3.Functions.Application_Settings.Settings; +using WinHue3.Functions.BridgeManager; using WinHue3.Functions.Lights.SupportedDevices; using WinHue3.Interface; using WinHue3.Philips_Hue.BridgeObject.BridgeMessages; @@ -106,59 +107,6 @@ public bool IsAuthorized() return bresult.portalservices != null; } - /// - /// Return the new image from the light - /// - /// Requested state of the light. - /// model id of the light. - /// New image of the light - private ImageSource GetImageForLight(LightImageState imagestate, string modelid = null, string archetype = null) - { - string modelID = modelid ?? "DefaultHUE"; - string state = string.Empty; - - switch (imagestate) - { - case LightImageState.Off: - state = "off"; - break; - case LightImageState.On: - state = "on"; - break; - case LightImageState.Unr: - state = "unr"; - break; - default: - state = "off"; - break; - } - - if (modelID == string.Empty) - { - log.Debug("STATE : " + state + " empty MODELID using default images"); - return LightImageLibrary.Images["DefaultHUE"][state]; - } - - ImageSource newImage; - - if (LightImageLibrary.Images.ContainsKey(modelID)) // Check model ID first - { - log.Debug("STATE : " + state + " MODELID : " + modelID); - newImage = LightImageLibrary.Images[modelID][state]; - - } - else if (archetype != null && LightImageLibrary.Images.ContainsKey(archetype)) // Check archetype after model ID, giving model ID priority - { - log.Debug("STATE : " + state + " ARCHETYPE : " + archetype); - newImage = LightImageLibrary.Images[archetype][state]; - } - else // Neither model ID or archetype are known - { - log.Debug("STATE : " + state + " unknown MODELID : " + modelID + " and ARCHETYPE : " + archetype + " using default images."); - newImage = LightImageLibrary.Images["DefaultHUE"][state]; - } - return newImage; - } /// /// GEt the list of newly discovered lights @@ -255,84 +203,62 @@ public async Task SendRawCommandAsyncTask(string url, string data, WebRe /// Value for the dim (Optional) /// New state at toggle (Optional) /// The new image of the object. - public async Task ToggleObjectOnOffStateAsyncTask(IHueObject obj, ushort? tt = null, byte? dimvalue = null, IBaseProperties state = null) + public async Task ToggleObjectOnOffStateAsyncTask(IHueObject obj, ushort? tt = null, byte? dimvalue = null, IBaseProperties state = null) { - ImageSource hr = null; + bool result = false; if (obj is Light) { Light bresult = await GetObjectAsync(obj.Id); - if (bresult == null) return null; + if (bresult == null) return false; Light currentState = bresult; - if (currentState.state.reachable == false && currentState.manufacturername != "OSRAM") + if (currentState.state.@on == true) { - hr = GetImageForLight(LightImageState.Unr, currentState.modelid, currentState.config.archetype); + log.Debug("Toggling light state : OFF"); + result = await SetStateAsyncTask(new State { @on = false, transitiontime = tt }, obj.Id); } else { - if (currentState.state.@on == true) - { - log.Debug("Toggling light state : OFF"); - bool bsetlightstate = await SetStateAsyncTask(new State { @on = false, transitiontime = tt }, obj.Id); + log.Debug("Toggling light state : ON"); - if (bsetlightstate) - { - hr = GetImageForLight(LightImageState.Off, currentState.modelid, currentState.config.archetype); - } + State newstate; - } - else + if (WinHueSettings.settings.SlidersBehavior == 0) { - log.Debug("Toggling light state : ON"); - - State newstate; - - if (WinHueSettings.settings.SlidersBehavior == 0) + newstate = new State() { - newstate = new State() - { - on = true, - transitiontime = tt - }; ; - if (!WinHueSettings.settings.UseLastBriState && bresult.state.bri != null) - { - newstate.bri = dimvalue ?? WinHueSettings.settings.DefaultBriLight; - } - } - else + on = true, + transitiontime = tt + }; ; + if (!WinHueSettings.settings.UseLastBriState && bresult.state.bri != null) { - newstate = state as State ?? new State(); - newstate.on = true; - newstate.transitiontime = tt; + newstate.bri = dimvalue ?? WinHueSettings.settings.DefaultBriLight; } + } + else + { + newstate = state as State ?? new State(); + newstate.on = true; + newstate.transitiontime = tt; + } - bool bsetlightstate = await SetStateAsyncTask(newstate, obj.Id); - - if (bsetlightstate) - { - - hr = GetImageForLight(LightImageState.On, currentState.modelid, currentState.config.archetype); - } + result = await SetStateAsyncTask(newstate, obj.Id); - } } + + } else { Group bresult = await GetObjectAsync(obj.Id); - if (bresult == null) return null; + if (bresult == null) return false; Group currentstate = bresult; if (currentstate.action.@on == true) { log.Debug("Toggling group state : ON"); - bool bsetgroupstate = await SetStateAsyncTask(new Action { @on = false, transitiontime = tt }, obj.Id); - - if (bsetgroupstate) - { - hr = GDIManager.CreateImageSourceFromImage(Properties.Resources.HueGroupOff_Large); - } + result = await SetStateAsyncTask(new Action { @on = false, transitiontime = tt }, obj.Id); } else @@ -361,16 +287,13 @@ public async Task ToggleObjectOnOffStateAsyncTask(IHueObject obj, u newaction.transitiontime = tt; } - bool bsetgroupstate = await SetStateAsyncTask(newaction, obj.Id); - if (bsetgroupstate) - { - hr = GDIManager.CreateImageSourceFromImage(Properties.Resources.HueGroupOn_Large); - } + result = await SetStateAsyncTask(newaction, obj.Id); + } } - return hr; + return result; } /// diff --git a/WinHue3/Philips Hue/BridgeObject/Bridge_ObjectSetter.cs b/WinHue3/Philips Hue/BridgeObject/Bridge_ObjectSetter.cs index ce7c5044..bb798d46 100644 --- a/WinHue3/Philips Hue/BridgeObject/Bridge_ObjectSetter.cs +++ b/WinHue3/Philips Hue/BridgeObject/Bridge_ObjectSetter.cs @@ -10,6 +10,7 @@ using WinHue3.Philips_Hue.BridgeObject.Entertainment_API; using WinHue3.Philips_Hue.Communication; using WinHue3.Philips_Hue.HueObjects.Common; +using WinHue3.Philips_Hue.HueObjects.GroupObject; using WinHue3.Philips_Hue.HueObjects.LightObject; using WinHue3.Philips_Hue.HueObjects.SceneObject; using Action = WinHue3.Philips_Hue.HueObjects.GroupObject.Action; @@ -381,7 +382,6 @@ public bool CreateObject(IHueObject newobject) string typename = newobject.GetType().Name.ToLower() + "s"; IHueObject clone = (IHueObject)newobject.Clone(); string url = BridgeUrl + $@"/{typename}"; - if (typename == null) return false; CommResult comres; @@ -416,7 +416,6 @@ public async Task CreateObjectAsyncTask(IHueObject newobject) string typename = newobject.GetType().Name.ToLower() + "s"; IHueObject clone = (IHueObject)newobject.Clone(); string url = BridgeUrl + $@"/{typename}"; - if (typename == null) return false; CommResult comres; @@ -726,33 +725,6 @@ public async Task ChangeSensorStateAsyncTask(string id, object newstate) return false; } - /// - /// Create an entertainment Area - /// - /// Entertainment Area definition - /// Success or error - public async Task CreateEntertainmentArea(Entertainment entertain) - { - string url = BridgeUrl + $@"/groups"; - CommResult comres; - if (!Virtual) - { - comres = await Comm.SendRequestAsyncTask(new Uri(url), WebRequestType.Post, Serializer.CreateJsonObject(entertain)); - if (comres.Status == WebExceptionStatus.Success) - { - LastCommandMessages.AddMessage(Serializer.DeserializeToObject>(comres.Data)); - return LastCommandMessages.Success; - } - - } - else - { - LastCommandMessages.AddMessage(new Success() { Address = url, value = $"Created Entertrainement Area" }); - return LastCommandMessages.Success; - } - ProcessCommandFailure(url, comres.Status); - return false; - } /// /// Set Entertrainment Group light location @@ -760,13 +732,13 @@ public async Task CreateEntertainmentArea(Entertainment entertain) /// ID of the group /// Location information /// - public async Task SetEntertrainementLightLocation(string id, Location loc) + public bool SetEntertrainementLightLocation(string id, Location loc) { string url = BridgeUrl + $@"/groups/{id}"; CommResult comres; if (!Virtual) { - comres = await Comm.SendRequestAsyncTask(new Uri(url), WebRequestType.Put, Serializer.SerializeJsonObject(loc)); + comres = Comm.SendRequest(new Uri(url), WebRequestType.Put, Serializer.SerializeJsonObject(loc)); if (comres.Status == WebExceptionStatus.Success) { LastCommandMessages.AddMessage(Serializer.DeserializeToObject>(comres.Data)); @@ -792,10 +764,11 @@ public async Task SetEntertrainementLightLocation(string id, Location loc) public async Task SetEntertrainementGroupStreamStatus(string id, bool status) { string url = BridgeUrl + $@"/groups/{id}"; + CommResult comres; if (!Virtual) { - comres = await Comm.SendRequestAsyncTask(new Uri(url), WebRequestType.Put, $"\"stream\":{status}"); + comres = await Comm.SendRequestAsyncTask(new Uri(url), WebRequestType.Put, "{\"stream\":{\"active\":"+ status.ToString().ToLower()+ "}}"); if (comres.Status == WebExceptionStatus.Success) { LastCommandMessages.AddMessage(Serializer.DeserializeToObject>(comres.Data)); @@ -811,40 +784,6 @@ public async Task SetEntertrainementGroupStreamStatus(string id, bool stat return false; } - /// - /// Set to null all properties that are not allow to be set at modification. - /// - /// Object to be parsed. - /// - private object ClearNotAllowedModifyProperties(object obj) - { - PropertyInfo[] listproperties = obj.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly); - foreach (PropertyInfo p in listproperties) - { - if (Attribute.IsDefined(p, typeof(CreateOnlyAttribute)) || Attribute.IsDefined(p, typeof(ReadOnlyAttribute))) - p.SetValue(obj, null); - } - - return obj; - } - - /// - /// Set to null all properties that are not allow to be set at creation. - /// - /// Object to be parsed - /// - private object ClearNotAllowedCreationProperties(object obj) - { - PropertyInfo[] listproperties = obj.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly); - foreach (PropertyInfo p in listproperties) - { - if (Attribute.IsDefined(p, typeof(ReadOnlyAttribute))) - p.SetValue(obj, null); - } - - return obj; - } - public async Task SendStreamPacketAsync(StreamMessage packet) { UdpClient udpClient = new UdpClient(); diff --git a/WinHue3/Philips Hue/BridgeObject/Bridge_Settings.cs b/WinHue3/Philips Hue/BridgeObject/Bridge_Settings.cs index 203d97bb..c3be1efd 100644 --- a/WinHue3/Philips Hue/BridgeObject/Bridge_Settings.cs +++ b/WinHue3/Philips Hue/BridgeObject/Bridge_Settings.cs @@ -257,6 +257,7 @@ public async Task CreateUserAsyncTask(string deviceType) /// /// Username to remove /// True or false if the user has been removed. + [Obsolete] public bool RemoveUser(string username) { @@ -277,6 +278,7 @@ public bool RemoveUser(string username) /// /// Username to remove /// True or false if the user has been removed. + [Obsolete] public async Task RemoveUserAsyncTask(string username) { string url = BridgeUrl + "/config/whitelist/" + username; diff --git a/WinHue3/Philips Hue/BridgeObject/Entertainment API/Entertainment.cs b/WinHue3/Philips Hue/BridgeObject/Entertainment API/Entertainment.cs deleted file mode 100644 index 5e4f66c9..00000000 --- a/WinHue3/Philips Hue/BridgeObject/Entertainment API/Entertainment.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WinHue3.Philips_Hue.BridgeObject.Entertainment_API -{ - public class Entertainment - { - public string type { get; set; } - public List lights { get; set; } - public string @class { get; set; } - } -} diff --git a/WinHue3/Philips Hue/BridgeObject/Entertainment API/HueDatagramTransport.cs b/WinHue3/Philips Hue/BridgeObject/Entertainment API/HueDatagramTransport.cs index 57acf0a4..cd472d7e 100644 --- a/WinHue3/Philips Hue/BridgeObject/Entertainment API/HueDatagramTransport.cs +++ b/WinHue3/Philips Hue/BridgeObject/Entertainment API/HueDatagramTransport.cs @@ -1,10 +1,5 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Net.Sockets; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Threading; using Org.BouncyCastle.Crypto.Tls; namespace WinHue3.Philips_Hue.BridgeObject.Entertainment_API diff --git a/WinHue3/Philips Hue/BridgeObject/Entertainment API/Location.cs b/WinHue3/Philips Hue/BridgeObject/Entertainment API/Location.cs deleted file mode 100644 index 42a648f2..00000000 --- a/WinHue3/Philips Hue/BridgeObject/Entertainment API/Location.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WinHue3.Philips_Hue.BridgeObject.Entertainment_API -{ - public class Location - { - public Dictionary locations { get; set; } - } -} diff --git a/WinHue3/Philips Hue/Communication/HueCreateDataContractResolver.cs b/WinHue3/Philips Hue/Communication/HueCreateDataContractResolver.cs index fd580598..4df562f7 100644 --- a/WinHue3/Philips Hue/Communication/HueCreateDataContractResolver.cs +++ b/WinHue3/Philips Hue/Communication/HueCreateDataContractResolver.cs @@ -1,10 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Newtonsoft.Json; +using Newtonsoft.Json; using Newtonsoft.Json.Serialization; +using System; +using System.Collections.Generic; using WinHue3.Philips_Hue.HueObjects.Common; namespace WinHue3.Philips_Hue.Communication diff --git a/WinHue3/Philips Hue/Communication2/Communication.cs b/WinHue3/Philips Hue/Communication2/Communication.cs new file mode 100644 index 00000000..29eb90dd --- /dev/null +++ b/WinHue3/Philips Hue/Communication2/Communication.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Net.Http; +using WinHue3.Philips_Hue.HueObjects.LightObject; +using WinHue3.Philips_Hue.HueObjects.Common; +using WinHue3.Functions.Application_Settings.Settings; + +namespace WinHue3.Philips_Hue.Communication2 +{ + public static class Communication2 + { + + private static HttpClient client; + + static Communication2() + { + client = new HttpClient(); + client.Timeout = new TimeSpan(0, 0, 0, WinHueSettings.settings.Timeout); + client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); + } + + } +} diff --git a/WinHue3/Philips Hue/HueObjects/GroupObject/Action.cs b/WinHue3/Philips Hue/HueObjects/GroupObject/Action.cs index b301ee98..85e97e2d 100644 --- a/WinHue3/Philips Hue/HueObjects/GroupObject/Action.cs +++ b/WinHue3/Philips Hue/HueObjects/GroupObject/Action.cs @@ -198,7 +198,7 @@ public decimal[] xy_inc /// /// Scene to recall /// - [Description("The scene identifier if the scene you wish to recall."), Category("Action Properties"), Browsable(false), ItemsSource(typeof(ScenesItemSource))] + [Description("The scene identifier if the scene you wish to recall."), Category("Action Properties"), Browsable(false)] public string scene { get; set; } /// diff --git a/WinHue3/Philips Hue/HueObjects/GroupObject/Group.cs b/WinHue3/Philips Hue/HueObjects/GroupObject/Group.cs index 26cc3f10..29296244 100644 --- a/WinHue3/Philips Hue/HueObjects/GroupObject/Group.cs +++ b/WinHue3/Philips Hue/HueObjects/GroupObject/Group.cs @@ -1,8 +1,11 @@ using Newtonsoft.Json; using System.ComponentModel; using System.Runtime.Serialization; +using System.Windows.Forms; using System.Windows.Media; +using WinHue3.Functions.Application_Settings.Settings; using WinHue3.Interface; +using WinHue3.Philips_Hue.BridgeObject.Entertainment_API; using WinHue3.Philips_Hue.HueObjects.Common; using WinHue3.Utils; using Xceed.Wpf.Toolkit.PropertyGrid.Attributes; @@ -26,6 +29,9 @@ public class Group : ValidatableBindableBase, IHueObject private string _uniqueid; private string _class; private bool _visible; + private StringCollection _sensors; + private Location _locations; + private Stream _stream; /// /// Image of the group. @@ -124,11 +130,65 @@ public string @class set => SetProperty(ref _class,value); } + [Category("Group Properties"), Description("List of sensors in group")] + public StringCollection sensors + { + get => _sensors; + set => SetProperty(ref _sensors, value); + } + + [JsonIgnore, Browsable(false)] + public bool visible + { + get => _visible; + set => SetProperty(ref _visible, value); + } + + [Category("Streaming"), Description("List of locations of lights in the group (For entertainment mode only)"),ExpandableObject­, DontSerialize] + public Location Locations + { + get => _locations; + set => SetProperty(ref _locations, value); + + } + + [Category("Streaming"), Description("Streaming status and settings"), ExpandableObject] + public Stream stream + { + get => _stream; + set => SetProperty(ref _stream, value); + } + [OnDeserialized] void OnDeserialized(StreamingContext ctx) { - if(state?.any_on != null) - Image = GDIManager.CreateImageSourceFromImage(state.any_on.GetValueOrDefault() ? (state.all_on.GetValueOrDefault() ? Properties.Resources.HueGroupOn_Large : Properties.Resources.HueGroupSome_Large) : Properties.Resources.HueGroupOff_Large); + RefreshImage(); + + + } + + public void RefreshImage() + { + + switch (type) + { + case "Entertainment": + if (state.all_on.GetValueOrDefault()) + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.entertainment_on); + else if (state.any_on.GetValueOrDefault()) + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.entertainment_on); + else + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.entertainment_off); + break; + default: + if (state.all_on.GetValueOrDefault()) + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.HueGroupOn_Large); + else if (state.any_on.GetValueOrDefault()) + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.HueGroupSome_Large); + else + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.HueGroupOff_Large); + break; + } } @@ -156,11 +216,6 @@ public override int GetHashCode() return base.GetHashCode(); } - [JsonIgnore, Browsable(false)] - public bool visible - { - get => _visible; - set => SetProperty(ref _visible, value); - } + } } diff --git a/WinHue3/Philips Hue/HueObjects/GroupObject/Location.cs b/WinHue3/Philips Hue/HueObjects/GroupObject/Location.cs new file mode 100644 index 00000000..0260754e --- /dev/null +++ b/WinHue3/Philips Hue/HueObjects/GroupObject/Location.cs @@ -0,0 +1,131 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; + +namespace WinHue3.Philips_Hue.HueObjects.GroupObject +{ + + public sealed class Location : Dictionary, ICustomTypeDescriptor + { + public override string ToString() + { + return "..."; + } + + #region TypeDescriptor + + PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties() + { + // Create a collection object to hold property descriptors + PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); + + foreach (string s in Keys) + { + pds.Add(new LocationPropertyDescriptor(this[s], s)); + } + + return pds; + } + + AttributeCollection ICustomTypeDescriptor.GetAttributes() + { + return TypeDescriptor.GetAttributes(this, true); + } + + string ICustomTypeDescriptor.GetClassName() + { + return TypeDescriptor.GetClassName(this, true); + } + + string ICustomTypeDescriptor.GetComponentName() + { + return TypeDescriptor.GetComponentName(this, true); + } + + TypeConverter ICustomTypeDescriptor.GetConverter() + { + return TypeDescriptor.GetConverter(this, true); + } + + EventDescriptor ICustomTypeDescriptor.GetDefaultEvent() + { + return TypeDescriptor.GetDefaultEvent(this, true); + } + + PropertyDescriptor ICustomTypeDescriptor.GetDefaultProperty() + { + return TypeDescriptor.GetDefaultProperty(this, true); + } + + object ICustomTypeDescriptor.GetEditor(Type editorBaseType) + { + return TypeDescriptor.GetEditor(this, editorBaseType, true); + } + + EventDescriptorCollection ICustomTypeDescriptor.GetEvents() + { + return TypeDescriptor.GetEvents(this, true); + } + + EventDescriptorCollection ICustomTypeDescriptor.GetEvents(Attribute[] attributes) + { + return TypeDescriptor.GetEvents(this, attributes, true); + } + + PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties(Attribute[] attributes) + { + return TypeDescriptor.GetProperties(this, attributes, true); + } + + object ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor pd) + { + return this; + } + + #endregion + } + + public class LocationPropertyDescriptor : PropertyDescriptor + { + private decimal[] _owner; + private string _key; + private decimal[] Value => _owner; + + public LocationPropertyDescriptor(decimal[] owner, string key) : base(key, null) + { + _owner = owner; + _key = key; + } + + public override string DisplayName => $"ID : {_key}"; + + public override bool CanResetValue(object component) + { + return true; + } + + public override object GetValue(object component) + { + return $"X: {_owner[0]}, Y: {_owner[1]}, Z: {_owner[2]}"; + } + + public override void ResetValue(object component) + { + + } + + public override void SetValue(object component, object value) + { + _owner = (decimal[]) value; + } + + public override bool ShouldSerializeValue(object component) + { + return false; + } + + public override Type ComponentType => _owner.GetType(); + public override bool IsReadOnly => true; + public override Type PropertyType => _owner.GetType(); + } +} \ No newline at end of file diff --git a/WinHue3/Philips Hue/HueObjects/GroupObject/Presence.cs b/WinHue3/Philips Hue/HueObjects/GroupObject/Presence.cs new file mode 100644 index 00000000..fae56461 --- /dev/null +++ b/WinHue3/Philips Hue/HueObjects/GroupObject/Presence.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WinHue3.Philips_Hue.HueObjects.GroupObject +{ + public class Presence + { + + } +} diff --git a/WinHue3/Philips Hue/HueObjects/GroupObject/Stream.cs b/WinHue3/Philips Hue/HueObjects/GroupObject/Stream.cs new file mode 100644 index 00000000..95389c31 --- /dev/null +++ b/WinHue3/Philips Hue/HueObjects/GroupObject/Stream.cs @@ -0,0 +1,42 @@ +using WinHue3.Utils; + +namespace WinHue3.Philips_Hue.HueObjects.GroupObject +{ + public class Stream : ValidatableBindableBase + { + private string _proxymode; + private string _proxynode; + private bool _active; + private string _owner; + + + public string proxymode + { + get => _proxymode; + set => SetProperty(ref _proxymode ,value); + } + + public string proxynode + { + get => _proxynode; + set => SetProperty(ref _proxynode, value); + } + + public bool active + { + get => _active; + set => SetProperty(ref _active ,value); + } + + public string owner + { + get => _owner; + set => SetProperty(ref _owner ,value); + } + + public override string ToString() + { + return $"Proxymode : {proxymode}, Proxynode : {proxynode}, Active : {active}, Owner : {owner}"; + } + } +} diff --git a/WinHue3/Philips Hue/HueObjects/LightObject/Light.cs b/WinHue3/Philips Hue/HueObjects/LightObject/Light.cs index 9048bcdc..571b0986 100644 --- a/WinHue3/Philips Hue/HueObjects/LightObject/Light.cs +++ b/WinHue3/Philips Hue/HueObjects/LightObject/Light.cs @@ -23,11 +23,6 @@ public class Light : ValidatableBindableBase, IHueObject /// private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - /// - /// List of possible light state. - /// - private enum LightImageState { On = 0, Off = 1, Unr = 3 } - private string _name; private ImageSource _image; private string _type; @@ -112,11 +107,6 @@ private enum LightImageState { On = 0, Off = 1, Unr = 3 } [Browsable(false), JsonIgnore] public bool visible { get => _visible; set => SetProperty(ref _visible,value);} - public override bool Equals(object obj) - { - return obj is Light hueobject && hueobject.Id == Id; - } - /// /// Capabilities of the light. /// @@ -144,42 +134,34 @@ public override bool Equals(object obj) [OnDeserialized] void OnDeserialized(StreamingContext ctx) { - if(state?.on != null) - Image = GetImageForLight(state.reachable.GetValueOrDefault() ? state.@on.GetValueOrDefault() ? LightImageState.On : LightImageState.Off : LightImageState.Unr, modelid, config.archetype); + RefreshImage(); + } + + public override bool Equals(object obj) + { + return obj is Light hueobject && hueobject.Id == Id; + } + public void RefreshImage() + { + if (state?.on != null) + Image = GetImageForLight(modelid, config.archetype); } /// /// Return the new image from the light /// - /// Requested state of the light. /// model id of the light. + /// Archetype of the light. /// New image of the light - private ImageSource GetImageForLight(LightImageState imagestate, string modelid = null, string archetype = null) + private ImageSource GetImageForLight(string modelid = null, string archetype = null) { string modelID = modelid ?? "DefaultHUE"; - string state = string.Empty; - - switch (imagestate) - { - case LightImageState.Off: - state = "off"; - break; - case LightImageState.On: - state = "on"; - break; - case LightImageState.Unr: - state = "unr"; - break; - default: - state = "off"; - break; - } if (modelID == string.Empty) { log.Debug("STATE : " + state + " empty MODELID using default images"); - return LightImageLibrary.Images["DefaultHUE"][state]; + return LightImageLibrary.Images["DefaultHUE"][state.on.GetValueOrDefault()]; } ImageSource newImage; @@ -187,18 +169,18 @@ private ImageSource GetImageForLight(LightImageState imagestate, string modelid if (LightImageLibrary.Images.ContainsKey(modelID)) // Check model ID first { log.Debug("STATE : " + state + " MODELID : " + modelID); - newImage = LightImageLibrary.Images[modelID][state]; + newImage = LightImageLibrary.Images[modelID][state.on.GetValueOrDefault()]; } else if (archetype != null && LightImageLibrary.Images.ContainsKey(archetype)) // Check archetype after model ID, giving model ID priority { log.Debug("STATE : " + state + " ARCHETYPE : " + archetype); - newImage = LightImageLibrary.Images[archetype][state]; + newImage = LightImageLibrary.Images[archetype][state.on.GetValueOrDefault()]; } else // Neither model ID or archetype are known { log.Debug("STATE : " + state + " unknown MODELID : " + modelID + " and ARCHETYPE : " + archetype + " using default images."); - newImage = LightImageLibrary.Images["DefaultHUE"][state]; + newImage = LightImageLibrary.Images["DefaultHUE"][state.on.GetValueOrDefault()]; } return newImage; } diff --git a/WinHue3/Philips Hue/HueObjects/NewSensorsObject/CLIPGenericFlag/ClipGenericFlagSensorConfig.cs b/WinHue3/Philips Hue/HueObjects/NewSensorsObject/CLIPGenericFlag/ClipGenericFlagSensorConfig.cs index 33300dc5..66bec235 100644 --- a/WinHue3/Philips Hue/HueObjects/NewSensorsObject/CLIPGenericFlag/ClipGenericFlagSensorConfig.cs +++ b/WinHue3/Philips Hue/HueObjects/NewSensorsObject/CLIPGenericFlag/ClipGenericFlagSensorConfig.cs @@ -1,5 +1,4 @@ using System.ComponentModel; -using System.Runtime.Serialization; using Newtonsoft.Json; using WinHue3.Philips_Hue.Communication; using WinHue3.Philips_Hue.HueObjects.Common; diff --git a/WinHue3/Philips Hue/HueObjects/NewSensorsObject/CLIPGenericFlag/ClipGenericFlagSensorState.cs b/WinHue3/Philips Hue/HueObjects/NewSensorsObject/CLIPGenericFlag/ClipGenericFlagSensorState.cs index 24f95f56..55d0b52a 100644 --- a/WinHue3/Philips Hue/HueObjects/NewSensorsObject/CLIPGenericFlag/ClipGenericFlagSensorState.cs +++ b/WinHue3/Philips Hue/HueObjects/NewSensorsObject/CLIPGenericFlag/ClipGenericFlagSensorState.cs @@ -1,5 +1,4 @@ using System.ComponentModel; -using System.Runtime.Serialization; using Newtonsoft.Json; using WinHue3.Philips_Hue.HueObjects.Common; using WinHue3.Utils; diff --git a/WinHue3/Philips Hue/HueObjects/NewSensorsObject/ClipGenericStatus/ClipGenericStatusSensorState.cs b/WinHue3/Philips Hue/HueObjects/NewSensorsObject/ClipGenericStatus/ClipGenericStatusSensorState.cs index 6dbf0485..f4fa5b9f 100644 --- a/WinHue3/Philips Hue/HueObjects/NewSensorsObject/ClipGenericStatus/ClipGenericStatusSensorState.cs +++ b/WinHue3/Philips Hue/HueObjects/NewSensorsObject/ClipGenericStatus/ClipGenericStatusSensorState.cs @@ -12,16 +12,16 @@ namespace WinHue3.Philips_Hue.HueObjects.NewSensorsObject.ClipGenericStatus [JsonObject] public class ClipGenericStatusSensorState : ValidatableBindableBase, ISensorStateBase { - private int _status; + private int? _status; /// /// Sensor Status. /// - public int status + public int? status { get => _status; - set => SetProperty(ref _status,value); + set => SetProperty(ref _status,value); } private string _lastupdated; diff --git a/WinHue3/Philips Hue/HueObjects/NewSensorsObject/Sensor.cs b/WinHue3/Philips Hue/HueObjects/NewSensorsObject/Sensor.cs index 62676d56..0e99aa63 100644 --- a/WinHue3/Philips Hue/HueObjects/NewSensorsObject/Sensor.cs +++ b/WinHue3/Philips Hue/HueObjects/NewSensorsObject/Sensor.cs @@ -1,13 +1,9 @@ using System; using System.ComponentModel; using System.Dynamic; -using System.Reflection; -using System.Runtime.Serialization; using System.Windows.Media; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using WinHue3.ExtensionMethods; -using WinHue3.Philips_Hue.Communication; using WinHue3.Philips_Hue.HueObjects.Common; using WinHue3.Philips_Hue.HueObjects.NewSensorsObject.ClipGenericStatus; using WinHue3.Philips_Hue.HueObjects.NewSensorsObject.ClipHumidity; diff --git a/WinHue3/Philips Hue/HueObjects/RuleObject/Rule.cs b/WinHue3/Philips Hue/HueObjects/RuleObject/Rule.cs index 6b0f03a5..2e048d03 100644 --- a/WinHue3/Philips Hue/HueObjects/RuleObject/Rule.cs +++ b/WinHue3/Philips Hue/HueObjects/RuleObject/Rule.cs @@ -3,7 +3,6 @@ using System.Windows.Media; using Newtonsoft.Json; using WinHue3.Interface; -using WinHue3.Philips_Hue.Communication; using WinHue3.Philips_Hue.HueObjects.Common; using WinHue3.Utils; using Xceed.Wpf.Toolkit.PropertyGrid.Attributes; @@ -13,7 +12,7 @@ namespace WinHue3.Philips_Hue.HueObjects.RuleObject /// /// Rules. /// - [DataContract, JsonConverter(typeof(RuleJsonConverter))] + [DataContract, /*JsonConverter(typeof(RuleJsonConverter))*/] public class Rule : ValidatableBindableBase, IHueObject { private string _name; @@ -81,7 +80,7 @@ public RuleActionCollection actions /// /// Owner of the rule. /// - [DataMember(EmitDefaultValue = false, IsRequired = false), Category("Rule Properties"),Description("Owner of the rule"), ReadOnly(true)] + [DataMember(EmitDefaultValue = false, IsRequired = false), Category("Rule Properties"),Description("Owner of the rule"), ReadOnly(true), DontSerialize] public string owner { get => _owner; @@ -91,7 +90,7 @@ public string owner /// /// Number of time triggered. /// - [DataMember(EmitDefaultValue = false, IsRequired = false), Category("Rule Properties"),Description("Number of times the rule has been triggered"), ReadOnly(true), JsonIgnore] + [DataMember(EmitDefaultValue = false, IsRequired = false), Category("Rule Properties"),Description("Number of times the rule has been triggered"), ReadOnly(true)] public int? timestriggered { get => _timestriggered; @@ -101,7 +100,7 @@ public int? timestriggered /// /// Last time the rule was triggered /// - [DataMember(EmitDefaultValue = false, IsRequired = false), Category("Rule Properties"),Description("Last time the rule was triggered"), ReadOnly(true), JsonIgnore] + [DataMember(EmitDefaultValue = false, IsRequired = false), Category("Rule Properties"),Description("Last time the rule was triggered"), ReadOnly(true)] public string lasttriggered { get => _lasttriggered; @@ -111,7 +110,7 @@ public string lasttriggered /// /// Date of creation. /// - [DataMember(EmitDefaultValue = false, IsRequired = false), Category("Rule Properties"),Description("Date of creation"), ReadOnly(true), JsonIgnore] + [DataMember(EmitDefaultValue = false, IsRequired = false), Category("Rule Properties"),Description("Date of creation"), ReadOnly(true)] public string created { get => _created; @@ -131,8 +130,14 @@ public string status [DataMember(EmitDefaultValue = false, IsRequired = false), ReadOnly(true), JsonIgnore, Browsable(false)] public bool visible { - get { return _visible; } - set { SetProperty(ref _visible,value); } + get => _visible; + set => SetProperty(ref _visible,value); + } + + [OnDeserialized] + private void OnDeserialized(StreamingContext ctx) + { + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.rules); } /// diff --git a/WinHue3/Philips Hue/HueObjects/RuleObject/RuleAction.cs b/WinHue3/Philips Hue/HueObjects/RuleObject/RuleAction.cs index ac4fbf31..3aaabf16 100644 --- a/WinHue3/Philips Hue/HueObjects/RuleObject/RuleAction.cs +++ b/WinHue3/Philips Hue/HueObjects/RuleObject/RuleAction.cs @@ -8,7 +8,7 @@ namespace WinHue3.Philips_Hue.HueObjects.RuleObject /// /// Actions. /// - [JsonObject,JsonConverter(typeof(RuleActionJsonConverter)),ExpandableObject] + [JsonObject,ExpandableObject,JsonConverter(typeof(RuleActionJsonConverter))] public class RuleAction { /// diff --git a/WinHue3/Philips Hue/HueObjects/RuleObject/RuleActionJsonConverter.cs b/WinHue3/Philips Hue/HueObjects/RuleObject/RuleActionJsonConverter.cs index 23fc5143..27893811 100644 --- a/WinHue3/Philips Hue/HueObjects/RuleObject/RuleActionJsonConverter.cs +++ b/WinHue3/Philips Hue/HueObjects/RuleObject/RuleActionJsonConverter.cs @@ -1,10 +1,6 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using WinHue3.ExtensionMethods; using WinHue3.Philips_Hue.HueObjects.Common; namespace WinHue3.Philips_Hue.HueObjects.RuleObject @@ -13,44 +9,29 @@ public class RuleActionJsonConverter : JsonConverter { public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { - RuleAction oldra = (RuleAction) value; - List prop = oldra.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly).ToList(); - + RuleAction ra = (RuleAction) value; writer.WriteStartObject(); - foreach (PropertyInfo p in prop) - { - if(p.GetValue(oldra) == null) continue; - writer.WritePropertyName(p.Name); - if (p.Name == "address") - { - writer.WriteValue(p.GetValue(oldra).ToString()); - } - else if(p.Name == "body") - { - writer.WriteRawValue(oldra.body); - } - else - { - writer.WriteValue(p.GetValue(oldra)); - } - } + writer.WritePropertyName("address"); + writer.WriteValue(ra.address); + writer.WritePropertyName("body"); + writer.WriteRaw(ra.body); + writer.WritePropertyName("method"); + writer.WriteValue(ra.method); + writer.WriteEndObject(); writer.WriteEnd(); - //writer.WriteEndObject(); } public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { JObject obj = serializer.Deserialize(reader); - RuleAction newRuleAction = new RuleAction(); - if (obj["address"] != null) - newRuleAction.address = obj["address"].ToObject(); - if (obj["method"] != null) - newRuleAction.method = obj["method"].Value(); - if (obj["body"] != null) - newRuleAction.body = JsonConvert.SerializeObject(obj["body"]); - - return newRuleAction; + RuleAction ra = new RuleAction + { + address = new HueAddress(obj["address"].Value()), + method = obj["method"].Value(), + body = obj["body"].ToString(), + }; + return ra; } public override bool CanConvert(Type objectType) diff --git a/WinHue3/Philips Hue/HueObjects/RuleObject/RuleCondition.cs b/WinHue3/Philips Hue/HueObjects/RuleObject/RuleCondition.cs index 30b1058b..e730b67d 100644 --- a/WinHue3/Philips Hue/HueObjects/RuleObject/RuleCondition.cs +++ b/WinHue3/Philips Hue/HueObjects/RuleObject/RuleCondition.cs @@ -9,7 +9,7 @@ namespace WinHue3.Philips_Hue.HueObjects.RuleObject /// /// Rules condition. /// - [JsonObject,ExpandableObject] + [JsonObject,ExpandableObject, JsonConverter(typeof(RuleConditionJsonConverter))] public class RuleCondition : ValidatableBindableBase { private HueAddress _address; diff --git a/WinHue3/Philips Hue/HueObjects/RuleObject/RuleConditionJsonConverter.cs b/WinHue3/Philips Hue/HueObjects/RuleObject/RuleConditionJsonConverter.cs new file mode 100644 index 00000000..186987e8 --- /dev/null +++ b/WinHue3/Philips Hue/HueObjects/RuleObject/RuleConditionJsonConverter.cs @@ -0,0 +1,42 @@ +using System; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using WinHue3.Philips_Hue.HueObjects.Common; + +namespace WinHue3.Philips_Hue.HueObjects.RuleObject +{ + public class RuleConditionJsonConverter : JsonConverter + { + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + RuleCondition rc = (RuleCondition) value; + writer.WriteStartObject(); + writer.WritePropertyName("address"); + writer.WriteValue(rc.address); + writer.WritePropertyName("operator"); + writer.WriteValue(rc.@operator); + writer.WriteValue(rc.value); + writer.WriteEndObject(); + writer.WriteEnd(); + } + + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + JObject obj = serializer.Deserialize(reader); + RuleCondition rc = new RuleCondition + { + address = new HueAddress(obj["address"].Value()), + @operator = obj["operator"].Value() + }; + + if(obj.ContainsKey("value")) + rc.value = obj["value"].Value(); + return rc; + } + + public override bool CanConvert(Type objectType) + { + return typeof(RuleCondition) == objectType; + } + } +} diff --git a/WinHue3/Philips Hue/HueObjects/RuleObject/RuleJsonConverter.cs b/WinHue3/Philips Hue/HueObjects/RuleObject/RuleJsonConverter.cs deleted file mode 100644 index cd69ec14..00000000 --- a/WinHue3/Philips Hue/HueObjects/RuleObject/RuleJsonConverter.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using WinHue3.ExtensionMethods; -using WinHue3.Interface; - -namespace WinHue3.Philips_Hue.HueObjects.RuleObject -{ - public class RuleJsonConverter : JsonConverter - { - public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) - { - Rule oldrule = (Rule) value; - List props = oldrule.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly).ToList(); - writer.WriteStartObject(); - - foreach (PropertyInfo p in props) - { - if (p.GetValue(oldrule) == null) continue; - if (Attribute.IsDefined(p, typeof(JsonIgnoreAttribute))) continue; - writer.WritePropertyName(p.Name); - if (p.Name == "conditions" ) - { - string str = JsonConvert.SerializeObject(oldrule.conditions, new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, StringEscapeHandling = StringEscapeHandling.Default }); - writer.WriteRawValue(str); - } - else if (p.Name == "actions") - { - string str = JsonConvert.SerializeObject(oldrule.actions, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore, StringEscapeHandling = StringEscapeHandling.Default }); - writer.WriteRawValue(str); - } - else - { - writer.WriteValue(p.GetValue(oldrule)); - } - - } - writer.WriteEnd(); - - } - - public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) - { - JObject obj = serializer.Deserialize(reader); - Rule newRule = new Rule(); - if (obj["created"] != null) - newRule.created = obj["created"].Value(); - if (obj["lasttriggered"] != null) - newRule.lasttriggered = obj["lasttriggered"].Value(); - if (obj["owner"] != null) - newRule.owner = obj["owner"].Value(); - if (obj["status"] != null) - newRule.status = obj["status"].Value(); - if (obj["name"] != null) - newRule.name = obj["name"].Value(); - if (obj["timestriggered"] != null) - newRule.timestriggered = obj["timestriggered"].Value(); - - if (obj["actions"] != null) - newRule.actions = obj["actions"].ToObject(); - if (obj["conditions"] != null) - newRule.conditions = obj["conditions"].ToObject(); - - newRule.Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.rules); - return newRule; - } - - public override bool CanConvert(Type objectType) - { - return typeof(Rule) == objectType; - } - } -} diff --git a/WinHue3/Philips Hue/HueObjects/SceneObject/GroupeTypeItemSource.cs b/WinHue3/Philips Hue/HueObjects/SceneObject/GroupeTypeItemSource.cs new file mode 100644 index 00000000..b636ed4d --- /dev/null +++ b/WinHue3/Philips Hue/HueObjects/SceneObject/GroupeTypeItemSource.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Xceed.Wpf.Toolkit.PropertyGrid.Attributes; + +namespace WinHue3.Philips_Hue.HueObjects.SceneObject +{ + public class GroupeTypeItemSource : IItemsSource + { + public ItemCollection GetValues() + { + ItemCollection types = new ItemCollection() { "LightScene", "GroupScene" }; + return types; + } + } +} diff --git a/WinHue3/Philips Hue/HueObjects/SceneObject/Scene.cs b/WinHue3/Philips Hue/HueObjects/SceneObject/Scene.cs index 71ac4945..747ea85e 100644 --- a/WinHue3/Philips Hue/HueObjects/SceneObject/Scene.cs +++ b/WinHue3/Philips Hue/HueObjects/SceneObject/Scene.cs @@ -34,6 +34,8 @@ public class Scene : ValidatableBindableBase, IHueObject private ushort? _transitiontime; private bool _visible; private bool _on; + private string _type; + private string _group; /// /// Image of the rule. @@ -55,6 +57,7 @@ public string Id set => SetProperty(ref _id,value); } + /// /// Name of the scene. /// @@ -189,6 +192,20 @@ public bool On set => SetProperty(ref _on, value); } + [Category("Scene Properties"),Description("Type of the scene"),ItemsSource(typeof(GroupeTypeItemSource))] + public string type + { + get => _type; + set => SetProperty(ref _type,value); + } + + [Category("Scene Properties"),Description("Group ID that a scene is linked to.")] + public string group + { + get => _group; + set => SetProperty(ref _group,value); + } + /// /// To String. /// @@ -202,6 +219,8 @@ public override string ToString() void OnDeserialized(StreamingContext ctx) { Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.scenes); + if (appdata.data is null && appdata.version is null) + appdata = null; } diff --git a/WinHue3/Philips Hue/HueObjects/SceneObject/SceneBody.cs b/WinHue3/Philips Hue/HueObjects/SceneObject/SceneBody.cs index 9ae3125f..955415fb 100644 --- a/WinHue3/Philips Hue/HueObjects/SceneObject/SceneBody.cs +++ b/WinHue3/Philips Hue/HueObjects/SceneObject/SceneBody.cs @@ -12,7 +12,6 @@ public class SceneBody : ValidatableBindableBase { private string _scene; - [ItemsSource(typeof(ScenesItemSource))] public string scene { get => _scene; diff --git a/WinHue3/Philips Hue/HueObjects/ScheduleObject/CommandJsonConverter.cs b/WinHue3/Philips Hue/HueObjects/ScheduleObject/CommandJsonConverter.cs new file mode 100644 index 00000000..dbb57d6e --- /dev/null +++ b/WinHue3/Philips Hue/HueObjects/ScheduleObject/CommandJsonConverter.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using WinHue3.Philips_Hue.HueObjects.Common; + +namespace WinHue3.Philips_Hue.HueObjects.ScheduleObject +{ + public class CommandJsonConverter : JsonConverter + { + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + Command cmd = (Command) value; + writer.WriteStartObject(); + writer.WritePropertyName("address"); + writer.WriteValue(cmd.address); + writer.WritePropertyName("body"); + writer.WriteRawValue(cmd.body); + writer.WritePropertyName("method"); + writer.WriteValue(cmd.method); + writer.WriteEndObject(); + + } + + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + Command cmd = new Command(); + JObject obj = serializer.Deserialize(reader); + cmd.address = new HueAddress(obj["address"].Value()); + cmd.body = obj["body"].ToString(); + cmd.method = obj["method"].Value(); + return cmd; + } + + public override bool CanConvert(Type objectType) + { + return objectType == typeof(Command); + } + } +} diff --git a/WinHue3/Philips Hue/HueObjects/ScheduleObject/Schedule.cs b/WinHue3/Philips Hue/HueObjects/ScheduleObject/Schedule.cs index 7aaf5cf5..bf89e83b 100644 --- a/WinHue3/Philips Hue/HueObjects/ScheduleObject/Schedule.cs +++ b/WinHue3/Philips Hue/HueObjects/ScheduleObject/Schedule.cs @@ -2,6 +2,7 @@ using System.Runtime.Serialization; using System.Windows.Media; using Newtonsoft.Json; +using WinHue3.Interface; using WinHue3.Philips_Hue.HueObjects.Common; using WinHue3.Utils; using Xceed.Wpf.Toolkit.PropertyGrid.Attributes; @@ -11,7 +12,7 @@ namespace WinHue3.Philips_Hue.HueObjects.ScheduleObject /// /// Class for a schedule. /// - [JsonObject, JsonConverter(typeof(ScheduleJsonConverter))] + [JsonObject] public class Schedule : ValidatableBindableBase, IHueObject { private string _name; @@ -80,7 +81,7 @@ public string description /// /// Command to be executed when the schedule is triggered /// - [ExpandableObject, Category("Command"), Description("Command of the schedule")] + [ExpandableObject, Category("Command"), Description("Command of the schedule"), JsonConverter(typeof(CommandJsonConverter))] public Command command { get => _command; @@ -140,8 +141,29 @@ public bool? autodelete [DataMember(EmitDefaultValue = false, IsRequired = false), ReadOnly(true), JsonIgnore, Browsable(false)] public bool visible { - get { return _visible; } - set { SetProperty(ref _visible,value); } + get => _visible; + set => SetProperty(ref _visible,value); + } + + [OnDeserialized] + private void OnDeserialized(StreamingContext ctx) + { + if (localtime.Contains("PT")) + { + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.timer_clock); + } + else if (localtime.Contains("W")) + { + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.stock_alarm); + } + else if (localtime.Contains("T")) + { + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.SchedulesLarge); + } + else + { + Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.schedules); + } } /// diff --git a/WinHue3/Philips Hue/HueObjects/ScheduleObject/ScheduleJsonConverter.cs b/WinHue3/Philips Hue/HueObjects/ScheduleObject/ScheduleJsonConverter.cs deleted file mode 100644 index 6d3d20bb..00000000 --- a/WinHue3/Philips Hue/HueObjects/ScheduleObject/ScheduleJsonConverter.cs +++ /dev/null @@ -1,138 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Windows.Media; -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; -using Newtonsoft.Json.Linq; -using WinHue3.ExtensionMethods; -using WinHue3.Interface; -using WinHue3.Philips_Hue.HueObjects.Common; - -namespace WinHue3.Philips_Hue.HueObjects.ScheduleObject -{ - public class ScheduleJsonConverter : JsonConverter - { - - public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) - { - Schedule oldsch = (Schedule) value; - List prop = oldsch.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly).ToList(); - - writer.WriteStartObject(); - foreach (PropertyInfo p in prop) - { - if (p.GetValue(oldsch) == null) continue; - if (p.GetCustomAttributes(typeof(JsonIgnoreAttribute)).Count() == 1) continue; - writer.WritePropertyName(p.Name); - if (p.Name == "command") - { - writer.WriteStartObject(); - List pi = oldsch.command.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly).ToList(); ; - foreach (PropertyInfo pc in pi) - { - if(pc.GetValue(oldsch.command) == null) continue; - writer.WritePropertyName(pc.Name); - if (pc.Name == "address") - { - writer.WriteValue(oldsch.command.address.ToString()); - } - else if (pc.Name == "body") - { - writer.WriteRawValue(oldsch.command.body); - } - else - { - writer.WriteValue(pc.GetValue(oldsch.command)); - } - - } - writer.WriteEndObject(); - } - else - { - writer.WriteValue(p.GetValue(oldsch)); - } - } - - writer.WriteEnd(); - - - } - - - public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) - { - serializer.DateParseHandling = DateParseHandling.None; - serializer.DateFormatHandling = DateFormatHandling.IsoDateFormat; - serializer.DateFormatString = "yyyy-MM-dd"; - reader.DateFormatString = "yyyy-MM-dd"; - reader.DateParseHandling = DateParseHandling.None; - - JObject obj = serializer.Deserialize(reader); - Schedule newSchedule = new Schedule(); - if(obj["name"] != null) - newSchedule.name = obj["name"].Value(); - if (obj["created"] != null) - newSchedule.created = obj["created"].Value(); - if (obj["autodelete"] != null) - newSchedule.autodelete = obj["autodelete"].Value(); - if (obj["description"] != null) - newSchedule.description = obj["description"].Value(); - - if (obj["localtime"] != null) - { - newSchedule.localtime = obj["localtime"].Value(); - if (newSchedule.localtime.Contains(" ")) newSchedule.localtime = newSchedule.localtime.Replace(" ", "T"); // Bypass a stupid function of JSON.Net that parses dates - } - else - { - if(obj["time"] != null) - newSchedule.localtime = obj["time"]?.Value(); - } - - - if (obj["recycle"] != null) - newSchedule.recycle = obj["recycle"].Value(); - if (obj["starttime"] != null) - newSchedule.starttime = obj["starttime"].Value(); - if (obj["status"] != null) - newSchedule.status = obj["status"].Value(); - if (obj["command"] == null) return newSchedule; - newSchedule.command = new Command(); - if (obj["command"]["address"] != null) - newSchedule.command.address = obj["command"]["address"].ToObject(); - if (obj["command"]["body"] != null) - newSchedule.command.body = JsonConvert.SerializeObject(obj["command"]["body"]); - if (obj["command"]["method"] != null) - newSchedule.command.method = obj["command"]["method"].Value(); - - if (newSchedule.localtime == null) return newSchedule; - - if (newSchedule.localtime.Contains("PT")) - { - newSchedule.Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.timer_clock); - } - else if (newSchedule.localtime.Contains("W")) - { - newSchedule.Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.stock_alarm); - } - else if (newSchedule.localtime.Contains("T")) - { - newSchedule.Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.SchedulesLarge); - } - else - { - newSchedule.Image = GDIManager.CreateImageSourceFromImage(Properties.Resources.schedules); - } - - return newSchedule; - } - - public override bool CanConvert(Type objectType) - { - return typeof(Schedule) == objectType; - } - } -} \ No newline at end of file diff --git a/WinHue3/Properties/AssemblyInfo.cs b/WinHue3/Properties/AssemblyInfo.cs index f8ef481a..151d7d76 100644 --- a/WinHue3/Properties/AssemblyInfo.cs +++ b/WinHue3/Properties/AssemblyInfo.cs @@ -49,6 +49,6 @@ // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.0.4335.0")] +[assembly: AssemblyVersion("3.0.4666.0")] //[assembly: AssemblyFileVersion("3.0.*")] [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] \ No newline at end of file diff --git a/WinHue3/Properties/Resources.Designer.cs b/WinHue3/Properties/Resources.Designer.cs index 28ab334a..c22c25d3 100644 --- a/WinHue3/Properties/Resources.Designer.cs +++ b/WinHue3/Properties/Resources.Designer.cs @@ -223,9 +223,19 @@ public static System.Drawing.Bitmap effects { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap entertainment { + public static System.Drawing.Bitmap entertainment_off { get { - object obj = ResourceManager.GetObject("entertainment", resourceCulture); + object obj = ResourceManager.GetObject("entertainment_off", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap entertainment_on { + get { + object obj = ResourceManager.GetObject("entertainment_on", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } diff --git a/WinHue3/Properties/Resources.resx b/WinHue3/Properties/Resources.resx index 4db33498..20daca1a 100644 --- a/WinHue3/Properties/Resources.resx +++ b/WinHue3/Properties/Resources.resx @@ -421,7 +421,10 @@ ..\Resources\DefaultLIFX_unr.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\Resources\entertainment.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\entertainment_on.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/WinHue3/Resources/GUI.Designer.cs b/WinHue3/Resources/GUI.Designer.cs index e1deedb6..0c9ff95f 100644 --- a/WinHue3/Resources/GUI.Designer.cs +++ b/WinHue3/Resources/GUI.Designer.cs @@ -105,6 +105,15 @@ public static string AllOnOffSettings { } } + /// + /// Looks up a localized string similar to Available Lights. + /// + public static string AvailableLights { + get { + return ResourceManager.GetString("AvailableLights", resourceCulture); + } + } + /// /// Looks up a localized string similar to Abort. /// @@ -699,6 +708,15 @@ public static string Button_Ok { } } + /// + /// Looks up a localized string similar to Remove. + /// + public static string Button_Remove { + get { + return ResourceManager.GetString("Button_Remove", resourceCulture); + } + } + /// /// Looks up a localized string similar to Save. /// @@ -861,6 +879,15 @@ public static string EntertainmentCreatorForm_Z_Message { } } + /// + /// Looks up a localized string similar to Entertainment Lights. + /// + public static string EntertainmentLights { + get { + return ResourceManager.GetString("EntertainmentLights", resourceCulture); + } + } + /// /// Looks up a localized string similar to Event Log.... /// @@ -1743,6 +1770,15 @@ public static string GroupCreatorForm_Type { } } + /// + /// Looks up a localized string similar to Entertainment. + /// + public static string GroupCreatorForm_Type_Entertainment { + get { + return ResourceManager.GetString("GroupCreatorForm_Type_Entertainment", resourceCulture); + } + } + /// /// Looks up a localized string similar to Light Group. /// @@ -1779,6 +1815,15 @@ public static string Groups { } } + /// + /// Looks up a localized string similar to Group Scene. + /// + public static string GroupScene { + get { + return ResourceManager.GetString("GroupScene", resourceCulture); + } + } + /// /// Looks up a localized string similar to Assign. /// @@ -1833,6 +1878,15 @@ public static string Lights { } } + /// + /// Looks up a localized string similar to Light Scene. + /// + public static string LightScene { + get { + return ResourceManager.GetString("LightScene", resourceCulture); + } + } + /// /// Looks up a localized string similar to Others. /// @@ -1842,6 +1896,15 @@ public static string ListView_others { } } + /// + /// Looks up a localized string similar to Location. + /// + public static string Locations { + get { + return ResourceManager.GetString("Locations", resourceCulture); + } + } + /// /// Looks up a localized string similar to Clone. /// @@ -3075,6 +3138,15 @@ public static string PowerSettings_Warning { } } + /// + /// Looks up a localized string similar to You must press the link button on the bridge before adding a user.. + /// + public static string PressLinkButton { + get { + return ResourceManager.GetString("PressLinkButton", resourceCulture); + } + } + /// /// Looks up a localized string similar to Properties of the selected object. /// @@ -4659,6 +4731,15 @@ public static string Sort_Descending { } } + /// + /// Looks up a localized string similar to Enable Sreaming. + /// + public static string Stream { + get { + return ResourceManager.GetString("Stream", resourceCulture); + } + } + /// /// Looks up a localized string similar to Optional. /// diff --git a/WinHue3/Resources/GUI.fr.resx b/WinHue3/Resources/GUI.fr.resx index 2b90e477..ae6b3f0d 100644 --- a/WinHue3/Resources/GUI.fr.resx +++ b/WinHue3/Resources/GUI.fr.resx @@ -1665,4 +1665,31 @@ Param. Tout Allumé / Éteint + + Divertissement + + + Emplacement + + + Ampoules du divertissement + + + Ampoules Disponibles + + + Retirer + + + Active la diffusion + + + Appuyez sur le bouton de lien sur la passerelle avant d'ajouter un utilisateur. + + + Scène d'ampoule + + + Scène de groupe + \ No newline at end of file diff --git a/WinHue3/Resources/GUI.resx b/WinHue3/Resources/GUI.resx index 2258ffb0..9b35884e 100644 --- a/WinHue3/Resources/GUI.resx +++ b/WinHue3/Resources/GUI.resx @@ -1665,4 +1665,31 @@ All On/Off settings + + Entertainment + + + Location + + + Entertainment Lights + + + Available Lights + + + Remove + + + Enable Sreaming + + + You must press the link button on the bridge before adding a user. + + + Light Scene + + + Group Scene + \ No newline at end of file diff --git a/WinHue3/Resources/entertainment_on.png b/WinHue3/Resources/entertainment_on.png new file mode 100644 index 00000000..8ed8cdae Binary files /dev/null and b/WinHue3/Resources/entertainment_on.png differ diff --git a/WinHue3/Utils/StringCollection.cs b/WinHue3/Utils/StringCollection.cs index 54cbb895..b7f6af3e 100644 --- a/WinHue3/Utils/StringCollection.cs +++ b/WinHue3/Utils/StringCollection.cs @@ -46,8 +46,11 @@ public void AddRange(IEnumerable collection) this.Items.Add(i); } } - - + + public override string ToString() + { + return string.Join(",", this.Items); + } #region TYPE_DESCRIPTOR @@ -135,6 +138,8 @@ public StringPropertyDescriptor(BindingList owner, int index) : base(ind _index = index; } + + public override bool CanResetValue(object component) { return false; @@ -161,7 +166,7 @@ public override bool ShouldSerializeValue(object component) } public override Type ComponentType => _owner.GetType(); - public override bool IsReadOnly => false; + public override bool IsReadOnly => true; public override Type PropertyType => Value.GetType(); } } diff --git a/WinHue3/Utils/UpdateManager.cs b/WinHue3/Utils/UpdateManager.cs index eb3fdb8f..9364bc79 100644 --- a/WinHue3/Utils/UpdateManager.cs +++ b/WinHue3/Utils/UpdateManager.cs @@ -11,29 +11,31 @@ namespace WinHue3.Utils { - public static class UpdateManager + public class UpdateManager : ValidatableBindableBase { + private static readonly UpdateManager _instance = new UpdateManager(); private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); - private const string UPDATE_URL = "https://raw.githubusercontent.com/Hyrules/WinHue3/master/update.md"; - //private const string UPDATE_URL = "https://raw.githubusercontent.com/Hyrules/WinHue3/dev/update.md"; - private static bool _updateAvailable; - private static Update _update; - private static readonly WebClient wc; + private const string UPDATE_URL = "https://raw.githubusercontent.com/Hyrules/WinHue/master/update.md"; + private bool _updateAvailable; + private Update _update; + private readonly WebClient wc; - public static bool UpdateAvailable + public bool UpdateAvailable { get => _updateAvailable; - set => _updateAvailable = value; + set => SetProperty(ref _updateAvailable,value); } - static UpdateManager() + public static UpdateManager Instance => _instance; + + public UpdateManager() { wc = new WebClient(); wc.DownloadFileCompleted += Wc_DownloadFileCompleted; UpdateAvailable = false; } - public static bool CheckForWinHueUpdate() + public bool CheckForWinHueUpdate() { log.Info("Checking for WinHue 3 update..."); CommResult data = Comm.SendRequest(new Uri(UPDATE_URL), WebRequestType.Get); @@ -55,7 +57,7 @@ public static bool CheckForWinHueUpdate() return UpdateAvailable; } - public static bool CheckBridgeNeedUpdate(string actualversion) + public bool CheckBridgeNeedUpdate(string actualversion) { try { @@ -69,7 +71,7 @@ public static bool CheckBridgeNeedUpdate(string actualversion) } - public static void DownloadUpdate() + public void DownloadUpdate() { if (UpdateAvailable) { @@ -121,7 +123,7 @@ public static void DownloadUpdate() } } - private static void DoUpdate(string path) + private void DoUpdate(string path) { if (MessageBox.Show(GlobalStrings.NewUpdateDownloaded, GlobalStrings.Warning, MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes) return; try @@ -135,7 +137,7 @@ private static void DoUpdate(string path) Application.Current.Shutdown(); } - private static void Wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) + private void Wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) { if (e.Cancelled || e.Error != null) return; DoUpdate(e.UserState.ToString()); diff --git a/WinHue3/WinHue3.csproj b/WinHue3/WinHue3.csproj index 6afa1e11..2be65098 100644 --- a/WinHue3/WinHue3.csproj +++ b/WinHue3/WinHue3.csproj @@ -96,11 +96,11 @@ true - - ..\packages\BouncyCastle.1.8.4\lib\BouncyCastle.Crypto.dll + + ..\packages\BouncyCastle.1.8.5\lib\BouncyCastle.Crypto.dll - ..\packages\gong-wpf-dragdrop.2.0.0-alpha0107\lib\net45\GongSolutions.WPF.DragDrop.dll + ..\packages\gong-wpf-dragdrop.2.0.3\lib\net45\GongSolutions.WPF.DragDrop.dll ..\packages\Hardcodet.NotifyIcon.Wpf.1.0.8\lib\net451\Hardcodet.Wpf.TaskbarNotification.dll @@ -118,15 +118,18 @@ + + ..\packages\MQTTnet.3.0.2\lib\net452\MQTTnet.dll + - ..\packages\NAudio.1.9.0-preview2\lib\net35\NAudio.dll + ..\packages\NAudio.1.9.0\lib\net35\NAudio.dll False ..\packages\NDesk.Options.0.2.1\lib\NDesk.Options.dll - ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll + ..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll ..\packages\OpenHardwareMonitor\OpenHardwareMonitorLib.dll @@ -142,6 +145,7 @@ + @@ -242,6 +246,7 @@ + @@ -318,6 +323,7 @@ + @@ -347,11 +353,11 @@ - - + + @@ -372,6 +378,8 @@ + + @@ -412,6 +420,9 @@ + + + @@ -431,17 +442,16 @@ - - + @@ -1033,11 +1043,16 @@ - + + + + + + - + diff --git a/WinHue3/packages.config b/WinHue3/packages.config index 9dc6ed11..43042b34 100644 --- a/WinHue3/packages.config +++ b/WinHue3/packages.config @@ -1,12 +1,13 @@  - - + + - + + - + \ No newline at end of file diff --git a/WinHue3_1.sln b/WinHue3_1.sln index 79a76faf..a2b6edc1 100644 --- a/WinHue3_1.sln +++ b/WinHue3_1.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26730.16 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28922.388 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinHue3", "WinHue3\WinHue3.csproj", "{E08F8332-0232-47BC-A7D7-212F49296577}" EndProject @@ -9,7 +9,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "whc", "whc\whc.csproj", "{5 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestUnit", "TestUnit", "{383AF157-5558-4EE8-8B8D-9A904C4F5FB0}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HueLib2Test", "HueLib2Test\HueLib2Test.csproj", "{5FC27AAC-E748-41BE-81F0-D2842D9925B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "HueLib2Test\Test.csproj", "{5FC27AAC-E748-41BE-81F0-D2842D9925B4}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{20692C04-4AA2-44E3-8E3E-78F30C5F58E8}" ProjectSection(SolutionItems) = preProject @@ -17,9 +17,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProjectSection EndProject Global - GlobalSection(Performance) = preSolution - HasPerformanceSessions = true - EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 @@ -59,8 +56,11 @@ Global {5FC27AAC-E748-41BE-81F0-D2842D9925B4} = {383AF157-5558-4EE8-8B8D-9A904C4F5FB0} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - VisualSVNWorkingCopyRoot = . - SolutionGuid = {F7AF3748-36F5-46A1-AFE9-F9272BC23765} BuildVersion_StartDate = 2000/1/1 + SolutionGuid = {F7AF3748-36F5-46A1-AFE9-F9272BC23765} + VisualSVNWorkingCopyRoot = . + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true EndGlobalSection EndGlobal diff --git a/lights/Classic A60 TW_unr.png b/lights/Classic A60 TW_unr.png deleted file mode 100644 index b0c107cd..00000000 Binary files a/lights/Classic A60 TW_unr.png and /dev/null differ diff --git a/lights/HML006_unr.png b/lights/HML006_unr.png deleted file mode 100644 index 01c3a34c..00000000 Binary files a/lights/HML006_unr.png and /dev/null differ diff --git a/lights/LCT001_unr.png b/lights/LCT001_unr.png deleted file mode 100644 index 0df3df0b..00000000 Binary files a/lights/LCT001_unr.png and /dev/null differ diff --git a/lights/LCT002_unr.png b/lights/LCT002_unr.png deleted file mode 100644 index 8c618d2e..00000000 Binary files a/lights/LCT002_unr.png and /dev/null differ diff --git a/lights/LCT003_unr.png b/lights/LCT003_unr.png deleted file mode 100644 index 02506f83..00000000 Binary files a/lights/LCT003_unr.png and /dev/null differ diff --git a/lights/LCT007_unr.png b/lights/LCT007_unr.png deleted file mode 100644 index 2cc5df86..00000000 Binary files a/lights/LCT007_unr.png and /dev/null differ diff --git a/lights/LCT010_unr.png b/lights/LCT010_unr.png deleted file mode 100644 index 1c6ade97..00000000 Binary files a/lights/LCT010_unr.png and /dev/null differ diff --git a/lights/LCT012_unr.png b/lights/LCT012_unr.png deleted file mode 100644 index 51a65550..00000000 Binary files a/lights/LCT012_unr.png and /dev/null differ diff --git a/lights/LCT014_unr.png b/lights/LCT014_unr.png deleted file mode 100644 index 1c6ade97..00000000 Binary files a/lights/LCT014_unr.png and /dev/null differ diff --git a/lights/LIFX A19_unr.png b/lights/LIFX A19_unr.png deleted file mode 100644 index 8e2a11d5..00000000 Binary files a/lights/LIFX A19_unr.png and /dev/null differ diff --git a/lights/LIFX A60_unr.png b/lights/LIFX A60_unr.png deleted file mode 100644 index 8e2a11d5..00000000 Binary files a/lights/LIFX A60_unr.png and /dev/null differ diff --git a/lights/LIFX BR30_unr.png b/lights/LIFX BR30_unr.png deleted file mode 100644 index 2567ebf2..00000000 Binary files a/lights/LIFX BR30_unr.png and /dev/null differ diff --git a/lights/LIFX GU10_unr.png b/lights/LIFX GU10_unr.png deleted file mode 100644 index 9bde2aa0..00000000 Binary files a/lights/LIFX GU10_unr.png and /dev/null differ diff --git a/lights/LIFX Mini_unr.png b/lights/LIFX Mini_unr.png deleted file mode 100644 index 33eee321..00000000 Binary files a/lights/LIFX Mini_unr.png and /dev/null differ diff --git a/lights/LIFX Z_unr.png b/lights/LIFX Z_unr.png deleted file mode 100644 index 31025cba..00000000 Binary files a/lights/LIFX Z_unr.png and /dev/null differ diff --git a/lights/LLC007_unr.png b/lights/LLC007_unr.png deleted file mode 100644 index 82336de1..00000000 Binary files a/lights/LLC007_unr.png and /dev/null differ diff --git a/lights/LLC013_unr.png b/lights/LLC013_unr.png deleted file mode 100644 index f9fef923..00000000 Binary files a/lights/LLC013_unr.png and /dev/null differ diff --git a/lights/LST001_unr.png b/lights/LST001_unr.png deleted file mode 100644 index d9db6fa6..00000000 Binary files a/lights/LST001_unr.png and /dev/null differ diff --git a/lights/LTW001_unr.png b/lights/LTW001_unr.png deleted file mode 100644 index 13b8a709..00000000 Binary files a/lights/LTW001_unr.png and /dev/null differ diff --git a/lights/LTW004_unr.png b/lights/LTW004_unr.png deleted file mode 100644 index 13b8a709..00000000 Binary files a/lights/LTW004_unr.png and /dev/null differ diff --git a/lights/LTW010_unr.png b/lights/LTW010_unr.png deleted file mode 100644 index 13b8a709..00000000 Binary files a/lights/LTW010_unr.png and /dev/null differ diff --git a/lights/LTW012_unr.png b/lights/LTW012_unr.png deleted file mode 100644 index 2a489993..00000000 Binary files a/lights/LTW012_unr.png and /dev/null differ diff --git a/lights/LTW015_unr.png b/lights/LTW015_unr.png deleted file mode 100644 index 13b8a709..00000000 Binary files a/lights/LTW015_unr.png and /dev/null differ diff --git a/lights/LWB001_unr.png b/lights/LWB001_unr.png deleted file mode 100644 index 25a6b5f4..00000000 Binary files a/lights/LWB001_unr.png and /dev/null differ diff --git a/lights/LWB004_unr.png b/lights/LWB004_unr.png deleted file mode 100644 index 7a57f55e..00000000 Binary files a/lights/LWB004_unr.png and /dev/null differ diff --git a/lights/LWB006_unr.png b/lights/LWB006_unr.png deleted file mode 100644 index 25a14c9a..00000000 Binary files a/lights/LWB006_unr.png and /dev/null differ diff --git a/lights/LWB007_unr.png b/lights/LWB007_unr.png deleted file mode 100644 index 25a14c9a..00000000 Binary files a/lights/LWB007_unr.png and /dev/null differ diff --git a/lights/LWL001_unr.png b/lights/LWL001_unr.png deleted file mode 100644 index a2ce780d..00000000 Binary files a/lights/LWL001_unr.png and /dev/null differ diff --git a/lights/ZLL Light_unr.png b/lights/ZLL Light_unr.png deleted file mode 100644 index ae3b7152..00000000 Binary files a/lights/ZLL Light_unr.png and /dev/null differ diff --git a/lights/archetype_floodbulb_unr.png b/lights/archetype_floodbulb_unr.png deleted file mode 100644 index a01c2bd0..00000000 Binary files a/lights/archetype_floodbulb_unr.png and /dev/null differ diff --git a/lights/archetype_huebloom_unr.png b/lights/archetype_huebloom_unr.png deleted file mode 100644 index 6cafd31c..00000000 Binary files a/lights/archetype_huebloom_unr.png and /dev/null differ diff --git a/lights/archetype_huego_unr.png b/lights/archetype_huego_unr.png deleted file mode 100644 index 3fd322c1..00000000 Binary files a/lights/archetype_huego_unr.png and /dev/null differ diff --git a/lights/archetype_hueiris_unr.png b/lights/archetype_hueiris_unr.png deleted file mode 100644 index 50a74289..00000000 Binary files a/lights/archetype_hueiris_unr.png and /dev/null differ diff --git a/lights/archetype_huelightstrip_unr.png b/lights/archetype_huelightstrip_unr.png deleted file mode 100644 index aa748d29..00000000 Binary files a/lights/archetype_huelightstrip_unr.png and /dev/null differ diff --git a/lights/archetype_hueplay_unr.png b/lights/archetype_hueplay_unr.png deleted file mode 100644 index f88d0b8b..00000000 Binary files a/lights/archetype_hueplay_unr.png and /dev/null differ diff --git a/lights/archetype_spotbulb_unr.png b/lights/archetype_spotbulb_unr.png deleted file mode 100644 index b98b29d2..00000000 Binary files a/lights/archetype_spotbulb_unr.png and /dev/null differ diff --git a/packages/BouncyCastle.1.8.4/lib/BouncyCastle.Crypto.dll b/packages/BouncyCastle.1.8.4/lib/BouncyCastle.Crypto.dll deleted file mode 100644 index ef5a5bb5..00000000 Binary files a/packages/BouncyCastle.1.8.4/lib/BouncyCastle.Crypto.dll and /dev/null differ diff --git a/packages/BouncyCastle.1.8.5/.signature.p7s b/packages/BouncyCastle.1.8.5/.signature.p7s new file mode 100644 index 00000000..378adca9 Binary files /dev/null and b/packages/BouncyCastle.1.8.5/.signature.p7s differ diff --git a/packages/BouncyCastle.1.8.4/README.md b/packages/BouncyCastle.1.8.5/README.md similarity index 100% rename from packages/BouncyCastle.1.8.4/README.md rename to packages/BouncyCastle.1.8.5/README.md diff --git a/packages/BouncyCastle.1.8.5/lib/BouncyCastle.Crypto.dll b/packages/BouncyCastle.1.8.5/lib/BouncyCastle.Crypto.dll new file mode 100644 index 00000000..05036dd1 Binary files /dev/null and b/packages/BouncyCastle.1.8.5/lib/BouncyCastle.Crypto.dll differ diff --git a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/.signature.p7s b/packages/MQTTnet.3.0.2/.signature.p7s similarity index 87% rename from packages/gong-wpf-dragdrop.2.0.0-alpha0107/.signature.p7s rename to packages/MQTTnet.3.0.2/.signature.p7s index a00d534a..d17b68a0 100644 Binary files a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/.signature.p7s and b/packages/MQTTnet.3.0.2/.signature.p7s differ diff --git a/packages/MQTTnet.3.0.2/LICENSE b/packages/MQTTnet.3.0.2/LICENSE new file mode 100644 index 00000000..784616d0 --- /dev/null +++ b/packages/MQTTnet.3.0.2/LICENSE @@ -0,0 +1,21 @@ +MIT License + +MQTTnet Copyright (c) 2016-2019 Christian Kratky + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/MQTTnet.3.0.2/lib/net452/MQTTnet.dll b/packages/MQTTnet.3.0.2/lib/net452/MQTTnet.dll new file mode 100644 index 00000000..d531e5d9 Binary files /dev/null and b/packages/MQTTnet.3.0.2/lib/net452/MQTTnet.dll differ diff --git a/packages/MQTTnet.3.0.2/lib/net461/MQTTnet.dll b/packages/MQTTnet.3.0.2/lib/net461/MQTTnet.dll new file mode 100644 index 00000000..e0143ab3 Binary files /dev/null and b/packages/MQTTnet.3.0.2/lib/net461/MQTTnet.dll differ diff --git a/packages/MQTTnet.3.0.2/lib/netstandard1.3/MQTTnet.deps.json b/packages/MQTTnet.3.0.2/lib/netstandard1.3/MQTTnet.deps.json new file mode 100644 index 00000000..f4896bff --- /dev/null +++ b/packages/MQTTnet.3.0.2/lib/netstandard1.3/MQTTnet.deps.json @@ -0,0 +1,1273 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v1.3/", + "signature": "b3e58d6e0580ab8fc0f36f495fd6eab9958bcde8" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v1.3": {}, + ".NETStandard,Version=v1.3/": { + "MQTTnet/1.0.0": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "System.Net.Security": "4.3.2", + "System.Net.WebSockets": "4.3.0", + "System.Net.WebSockets.Client": "4.3.2" + }, + "runtime": { + "MQTTnet.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "Microsoft.NETCore.Targets/1.1.0": {}, + "Microsoft.Win32.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "NETStandard.Library/1.6.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.AppContext": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Console": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.Compression.ZipFile": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.Net.Http": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Sockets": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0" + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.native.System/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, + "System.AppContext/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.1/System.Buffers.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Console/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Diagnostics.Tools/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.Compression/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.IO.Compression": "4.3.0" + } + }, + "System.IO.Compression.ZipFile/4.3.0": { + "dependencies": { + "System.Buffers": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.Compression.ZipFile.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Linq.Expressions/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Net.Http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.DiagnosticSource": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.Compression": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Net.NameResolution/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Principal.Windows": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Net.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Net.Security/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Security.Principal.Windows": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.ThreadPool": "4.3.0" + } + }, + "System.Net.Sockets/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Net.WebHeaderCollection/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebHeaderCollection.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Net.WebSockets/4.3.0": { + "dependencies": { + "Microsoft.Win32.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebSockets.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Net.WebSockets.Client/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Net.NameResolution": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Security": "4.3.2", + "System.Net.Sockets": "4.3.0", + "System.Net.WebHeaderCollection": "4.3.0", + "System.Net.WebSockets": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0" + } + }, + "System.ObjectModel/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + }, + "runtime": { + "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Runtime.Numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Claims/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Principal": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Claims.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "dependencies": { + "System.IO": "4.3.0", + "System.Runtime": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0" + } + }, + "System.Security.Principal/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Security.Principal.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Principal.Windows/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.RegularExpressions/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "4.1.0.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.ThreadPool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": { + "assemblyVersion": "4.0.11.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Timer/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "4.1.0.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Xml.XDocument/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tools": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + } + } + }, + "libraries": { + "MQTTnet/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", + "path": "microsoft.netcore.targets/1.1.0", + "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "NETStandard.Library/1.6.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "path": "netstandard.library/1.6.1", + "hashPath": "netstandard.library.1.6.1.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.native.System/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.System.IO.Compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "path": "runtime.native.system.io.compression/4.3.0", + "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.AppContext/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "path": "system.appcontext/4.3.0", + "hashPath": "system.appcontext.4.3.0.nupkg.sha512" + }, + "System.Buffers/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", + "path": "system.buffers/4.3.0", + "hashPath": "system.buffers.4.3.0.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "System.Console/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "path": "system.console/4.3.0", + "hashPath": "system.console.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", + "path": "system.diagnostics.diagnosticsource/4.3.0", + "hashPath": "system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tools/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "path": "system.diagnostics.tools/4.3.0", + "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.Compression/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "path": "system.io.compression/4.3.0", + "hashPath": "system.io.compression.4.3.0.nupkg.sha512" + }, + "System.IO.Compression.ZipFile/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "path": "system.io.compression.zipfile/4.3.0", + "hashPath": "system.io.compression.zipfile.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "path": "system.linq.expressions/4.3.0", + "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" + }, + "System.Net.Http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "path": "system.net.http/4.3.0", + "hashPath": "system.net.http.4.3.0.nupkg.sha512" + }, + "System.Net.NameResolution/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AFYl08R7MrsrEjqpQWTZWBadqXyTzNDaWpMqyxhb0d6sGhV6xMDKueuBXlLL30gz+DIRY6MpdgnHWlCh5wmq9w==", + "path": "system.net.nameresolution/4.3.0", + "hashPath": "system.net.nameresolution.4.3.0.nupkg.sha512" + }, + "System.Net.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "path": "system.net.primitives/4.3.0", + "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" + }, + "System.Net.Security/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xT2jbYpbBo3ha87rViHoTA6WdvqOAW37drmqyx/6LD8p7HEPT2qgdxoimRzWtPg8Jh4X5G9BV2seeTv4x6FYlA==", + "path": "system.net.security/4.3.2", + "hashPath": "system.net.security.4.3.2.nupkg.sha512" + }, + "System.Net.Sockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "path": "system.net.sockets/4.3.0", + "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" + }, + "System.Net.WebHeaderCollection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XZrXYG3c7QV/GpWeoaRC02rM6LH2JJetfVYskf35wdC/w2fFDFMphec4gmVH2dkll6abtW14u9Rt96pxd9YH2A==", + "path": "system.net.webheadercollection/4.3.0", + "hashPath": "system.net.webheadercollection.4.3.0.nupkg.sha512" + }, + "System.Net.WebSockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-u6fFNY5q4T8KerUAVbya7bR6b7muBuSTAersyrihkcmE5QhEOiH3t5rh4il15SexbVlpXFHGuMwr/m8fDrnkQg==", + "path": "system.net.websockets/4.3.0", + "hashPath": "system.net.websockets.4.3.0.nupkg.sha512" + }, + "System.Net.WebSockets.Client/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LqSrocFY47SxEmu1fYWbUmXcFJ2B/PqnMtc6zudOTUhNINgo75hgmoHv46ynkJLmqjkpxPzl251SGWHc+jofFQ==", + "path": "system.net.websockets.client/4.3.2", + "hashPath": "system.net.websockets.client.4.3.2.nupkg.sha512" + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "path": "system.objectmodel/4.3.0", + "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "path": "system.reflection.extensions/4.3.0", + "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "path": "system.runtime.interopservices.runtimeinformation/4.3.0", + "hashPath": "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "System.Security.Claims/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", + "path": "system.security.claims/4.3.0", + "hashPath": "system.security.claims.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "System.Security.Principal/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", + "path": "system.security.principal/4.3.0", + "hashPath": "system.security.principal.4.3.0.nupkg.sha512" + }, + "System.Security.Principal.Windows/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HVL1rvqYtnRCxFsYag/2le/ZfKLK4yMw79+s6FmKXbSCNN0JeAhrYxnRAHFoWRa0dEojsDcbBSpH3l22QxAVyw==", + "path": "system.security.principal.windows/4.3.0", + "hashPath": "system.security.principal.windows.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Text.RegularExpressions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "path": "system.text.regularexpressions/4.3.0", + "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "path": "system.threading.tasks.extensions/4.3.0", + "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "System.Threading.Timer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "path": "system.threading.timer/4.3.0", + "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" + }, + "System.Xml.ReaderWriter/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "path": "system.xml.readerwriter/4.3.0", + "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" + }, + "System.Xml.XDocument/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "path": "system.xml.xdocument/4.3.0", + "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/packages/MQTTnet.3.0.2/lib/netstandard1.3/MQTTnet.dll b/packages/MQTTnet.3.0.2/lib/netstandard1.3/MQTTnet.dll new file mode 100644 index 00000000..395e31d2 Binary files /dev/null and b/packages/MQTTnet.3.0.2/lib/netstandard1.3/MQTTnet.dll differ diff --git a/packages/MQTTnet.3.0.2/lib/netstandard2.0/MQTTnet.deps.json b/packages/MQTTnet.3.0.2/lib/netstandard2.0/MQTTnet.deps.json new file mode 100644 index 00000000..81aa5120 --- /dev/null +++ b/packages/MQTTnet.3.0.2/lib/netstandard2.0/MQTTnet.deps.json @@ -0,0 +1,1068 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "5b6a99954c625a1ba70c802690a406374a15d2d1" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "MQTTnet/1.0.0": { + "dependencies": { + "NETStandard.Library": "2.0.3", + "System.Net.Security": "4.3.2", + "System.Net.WebSockets": "4.3.0", + "System.Net.WebSockets.Client": "4.3.2" + }, + "runtime": { + "MQTTnet.dll": {} + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "Microsoft.NETCore.Targets/1.1.0": {}, + "Microsoft.Win32.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.native.System/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Security/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, + "System.Collections/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Concurrent.dll": { + "assemblyVersion": "4.0.13.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Diagnostics.Debug/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Linq/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": { + "assemblyVersion": "4.1.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Net.NameResolution/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Principal.Windows": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Net.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Net.Security/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Security": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Sockets/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Net.WebHeaderCollection/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebHeaderCollection.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Net.WebSockets/4.3.0": { + "dependencies": { + "Microsoft.Win32.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Net.WebSockets.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Net.WebSockets.Client/4.3.2": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Net.NameResolution": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Net.Security": "4.3.2", + "System.Net.Sockets": "4.3.0", + "System.Net.WebHeaderCollection": "4.3.0", + "System.Net.WebSockets": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Timer": "4.3.0" + } + }, + "System.Reflection/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Primitives/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.Numerics/4.3.0": { + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Numerics.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Claims/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Security.Principal": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Claims.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.Cng/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Security.Cryptography.Csp/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + }, + "runtime": { + "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "1.0.24212.1" + } + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "4.0.1.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Security.Principal/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/System.Security.Principal.dll": { + "assemblyVersion": "4.0.2.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Security.Principal.Windows/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Claims": "4.3.0", + "System.Security.Principal": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Text.Encoding/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Threading/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": { + "assemblyVersion": "4.0.12.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Tasks/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.ThreadPool/4.3.0": { + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": { + "assemblyVersion": "4.0.11.0", + "fileVersion": "4.6.24705.1" + } + } + }, + "System.Threading.Timer/4.3.0": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + } + } + }, + "libraries": { + "MQTTnet/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", + "path": "microsoft.netcore.targets/1.1.0", + "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "path": "microsoft.win32.primitives/4.3.0", + "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==", + "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==", + "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==", + "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.native.System/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "path": "runtime.native.system/4.3.0", + "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Http/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "path": "runtime.native.system.net.http/4.3.0", + "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Net.Security/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-M2nN92ePS8BgQ2oi6Jj3PlTUzadYSIWLdZrHY1n1ZcW9o4wAQQ6W+aQ2lfq1ysZQfVCgDwY58alUdowrzezztg==", + "path": "runtime.native.system.net.security/4.3.0", + "hashPath": "runtime.native.system.net.security.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "path": "runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", + "path": "runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==", + "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==", + "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==", + "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==", + "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==", + "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==", + "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==", + "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", + "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" + }, + "System.Collections/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "path": "system.collections/4.3.0", + "hashPath": "system.collections.4.3.0.nupkg.sha512" + }, + "System.Collections.Concurrent/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "path": "system.collections.concurrent/4.3.0", + "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "path": "system.diagnostics.debug/4.3.0", + "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" + }, + "System.Diagnostics.Tracing/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "path": "system.diagnostics.tracing/4.3.0", + "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" + }, + "System.Globalization/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "path": "system.globalization/4.3.0", + "hashPath": "system.globalization.4.3.0.nupkg.sha512" + }, + "System.Globalization.Calendars/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "path": "system.globalization.calendars/4.3.0", + "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" + }, + "System.Globalization.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "path": "system.globalization.extensions/4.3.0", + "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" + }, + "System.IO/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "path": "system.io/4.3.0", + "hashPath": "system.io.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "path": "system.io.filesystem/4.3.0", + "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "path": "system.io.filesystem.primitives/4.3.0", + "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" + }, + "System.Linq/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "path": "system.linq/4.3.0", + "hashPath": "system.linq.4.3.0.nupkg.sha512" + }, + "System.Net.NameResolution/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AFYl08R7MrsrEjqpQWTZWBadqXyTzNDaWpMqyxhb0d6sGhV6xMDKueuBXlLL30gz+DIRY6MpdgnHWlCh5wmq9w==", + "path": "system.net.nameresolution/4.3.0", + "hashPath": "system.net.nameresolution.4.3.0.nupkg.sha512" + }, + "System.Net.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "path": "system.net.primitives/4.3.0", + "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" + }, + "System.Net.Security/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xT2jbYpbBo3ha87rViHoTA6WdvqOAW37drmqyx/6LD8p7HEPT2qgdxoimRzWtPg8Jh4X5G9BV2seeTv4x6FYlA==", + "path": "system.net.security/4.3.2", + "hashPath": "system.net.security.4.3.2.nupkg.sha512" + }, + "System.Net.Sockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "path": "system.net.sockets/4.3.0", + "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" + }, + "System.Net.WebHeaderCollection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XZrXYG3c7QV/GpWeoaRC02rM6LH2JJetfVYskf35wdC/w2fFDFMphec4gmVH2dkll6abtW14u9Rt96pxd9YH2A==", + "path": "system.net.webheadercollection/4.3.0", + "hashPath": "system.net.webheadercollection.4.3.0.nupkg.sha512" + }, + "System.Net.WebSockets/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-u6fFNY5q4T8KerUAVbya7bR6b7muBuSTAersyrihkcmE5QhEOiH3t5rh4il15SexbVlpXFHGuMwr/m8fDrnkQg==", + "path": "system.net.websockets/4.3.0", + "hashPath": "system.net.websockets.4.3.0.nupkg.sha512" + }, + "System.Net.WebSockets.Client/4.3.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LqSrocFY47SxEmu1fYWbUmXcFJ2B/PqnMtc6zudOTUhNINgo75hgmoHv46ynkJLmqjkpxPzl251SGWHc+jofFQ==", + "path": "system.net.websockets.client/4.3.2", + "hashPath": "system.net.websockets.client.4.3.2.nupkg.sha512" + }, + "System.Reflection/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "path": "system.reflection/4.3.0", + "hashPath": "system.reflection.4.3.0.nupkg.sha512" + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "path": "system.reflection.primitives/4.3.0", + "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "path": "system.resources.resourcemanager/4.3.0", + "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" + }, + "System.Runtime/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "path": "system.runtime/4.3.0", + "hashPath": "system.runtime.4.3.0.nupkg.sha512" + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "path": "system.runtime.extensions/4.3.0", + "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "path": "system.runtime.handles/4.3.0", + "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "path": "system.runtime.interopservices/4.3.0", + "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" + }, + "System.Runtime.Numerics/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "path": "system.runtime.numerics/4.3.0", + "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" + }, + "System.Security.Claims/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", + "path": "system.security.claims/4.3.0", + "hashPath": "system.security.claims.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Algorithms/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "path": "system.security.cryptography.algorithms/4.3.0", + "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Cng/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "path": "system.security.cryptography.cng/4.3.0", + "hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Csp/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "path": "system.security.cryptography.csp/4.3.0", + "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "path": "system.security.cryptography.encoding/4.3.0", + "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.OpenSsl/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "path": "system.security.cryptography.openssl/4.3.0", + "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "path": "system.security.cryptography.primitives/4.3.0", + "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" + }, + "System.Security.Cryptography.X509Certificates/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "path": "system.security.cryptography.x509certificates/4.3.0", + "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" + }, + "System.Security.Principal/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", + "path": "system.security.principal/4.3.0", + "hashPath": "system.security.principal.4.3.0.nupkg.sha512" + }, + "System.Security.Principal.Windows/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HVL1rvqYtnRCxFsYag/2le/ZfKLK4yMw79+s6FmKXbSCNN0JeAhrYxnRAHFoWRa0dEojsDcbBSpH3l22QxAVyw==", + "path": "system.security.principal.windows/4.3.0", + "hashPath": "system.security.principal.windows.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "path": "system.text.encoding/4.3.0", + "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "path": "system.text.encoding.extensions/4.3.0", + "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" + }, + "System.Threading/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "path": "system.threading/4.3.0", + "hashPath": "system.threading.4.3.0.nupkg.sha512" + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "path": "system.threading.tasks/4.3.0", + "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", + "path": "system.threading.threadpool/4.3.0", + "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" + }, + "System.Threading.Timer/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "path": "system.threading.timer/4.3.0", + "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/packages/MQTTnet.3.0.2/lib/netstandard2.0/MQTTnet.dll b/packages/MQTTnet.3.0.2/lib/netstandard2.0/MQTTnet.dll new file mode 100644 index 00000000..f1ec09e4 Binary files /dev/null and b/packages/MQTTnet.3.0.2/lib/netstandard2.0/MQTTnet.dll differ diff --git a/packages/MQTTnet.3.0.2/lib/uap10.0/MQTTnet.dll b/packages/MQTTnet.3.0.2/lib/uap10.0/MQTTnet.dll new file mode 100644 index 00000000..f02291e0 Binary files /dev/null and b/packages/MQTTnet.3.0.2/lib/uap10.0/MQTTnet.dll differ diff --git a/packages/MQTTnet.3.0.2/lib/uap10.0/MQTTnet.pri b/packages/MQTTnet.3.0.2/lib/uap10.0/MQTTnet.pri new file mode 100644 index 00000000..fe0144f7 Binary files /dev/null and b/packages/MQTTnet.3.0.2/lib/uap10.0/MQTTnet.pri differ diff --git a/packages/NAudio.1.9.0-preview2/lib/net35/NAudio.dll b/packages/NAudio.1.9.0-preview2/lib/net35/NAudio.dll deleted file mode 100644 index 06aaede8..00000000 Binary files a/packages/NAudio.1.9.0-preview2/lib/net35/NAudio.dll and /dev/null differ diff --git a/packages/NAudio.1.9.0-preview2/lib/netstandard2.0/NAudio.dll b/packages/NAudio.1.9.0-preview2/lib/netstandard2.0/NAudio.dll deleted file mode 100644 index 1b248c3b..00000000 Binary files a/packages/NAudio.1.9.0-preview2/lib/netstandard2.0/NAudio.dll and /dev/null differ diff --git a/packages/NAudio.1.9.0-preview2/.signature.p7s b/packages/NAudio.1.9.0/.signature.p7s similarity index 84% rename from packages/NAudio.1.9.0-preview2/.signature.p7s rename to packages/NAudio.1.9.0/.signature.p7s index 7a169628..72fb534a 100644 Binary files a/packages/NAudio.1.9.0-preview2/.signature.p7s and b/packages/NAudio.1.9.0/.signature.p7s differ diff --git a/packages/NAudio.1.9.0/lib/net35/NAudio.dll b/packages/NAudio.1.9.0/lib/net35/NAudio.dll new file mode 100644 index 00000000..beb84972 Binary files /dev/null and b/packages/NAudio.1.9.0/lib/net35/NAudio.dll differ diff --git a/packages/NAudio.1.9.0-preview2/lib/net35/NAudio.xml b/packages/NAudio.1.9.0/lib/net35/NAudio.xml similarity index 99% rename from packages/NAudio.1.9.0-preview2/lib/net35/NAudio.xml rename to packages/NAudio.1.9.0/lib/net35/NAudio.xml index 177de644..e9424921 100644 --- a/packages/NAudio.1.9.0-preview2/lib/net35/NAudio.xml +++ b/packages/NAudio.1.9.0/lib/net35/NAudio.xml @@ -10552,6 +10552,19 @@ Gets the latency (in ms) of the playback driver + + + Automatically stop when the end of the input stream is reached + Disable this if auto-stop is causing hanging issues + + + + + A flag to let you know that we have reached the end of the input file + Useful if AutoStop is set to false + You can monitor this yourself and call Stop when it is true + + Playback State diff --git a/packages/NAudio.1.9.0/lib/netstandard2.0/NAudio.dll b/packages/NAudio.1.9.0/lib/netstandard2.0/NAudio.dll new file mode 100644 index 00000000..a82da9e2 Binary files /dev/null and b/packages/NAudio.1.9.0/lib/netstandard2.0/NAudio.dll differ diff --git a/packages/NAudio.1.9.0-preview2/lib/netstandard2.0/NAudio.xml b/packages/NAudio.1.9.0/lib/netstandard2.0/NAudio.xml similarity index 100% rename from packages/NAudio.1.9.0-preview2/lib/netstandard2.0/NAudio.xml rename to packages/NAudio.1.9.0/lib/netstandard2.0/NAudio.xml diff --git a/packages/NAudio.1.9.0-preview2/lib/uap10.0.10240/NAudio.dll b/packages/NAudio.1.9.0/lib/uap10.0.10240/NAudio.dll similarity index 89% rename from packages/NAudio.1.9.0-preview2/lib/uap10.0.10240/NAudio.dll rename to packages/NAudio.1.9.0/lib/uap10.0.10240/NAudio.dll index cad57f51..c73f12d4 100644 Binary files a/packages/NAudio.1.9.0-preview2/lib/uap10.0.10240/NAudio.dll and b/packages/NAudio.1.9.0/lib/uap10.0.10240/NAudio.dll differ diff --git a/packages/NAudio.1.9.0-preview2/lib/uap10.0.10240/NAudio.pri b/packages/NAudio.1.9.0/lib/uap10.0.10240/NAudio.pri similarity index 100% rename from packages/NAudio.1.9.0-preview2/lib/uap10.0.10240/NAudio.pri rename to packages/NAudio.1.9.0/lib/uap10.0.10240/NAudio.pri diff --git a/packages/NAudio.1.9.0-preview2/lib/uap10.0.10240/NAudio.xml b/packages/NAudio.1.9.0/lib/uap10.0.10240/NAudio.xml similarity index 100% rename from packages/NAudio.1.9.0-preview2/lib/uap10.0.10240/NAudio.xml rename to packages/NAudio.1.9.0/lib/uap10.0.10240/NAudio.xml diff --git a/packages/Newtonsoft.Json.12.0.1/lib/net20/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.1/lib/net20/Newtonsoft.Json.dll deleted file mode 100644 index 09f93fc0..00000000 Binary files a/packages/Newtonsoft.Json.12.0.1/lib/net20/Newtonsoft.Json.dll and /dev/null differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/net35/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.1/lib/net35/Newtonsoft.Json.dll deleted file mode 100644 index 4881a561..00000000 Binary files a/packages/Newtonsoft.Json.12.0.1/lib/net35/Newtonsoft.Json.dll and /dev/null differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/net40/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.1/lib/net40/Newtonsoft.Json.dll deleted file mode 100644 index 828d1d86..00000000 Binary files a/packages/Newtonsoft.Json.12.0.1/lib/net40/Newtonsoft.Json.dll and /dev/null differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/net45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.1/lib/net45/Newtonsoft.Json.dll deleted file mode 100644 index d0aaed9c..00000000 Binary files a/packages/Newtonsoft.Json.12.0.1/lib/net45/Newtonsoft.Json.dll and /dev/null differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.0/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.0/Newtonsoft.Json.dll deleted file mode 100644 index 2044c33d..00000000 Binary files a/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.0/Newtonsoft.Json.dll and /dev/null differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.3/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.3/Newtonsoft.Json.dll deleted file mode 100644 index ea3c64d9..00000000 Binary files a/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.3/Newtonsoft.Json.dll and /dev/null differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll deleted file mode 100644 index 5d693bad..00000000 Binary files a/packages/Newtonsoft.Json.12.0.1/lib/netstandard2.0/Newtonsoft.Json.dll and /dev/null differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.1/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll deleted file mode 100644 index d6327830..00000000 Binary files a/packages/Newtonsoft.Json.12.0.1/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll and /dev/null differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll deleted file mode 100644 index 6f1ba4d5..00000000 Binary files a/packages/Newtonsoft.Json.12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll and /dev/null differ diff --git a/packages/Newtonsoft.Json.12.0.1/.signature.p7s b/packages/Newtonsoft.Json.12.0.2/.signature.p7s similarity index 79% rename from packages/Newtonsoft.Json.12.0.1/.signature.p7s rename to packages/Newtonsoft.Json.12.0.2/.signature.p7s index 8860fcc4..b2959bf8 100644 Binary files a/packages/Newtonsoft.Json.12.0.1/.signature.p7s and b/packages/Newtonsoft.Json.12.0.2/.signature.p7s differ diff --git a/packages/Newtonsoft.Json.12.0.1/LICENSE.md b/packages/Newtonsoft.Json.12.0.2/LICENSE.md similarity index 100% rename from packages/Newtonsoft.Json.12.0.1/LICENSE.md rename to packages/Newtonsoft.Json.12.0.2/LICENSE.md diff --git a/packages/Newtonsoft.Json.12.0.2/lib/net20/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.2/lib/net20/Newtonsoft.Json.dll new file mode 100644 index 00000000..524a7838 Binary files /dev/null and b/packages/Newtonsoft.Json.12.0.2/lib/net20/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/net20/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.12.0.2/lib/net20/Newtonsoft.Json.xml similarity index 99% rename from packages/Newtonsoft.Json.12.0.1/lib/net20/Newtonsoft.Json.xml rename to packages/Newtonsoft.Json.12.0.2/lib/net20/Newtonsoft.Json.xml index 0a89b9cb..7f79e7d0 100644 --- a/packages/Newtonsoft.Json.12.0.1/lib/net20/Newtonsoft.Json.xml +++ b/packages/Newtonsoft.Json.12.0.2/lib/net20/Newtonsoft.Json.xml @@ -1384,7 +1384,7 @@ Converts the to its JSON string representation. The value to convert. - A JSON string representation of the . + A JSON string representation of the . @@ -1961,6 +1961,12 @@ The member serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets how the object's properties with null values are handled during serialization and deserialization. @@ -6182,6 +6188,13 @@ The token to read from. + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + Reads the next JSON token from the underlying . @@ -8216,6 +8229,13 @@ The converter. + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + Gets or sets all methods called immediately after deserialization of the object. @@ -8338,6 +8358,12 @@ The member object serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets a value that indicates whether the object's properties are required. @@ -8504,6 +8530,11 @@ A value indicating whether this is required. + + + Gets a value indicating whether has a value specified. + + Gets or sets a value indicating whether this property preserves object references. @@ -8754,6 +8785,26 @@ The property name to resolve. The resolved property name. + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + Represents a method that constructs an object. diff --git a/packages/Newtonsoft.Json.12.0.2/lib/net35/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.2/lib/net35/Newtonsoft.Json.dll new file mode 100644 index 00000000..101fdadd Binary files /dev/null and b/packages/Newtonsoft.Json.12.0.2/lib/net35/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/net35/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.12.0.2/lib/net35/Newtonsoft.Json.xml similarity index 99% rename from packages/Newtonsoft.Json.12.0.1/lib/net35/Newtonsoft.Json.xml rename to packages/Newtonsoft.Json.12.0.2/lib/net35/Newtonsoft.Json.xml index d5d51271..5561a92f 100644 --- a/packages/Newtonsoft.Json.12.0.1/lib/net35/Newtonsoft.Json.xml +++ b/packages/Newtonsoft.Json.12.0.2/lib/net35/Newtonsoft.Json.xml @@ -1442,7 +1442,7 @@ Converts the to its JSON string representation. The value to convert. - A JSON string representation of the . + A JSON string representation of the . @@ -2090,6 +2090,12 @@ The member serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets how the object's properties with null values are handled during serialization and deserialization. @@ -6386,6 +6392,13 @@ The token to read from. + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + Reads the next JSON token from the underlying . @@ -8432,6 +8445,13 @@ The converter. + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + Gets or sets all methods called immediately after deserialization of the object. @@ -8554,6 +8574,12 @@ The member object serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets a value that indicates whether the object's properties are required. @@ -8720,6 +8746,11 @@ A value indicating whether this is required. + + + Gets a value indicating whether has a value specified. + + Gets or sets a value indicating whether this property preserves object references. @@ -8970,6 +9001,26 @@ The property name to resolve. The resolved property name. + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + Represents a method that constructs an object. diff --git a/packages/Newtonsoft.Json.12.0.2/lib/net40/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.2/lib/net40/Newtonsoft.Json.dll new file mode 100644 index 00000000..554e99de Binary files /dev/null and b/packages/Newtonsoft.Json.12.0.2/lib/net40/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/net40/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.12.0.2/lib/net40/Newtonsoft.Json.xml similarity index 99% rename from packages/Newtonsoft.Json.12.0.1/lib/net40/Newtonsoft.Json.xml rename to packages/Newtonsoft.Json.12.0.2/lib/net40/Newtonsoft.Json.xml index 48eb2859..cd4ec4a5 100644 --- a/packages/Newtonsoft.Json.12.0.1/lib/net40/Newtonsoft.Json.xml +++ b/packages/Newtonsoft.Json.12.0.2/lib/net40/Newtonsoft.Json.xml @@ -1514,7 +1514,7 @@ Converts the to its JSON string representation. The value to convert. - A JSON string representation of the . + A JSON string representation of the . @@ -2162,6 +2162,12 @@ The member serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets how the object's properties with null values are handled during serialization and deserialization. @@ -6496,6 +6502,13 @@ The token to read from. + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + Reads the next JSON token from the underlying . @@ -8583,6 +8596,13 @@ The converter. + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + Gets or sets all methods called immediately after deserialization of the object. @@ -8728,6 +8748,12 @@ The member object serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets a value that indicates whether the object's properties are required. @@ -8894,6 +8920,11 @@ A value indicating whether this is required. + + + Gets a value indicating whether has a value specified. + + Gets or sets a value indicating whether this property preserves object references. @@ -9144,6 +9175,26 @@ The property name to resolve. The resolved property name. + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + Represents a method that constructs an object. diff --git a/packages/Newtonsoft.Json.12.0.2/lib/net45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.2/lib/net45/Newtonsoft.Json.dll new file mode 100644 index 00000000..4395f610 Binary files /dev/null and b/packages/Newtonsoft.Json.12.0.2/lib/net45/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/netstandard2.0/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.12.0.2/lib/net45/Newtonsoft.Json.xml similarity index 99% rename from packages/Newtonsoft.Json.12.0.1/lib/netstandard2.0/Newtonsoft.Json.xml rename to packages/Newtonsoft.Json.12.0.2/lib/net45/Newtonsoft.Json.xml index 1e8a1086..c1c32cd6 100644 --- a/packages/Newtonsoft.Json.12.0.1/lib/netstandard2.0/Newtonsoft.Json.xml +++ b/packages/Newtonsoft.Json.12.0.2/lib/net45/Newtonsoft.Json.xml @@ -1514,7 +1514,7 @@ Converts the to its JSON string representation. The value to convert. - A JSON string representation of the . + A JSON string representation of the . @@ -2162,6 +2162,12 @@ The member serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets how the object's properties with null values are handled during serialization and deserialization. @@ -8103,6 +8109,13 @@ The token to read from. + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + Reads the next JSON token from the underlying . @@ -9826,6 +9839,31 @@ The trace message. The trace exception. This parameter is optional. + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + Provides information surrounding an error. @@ -10174,6 +10212,13 @@ The converter. + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + Gets or sets all methods called immediately after deserialization of the object. @@ -10319,6 +10364,12 @@ The member object serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets a value that indicates whether the object's properties are required. @@ -10485,6 +10536,11 @@ A value indicating whether this is required. + + + Gets a value indicating whether has a value specified. + + Gets or sets a value indicating whether this property preserves object references. @@ -10735,6 +10791,26 @@ The property name to resolve. The resolved property name. + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + Represents a method that constructs an object. diff --git a/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.0/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.0/Newtonsoft.Json.dll new file mode 100644 index 00000000..534d057d Binary files /dev/null and b/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.0/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.0/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.0/Newtonsoft.Json.xml similarity index 99% rename from packages/Newtonsoft.Json.12.0.1/lib/netstandard1.0/Newtonsoft.Json.xml rename to packages/Newtonsoft.Json.12.0.2/lib/netstandard1.0/Newtonsoft.Json.xml index cb887993..96703564 100644 --- a/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.0/Newtonsoft.Json.xml +++ b/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.0/Newtonsoft.Json.xml @@ -1418,7 +1418,7 @@ Converts the to its JSON string representation. The value to convert. - A JSON string representation of the . + A JSON string representation of the . @@ -1986,6 +1986,12 @@ The member serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets how the object's properties with null values are handled during serialization and deserialization. @@ -7780,6 +7786,13 @@ The token to read from. + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + Reads the next JSON token from the underlying . @@ -9811,6 +9824,13 @@ The converter. + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + Gets or sets all methods called immediately after deserialization of the object. @@ -9939,6 +9959,12 @@ The member object serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets a value that indicates whether the object's properties are required. @@ -10105,6 +10131,11 @@ A value indicating whether this is required. + + + Gets a value indicating whether has a value specified. + + Gets or sets a value indicating whether this property preserves object references. @@ -10355,6 +10386,26 @@ The property name to resolve. The resolved property name. + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + Represents a method that constructs an object. diff --git a/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.3/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.3/Newtonsoft.Json.dll new file mode 100644 index 00000000..91006b3f Binary files /dev/null and b/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.3/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.3/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.3/Newtonsoft.Json.xml similarity index 99% rename from packages/Newtonsoft.Json.12.0.1/lib/netstandard1.3/Newtonsoft.Json.xml rename to packages/Newtonsoft.Json.12.0.2/lib/netstandard1.3/Newtonsoft.Json.xml index 8d7a0bac..84fa7d48 100644 --- a/packages/Newtonsoft.Json.12.0.1/lib/netstandard1.3/Newtonsoft.Json.xml +++ b/packages/Newtonsoft.Json.12.0.2/lib/netstandard1.3/Newtonsoft.Json.xml @@ -1418,7 +1418,7 @@ Converts the to its JSON string representation. The value to convert. - A JSON string representation of the . + A JSON string representation of the . @@ -2057,6 +2057,12 @@ The member serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets how the object's properties with null values are handled during serialization and deserialization. @@ -7862,6 +7868,13 @@ The token to read from. + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + Reads the next JSON token from the underlying . @@ -9916,6 +9929,13 @@ The converter. + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + Gets or sets all methods called immediately after deserialization of the object. @@ -10061,6 +10081,12 @@ The member object serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets a value that indicates whether the object's properties are required. @@ -10227,6 +10253,11 @@ A value indicating whether this is required. + + + Gets a value indicating whether has a value specified. + + Gets or sets a value indicating whether this property preserves object references. @@ -10477,6 +10508,26 @@ The property name to resolve. The resolved property name. + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + Represents a method that constructs an object. diff --git a/packages/Newtonsoft.Json.12.0.2/lib/netstandard2.0/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.2/lib/netstandard2.0/Newtonsoft.Json.dll new file mode 100644 index 00000000..b8ea6e0e Binary files /dev/null and b/packages/Newtonsoft.Json.12.0.2/lib/netstandard2.0/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/net45/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.12.0.2/lib/netstandard2.0/Newtonsoft.Json.xml similarity index 99% rename from packages/Newtonsoft.Json.12.0.1/lib/net45/Newtonsoft.Json.xml rename to packages/Newtonsoft.Json.12.0.2/lib/netstandard2.0/Newtonsoft.Json.xml index 8c38a102..9f875d62 100644 --- a/packages/Newtonsoft.Json.12.0.1/lib/net45/Newtonsoft.Json.xml +++ b/packages/Newtonsoft.Json.12.0.2/lib/netstandard2.0/Newtonsoft.Json.xml @@ -1514,7 +1514,7 @@ Converts the to its JSON string representation. The value to convert. - A JSON string representation of the . + A JSON string representation of the . @@ -2162,6 +2162,12 @@ The member serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets how the object's properties with null values are handled during serialization and deserialization. @@ -8103,6 +8109,13 @@ The token to read from. + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + Reads the next JSON token from the underlying . @@ -9826,31 +9839,6 @@ The trace message. The trace exception. This parameter is optional. - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - Provides information surrounding an error. @@ -10199,6 +10187,13 @@ The converter. + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + Gets or sets all methods called immediately after deserialization of the object. @@ -10344,6 +10339,12 @@ The member object serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets a value that indicates whether the object's properties are required. @@ -10510,6 +10511,11 @@ A value indicating whether this is required. + + + Gets a value indicating whether has a value specified. + + Gets or sets a value indicating whether this property preserves object references. @@ -10760,6 +10766,26 @@ The property name to resolve. The resolved property name. + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + Represents a method that constructs an object. diff --git a/packages/Newtonsoft.Json.12.0.2/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.2/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll new file mode 100644 index 00000000..6e233b9f Binary files /dev/null and b/packages/Newtonsoft.Json.12.0.2/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.12.0.2/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml similarity index 99% rename from packages/Newtonsoft.Json.12.0.1/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml rename to packages/Newtonsoft.Json.12.0.2/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml index 3a90fdd6..e674bd4c 100644 --- a/packages/Newtonsoft.Json.12.0.1/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml +++ b/packages/Newtonsoft.Json.12.0.2/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml @@ -1310,7 +1310,7 @@ Converts the to its JSON string representation. The value to convert. - A JSON string representation of the . + A JSON string representation of the . @@ -1807,6 +1807,12 @@ The member serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets how the object's properties with null values are handled during serialization and deserialization. @@ -5956,6 +5962,13 @@ The token to read from. + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + Reads the next JSON token from the underlying . @@ -7968,6 +7981,13 @@ The converter. + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + Gets or sets all methods called immediately after deserialization of the object. @@ -8073,6 +8093,12 @@ The member object serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets a value that indicates whether the object's properties are required. @@ -8239,6 +8265,11 @@ A value indicating whether this is required. + + + Gets a value indicating whether has a value specified. + + Gets or sets a value indicating whether this property preserves object references. @@ -8489,6 +8520,26 @@ The property name to resolve. The resolved property name. + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + Represents a method that constructs an object. diff --git a/packages/Newtonsoft.Json.12.0.2/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.12.0.2/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll new file mode 100644 index 00000000..abdfe025 Binary files /dev/null and b/packages/Newtonsoft.Json.12.0.2/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll differ diff --git a/packages/Newtonsoft.Json.12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.12.0.2/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml similarity index 99% rename from packages/Newtonsoft.Json.12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml rename to packages/Newtonsoft.Json.12.0.2/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml index cb887993..96703564 100644 --- a/packages/Newtonsoft.Json.12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml +++ b/packages/Newtonsoft.Json.12.0.2/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml @@ -1418,7 +1418,7 @@ Converts the to its JSON string representation. The value to convert. - A JSON string representation of the . + A JSON string representation of the . @@ -1986,6 +1986,12 @@ The member serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets how the object's properties with null values are handled during serialization and deserialization. @@ -7780,6 +7786,13 @@ The token to read from. + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + Reads the next JSON token from the underlying . @@ -9811,6 +9824,13 @@ The converter. + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + Gets or sets all methods called immediately after deserialization of the object. @@ -9939,6 +9959,12 @@ The member object serialization. + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + Gets or sets a value that indicates whether the object's properties are required. @@ -10105,6 +10131,11 @@ A value indicating whether this is required. + + + Gets a value indicating whether has a value specified. + + Gets or sets a value indicating whether this property preserves object references. @@ -10355,6 +10386,26 @@ The property name to resolve. The resolved property name. + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + Represents a method that constructs an object. diff --git a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net45/GongSolutions.WPF.DragDrop.dll b/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net45/GongSolutions.WPF.DragDrop.dll deleted file mode 100644 index 004abd0b..00000000 Binary files a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net45/GongSolutions.WPF.DragDrop.dll and /dev/null differ diff --git a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net46/GongSolutions.WPF.DragDrop.dll b/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net46/GongSolutions.WPF.DragDrop.dll deleted file mode 100644 index 39cbe000..00000000 Binary files a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net46/GongSolutions.WPF.DragDrop.dll and /dev/null differ diff --git a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net47/GongSolutions.WPF.DragDrop.dll b/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net47/GongSolutions.WPF.DragDrop.dll deleted file mode 100644 index adf550f9..00000000 Binary files a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net47/GongSolutions.WPF.DragDrop.dll and /dev/null differ diff --git a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.dll b/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.dll deleted file mode 100644 index b1481f58..00000000 Binary files a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.dll and /dev/null differ diff --git a/packages/gong-wpf-dragdrop.2.0.3/.signature.p7s b/packages/gong-wpf-dragdrop.2.0.3/.signature.p7s new file mode 100644 index 00000000..5c876023 Binary files /dev/null and b/packages/gong-wpf-dragdrop.2.0.3/.signature.p7s differ diff --git a/packages/gong-wpf-dragdrop.2.0.3/LICENSE b/packages/gong-wpf-dragdrop.2.0.3/LICENSE new file mode 100644 index 00000000..bd9e2ace --- /dev/null +++ b/packages/gong-wpf-dragdrop.2.0.3/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2015-2019, Jan Karger (Steven Kirk) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of gong-wpf-dragdrop nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/gong-wpf-dragdrop.2.0.3/lib/net45/GongSolutions.WPF.DragDrop.dll b/packages/gong-wpf-dragdrop.2.0.3/lib/net45/GongSolutions.WPF.DragDrop.dll new file mode 100644 index 00000000..60226997 Binary files /dev/null and b/packages/gong-wpf-dragdrop.2.0.3/lib/net45/GongSolutions.WPF.DragDrop.dll differ diff --git a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net45/GongSolutions.WPF.DragDrop.xml b/packages/gong-wpf-dragdrop.2.0.3/lib/net45/GongSolutions.WPF.DragDrop.xml similarity index 100% rename from packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net45/GongSolutions.WPF.DragDrop.xml rename to packages/gong-wpf-dragdrop.2.0.3/lib/net45/GongSolutions.WPF.DragDrop.xml diff --git a/packages/gong-wpf-dragdrop.2.0.3/lib/net46/GongSolutions.WPF.DragDrop.dll b/packages/gong-wpf-dragdrop.2.0.3/lib/net46/GongSolutions.WPF.DragDrop.dll new file mode 100644 index 00000000..c283c2e8 Binary files /dev/null and b/packages/gong-wpf-dragdrop.2.0.3/lib/net46/GongSolutions.WPF.DragDrop.dll differ diff --git a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net46/GongSolutions.WPF.DragDrop.xml b/packages/gong-wpf-dragdrop.2.0.3/lib/net46/GongSolutions.WPF.DragDrop.xml similarity index 100% rename from packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net46/GongSolutions.WPF.DragDrop.xml rename to packages/gong-wpf-dragdrop.2.0.3/lib/net46/GongSolutions.WPF.DragDrop.xml diff --git a/packages/gong-wpf-dragdrop.2.0.3/lib/net47/GongSolutions.WPF.DragDrop.dll b/packages/gong-wpf-dragdrop.2.0.3/lib/net47/GongSolutions.WPF.DragDrop.dll new file mode 100644 index 00000000..b2369277 Binary files /dev/null and b/packages/gong-wpf-dragdrop.2.0.3/lib/net47/GongSolutions.WPF.DragDrop.dll differ diff --git a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net47/GongSolutions.WPF.DragDrop.xml b/packages/gong-wpf-dragdrop.2.0.3/lib/net47/GongSolutions.WPF.DragDrop.xml similarity index 100% rename from packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/net47/GongSolutions.WPF.DragDrop.xml rename to packages/gong-wpf-dragdrop.2.0.3/lib/net47/GongSolutions.WPF.DragDrop.xml diff --git a/packages/gong-wpf-dragdrop.2.0.3/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.dll b/packages/gong-wpf-dragdrop.2.0.3/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.dll new file mode 100644 index 00000000..1af62ecf Binary files /dev/null and b/packages/gong-wpf-dragdrop.2.0.3/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.dll differ diff --git a/packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.xml b/packages/gong-wpf-dragdrop.2.0.3/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.xml similarity index 100% rename from packages/gong-wpf-dragdrop.2.0.0-alpha0107/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.xml rename to packages/gong-wpf-dragdrop.2.0.3/lib/netcoreapp3.0/GongSolutions.WPF.DragDrop.xml diff --git a/whc/App.config b/whc/App.config index 060b3e10..24fc4418 100644 --- a/whc/App.config +++ b/whc/App.config @@ -1,41 +1,41 @@ - + -
+
- + - + - - + + - - + + - - + + - - + + - - + + diff --git a/whc/Properties/AssemblyInfo.cs b/whc/Properties/AssemblyInfo.cs index 301d4b7b..41f08c12 100644 --- a/whc/Properties/AssemblyInfo.cs +++ b/whc/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.509.0")] +[assembly: AssemblyVersion("1.0.523.0")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/whc/packages.config b/whc/packages.config index 466ab764..2c9c5ba4 100644 --- a/whc/packages.config +++ b/whc/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/whc/whc.csproj b/whc/whc.csproj index 80831c66..87d749fb 100644 --- a/whc/whc.csproj +++ b/whc/whc.csproj @@ -61,13 +61,14 @@ False - ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll + ..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll +