mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 04:34:56 +00:00
test: add multiple mocks for use with testing project
This commit is contained in:
@@ -1,270 +1,297 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.4.33213.308
|
VisualStudioVersion = 17.4.33213.308
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PepperDash.Essentials.Devices.Common", "src\PepperDash.Essentials.Devices.Common\PepperDash.Essentials.Devices.Common.csproj", "{53E204B7-97DD-441D-A96C-721DF014DF82}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PepperDash.Essentials.Devices.Common", "src\PepperDash.Essentials.Devices.Common\PepperDash.Essentials.Devices.Common.csproj", "{53E204B7-97DD-441D-A96C-721DF014DF82}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PepperDash.Essentials", "src\PepperDash.Essentials\PepperDash.Essentials.csproj", "{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PepperDash.Essentials", "src\PepperDash.Essentials\PepperDash.Essentials.csproj", "{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PepperDash.Essentials.Core", "src\PepperDash.Essentials.Core\PepperDash.Essentials.Core.csproj", "{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PepperDash.Essentials.Core", "src\PepperDash.Essentials.Core\PepperDash.Essentials.Core.csproj", "{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobile Control", "Mobile Control", "{B24989D7-32B5-48D5-9AE1-5F3B17D25206}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobile Control", "Mobile Control", "{B24989D7-32B5-48D5-9AE1-5F3B17D25206}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Essentials.MobileControl", "src\PepperDash.Essentials.MobileControl\PepperDash.Essentials.MobileControl.csproj", "{F6D362DE-2256-44B1-927A-8CE4705D839A}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Essentials.MobileControl", "src\PepperDash.Essentials.MobileControl\PepperDash.Essentials.MobileControl.csproj", "{F6D362DE-2256-44B1-927A-8CE4705D839A}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Essentials.MobileControl.Messengers", "src\PepperDash.Essentials.MobileControl.Messengers\PepperDash.Essentials.MobileControl.Messengers.csproj", "{B438694F-8FF7-464A-9EC8-10427374471F}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Essentials.MobileControl.Messengers", "src\PepperDash.Essentials.MobileControl.Messengers\PepperDash.Essentials.MobileControl.Messengers.csproj", "{B438694F-8FF7-464A-9EC8-10427374471F}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
{E5336563-1194-501E-BC4A-79AD9283EF90} = {E5336563-1194-501E-BC4A-79AD9283EF90}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Essentials", "Essentials", "{AD98B742-8D85-481C-A69D-D8D8ABED39EA}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Essentials", "Essentials", "{AD98B742-8D85-481C-A69D-D8D8ABED39EA}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Core", "src\PepperDash.Core\PepperDash.Core.csproj", "{E5336563-1194-501E-BC4A-79AD9283EF90}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Core", "src\PepperDash.Core\PepperDash.Core.csproj", "{E5336563-1194-501E-BC4A-79AD9283EF90}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrestronMock", "src\CrestronMock\CrestronMock.csproj", "{01191C7B-606D-4169-81B0-BC8BC1623CE9}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrestronMock", "src\CrestronMock\CrestronMock.csproj", "{01191C7B-606D-4169-81B0-BC8BC1623CE9}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EssentialsTests", "Tests\EssentialsTests\EssentialsTests.csproj", "{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EssentialsTests", "Tests\EssentialsTests\EssentialsTests.csproj", "{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Essentials.Core.Tests", "src\tests\PepperDash.Essentials.Core.Tests\PepperDash.Essentials.Core.Tests.csproj", "{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}"
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
EndProject
|
||||||
Debug 4.7.2|Any CPU = Debug 4.7.2|Any CPU
|
Global
|
||||||
Debug 4.7.2|x64 = Debug 4.7.2|x64
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug 4.7.2|x86 = Debug 4.7.2|x86
|
Debug 4.7.2|Any CPU = Debug 4.7.2|Any CPU
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug 4.7.2|x64 = Debug 4.7.2|x64
|
||||||
Debug|x64 = Debug|x64
|
Debug 4.7.2|x86 = Debug 4.7.2|x86
|
||||||
Debug|x86 = Debug|x86
|
Debug|Any CPU = Debug|Any CPU
|
||||||
Release|Any CPU = Release|Any CPU
|
Debug|x64 = Debug|x64
|
||||||
Release|x64 = Release|x64
|
Debug|x86 = Debug|x86
|
||||||
Release|x86 = Release|x86
|
Release|Any CPU = Release|Any CPU
|
||||||
Test|Any CPU = Test|Any CPU
|
Release|x64 = Release|x64
|
||||||
Test|x64 = Test|x64
|
Release|x86 = Release|x86
|
||||||
Test|x86 = Test|x86
|
Test|Any CPU = Test|Any CPU
|
||||||
EndGlobalSection
|
Test|x64 = Test|x64
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
Test|x86 = Test|x86
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|Any CPU.ActiveCfg = Debug 4.7.2|Any CPU
|
EndGlobalSection
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|Any CPU.Build.0 = Debug 4.7.2|Any CPU
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|Any CPU.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|Any CPU.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|x64.Build.0 = Debug|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|x86.Build.0 = Debug|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|Any CPU.Build.0 = Release|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|x64.ActiveCfg = Release|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|x64.Build.0 = Release|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|x86.ActiveCfg = Release|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|x86.Build.0 = Release|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|Any CPU.Build.0 = Test|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|x64.ActiveCfg = Test|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|x64.Build.0 = Test|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|Any CPU.Build.0 = Test|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|x86.ActiveCfg = Test|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|x64.ActiveCfg = Test|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|x86.Build.0 = Test|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|x64.Build.0 = Test|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|Any CPU.ActiveCfg = Debug 4.7.2|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|x86.ActiveCfg = Test|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|Any CPU.Build.0 = Debug 4.7.2|Any CPU
|
{53E204B7-97DD-441D-A96C-721DF014DF82}.Test|x86.Build.0 = Test|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|Any CPU.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|Any CPU.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|x64.Build.0 = Debug|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|x86.Build.0 = Debug|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|Any CPU.Build.0 = Release|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|x64.ActiveCfg = Release|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|x64.Build.0 = Release|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|x86.ActiveCfg = Release|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|x86.Build.0 = Release|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|Any CPU.Build.0 = Test|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|x64.ActiveCfg = Test|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|x64.Build.0 = Test|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|Any CPU.Build.0 = Test|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|x86.ActiveCfg = Test|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|x64.ActiveCfg = Test|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|x86.Build.0 = Test|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|x64.Build.0 = Test|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|Any CPU.ActiveCfg = Debug 4.7.2|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|x86.ActiveCfg = Test|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|Any CPU.Build.0 = Debug 4.7.2|Any CPU
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E}.Test|x86.Build.0 = Test|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|Any CPU.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|Any CPU.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|x64.Build.0 = Debug|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|x86.Build.0 = Debug|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|Any CPU.Build.0 = Release|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|x64.ActiveCfg = Release|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|x64.Build.0 = Release|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|x86.ActiveCfg = Release|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|x86.Build.0 = Release|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|Any CPU.Build.0 = Test|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|x64.ActiveCfg = Test|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|x64.Build.0 = Test|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|Any CPU.Build.0 = Test|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|x86.ActiveCfg = Test|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|x64.ActiveCfg = Test|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|x86.Build.0 = Test|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|x64.Build.0 = Test|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|x86.ActiveCfg = Test|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B}.Test|x86.Build.0 = Test|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|x64.Build.0 = Debug|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|x86.Build.0 = Debug|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|Any CPU.Build.0 = Release|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|x64.ActiveCfg = Release|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|x64.Build.0 = Release|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|x86.ActiveCfg = Release|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|x86.Build.0 = Release|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|Any CPU.Build.0 = Test|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|x64.ActiveCfg = Test|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|x64.Build.0 = Test|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|Any CPU.Build.0 = Test|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|x86.ActiveCfg = Test|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|x64.ActiveCfg = Test|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|x86.Build.0 = Test|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|x64.Build.0 = Test|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|x86.ActiveCfg = Test|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
{F6D362DE-2256-44B1-927A-8CE4705D839A}.Test|x86.Build.0 = Test|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|x64.Build.0 = Debug|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|x86.Build.0 = Debug|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|Any CPU.Build.0 = Release|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|x64.ActiveCfg = Release|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|x64.Build.0 = Release|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|x86.ActiveCfg = Release|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|x86.Build.0 = Release|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|Any CPU.Build.0 = Test|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|x64.ActiveCfg = Test|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|x64.Build.0 = Test|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|Any CPU.Build.0 = Test|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|x86.ActiveCfg = Test|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|x64.ActiveCfg = Test|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|x86.Build.0 = Test|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|x64.Build.0 = Test|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|x86.ActiveCfg = Test|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
{B438694F-8FF7-464A-9EC8-10427374471F}.Test|x86.Build.0 = Test|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|x64.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|x64.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|x86.ActiveCfg = Debug 4.7.2|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug 4.7.2|x86.Build.0 = Debug 4.7.2|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|x64.Build.0 = Debug|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|x86.Build.0 = Debug|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|Any CPU.Build.0 = Release|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|x64.ActiveCfg = Release|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|x64.Build.0 = Release|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|x86.ActiveCfg = Release|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|x86.Build.0 = Release|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|Any CPU.Build.0 = Test|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|x64.ActiveCfg = Test|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|x64.Build.0 = Test|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|Any CPU.Build.0 = Test|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|x86.ActiveCfg = Test|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|x64.ActiveCfg = Test|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|x86.Build.0 = Test|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|x64.Build.0 = Test|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|x86.ActiveCfg = Test|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
{E5336563-1194-501E-BC4A-79AD9283EF90}.Test|x86.Build.0 = Test|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|x64.ActiveCfg = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|x64.Build.0 = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|x86.ActiveCfg = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|x64.ActiveCfg = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|x86.Build.0 = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|x64.Build.0 = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|x86.ActiveCfg = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug 4.7.2|x86.Build.0 = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|x64.Build.0 = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|x86.Build.0 = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|Any CPU.Build.0 = Release|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|x64.ActiveCfg = Release|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|x64.Build.0 = Release|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|x86.ActiveCfg = Release|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|x86.Build.0 = Release|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|Any CPU.Build.0 = Test|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|x64.ActiveCfg = Test|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|x64.Build.0 = Test|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|Any CPU.Build.0 = Test|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|x86.ActiveCfg = Test|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|x64.ActiveCfg = Test|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|x86.Build.0 = Test|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|x64.Build.0 = Test|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|x86.ActiveCfg = Test|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9}.Test|x86.Build.0 = Test|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|x64.ActiveCfg = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|x64.Build.0 = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|x86.ActiveCfg = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|x64.ActiveCfg = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|x86.Build.0 = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|x64.Build.0 = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|x86.ActiveCfg = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug 4.7.2|x86.Build.0 = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|x64.Build.0 = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|x86.Build.0 = Debug|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|x64.ActiveCfg = Release|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|x64.Build.0 = Release|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|x86.ActiveCfg = Release|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|x86.Build.0 = Release|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|Any CPU.Build.0 = Test|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|x64.ActiveCfg = Test|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|Any CPU.ActiveCfg = Test|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|x64.Build.0 = Test|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|Any CPU.Build.0 = Test|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|x86.ActiveCfg = Test|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|x64.ActiveCfg = Test|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|x86.Build.0 = Test|Any CPU
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|x64.Build.0 = Test|Any CPU
|
||||||
EndGlobalSection
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|x86.ActiveCfg = Test|Any CPU
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB}.Test|x86.Build.0 = Test|Any CPU
|
||||||
HideSolutionNode = FALSE
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug 4.7.2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
EndGlobalSection
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug 4.7.2|Any CPU.Build.0 = Debug|Any CPU
|
||||||
GlobalSection(NestedProjects) = preSolution
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug 4.7.2|x64.ActiveCfg = Debug|Any CPU
|
||||||
{53E204B7-97DD-441D-A96C-721DF014DF82} = {AD98B742-8D85-481C-A69D-D8D8ABED39EA}
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug 4.7.2|x64.Build.0 = Debug|Any CPU
|
||||||
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E} = {AD98B742-8D85-481C-A69D-D8D8ABED39EA}
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug 4.7.2|x86.ActiveCfg = Debug|Any CPU
|
||||||
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B} = {AD98B742-8D85-481C-A69D-D8D8ABED39EA}
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug 4.7.2|x86.Build.0 = Debug|Any CPU
|
||||||
{F6D362DE-2256-44B1-927A-8CE4705D839A} = {B24989D7-32B5-48D5-9AE1-5F3B17D25206}
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{B438694F-8FF7-464A-9EC8-10427374471F} = {B24989D7-32B5-48D5-9AE1-5F3B17D25206}
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{E5336563-1194-501E-BC4A-79AD9283EF90} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{01191C7B-606D-4169-81B0-BC8BC1623CE9} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
EndGlobalSection
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
SolutionGuid = {6907A4BF-7201-47CF-AAB1-3597F3B8E1C3}
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
EndGlobal
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Test|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Test|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Test|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Test|x64.Build.0 = Debug|Any CPU
|
||||||
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Test|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6}.Test|x86.Build.0 = Debug|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(NestedProjects) = preSolution
|
||||||
|
{53E204B7-97DD-441D-A96C-721DF014DF82} = {AD98B742-8D85-481C-A69D-D8D8ABED39EA}
|
||||||
|
{CB3B11BA-625C-4D35-B663-FDC5BE9A230E} = {AD98B742-8D85-481C-A69D-D8D8ABED39EA}
|
||||||
|
{3D192FED-8FFC-4CB5-B5F7-BA307ABA254B} = {AD98B742-8D85-481C-A69D-D8D8ABED39EA}
|
||||||
|
{F6D362DE-2256-44B1-927A-8CE4705D839A} = {B24989D7-32B5-48D5-9AE1-5F3B17D25206}
|
||||||
|
{B438694F-8FF7-464A-9EC8-10427374471F} = {B24989D7-32B5-48D5-9AE1-5F3B17D25206}
|
||||||
|
{E5336563-1194-501E-BC4A-79AD9283EF90} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
|
||||||
|
{01191C7B-606D-4169-81B0-BC8BC1623CE9} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
|
||||||
|
{3EEC6E2D-ED96-4929-8BBB-C73BE499A4EB} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
|
||||||
|
{E86229FE-9400-4F7E-B4CB-C43637FEE6A6} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {6907A4BF-7201-47CF-AAB1-3597F3B8E1C3}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
|
|||||||
52
src/CrestronMock/Console.cs
Normal file
52
src/CrestronMock/Console.cs
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp
|
||||||
|
{
|
||||||
|
public static class ErrorLog
|
||||||
|
{
|
||||||
|
public static void Error(string message, params object[] args)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[ERROR] {string.Format(message, args)}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Notice(string message, params object[] args)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[NOTICE] {string.Format(message, args)}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Warn(string message, params object[] args)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[WARN] {string.Format(message, args)}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Info(string message, params object[] args)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[INFO] {string.Format(message, args)}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp.CrestronDataStore
|
||||||
|
{
|
||||||
|
public static class CrestronDataStoreStatic
|
||||||
|
{
|
||||||
|
public static CDS_ERROR SetLocalStringValue(string key, string value)
|
||||||
|
{
|
||||||
|
return CDS_ERROR.CDS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CDS_ERROR GetLocalStringValue(string key, out string value)
|
||||||
|
{
|
||||||
|
value = "";
|
||||||
|
return CDS_ERROR.CDS_SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum CDS_ERROR
|
||||||
|
{
|
||||||
|
CDS_SUCCESS = 0,
|
||||||
|
CDS_ERROR = -1
|
||||||
|
}
|
||||||
|
}
|
||||||
248
src/CrestronMock/CrestronEnvironment.cs
Normal file
248
src/CrestronMock/CrestronEnvironment.cs
Normal file
@@ -0,0 +1,248 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp
|
||||||
|
{
|
||||||
|
// Console and logging types needed by CrestronConsole and CrestronLogger
|
||||||
|
public delegate string ConsoleCommandFunction(string parameters);
|
||||||
|
|
||||||
|
public enum ConsoleAccessLevelEnum
|
||||||
|
{
|
||||||
|
AccessOperator = 0,
|
||||||
|
AccessProgrammer = 1,
|
||||||
|
AccessAdministrator = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ConsoleCommandParameterSpecClass
|
||||||
|
{
|
||||||
|
// Mock implementation
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock CrestronEnvironment for system event handling</summary>
|
||||||
|
public static class CrestronEnvironment
|
||||||
|
{
|
||||||
|
/// <summary>Event fired when program status changes</summary>
|
||||||
|
public static event Action<eProgramStatusEventType>? ProgramStatusEventHandler;
|
||||||
|
|
||||||
|
/// <summary>Event fired when ethernet status changes</summary>
|
||||||
|
public static event Action<EthernetEventArgs>? EthernetEventHandler;
|
||||||
|
|
||||||
|
/// <summary>Gets the device platform</summary>
|
||||||
|
public static string DevicePlatform => "Mock";
|
||||||
|
|
||||||
|
/// <summary>Gets the runtime environment</summary>
|
||||||
|
public static string RuntimeEnvironment => "Test";
|
||||||
|
|
||||||
|
/// <summary>Triggers a program status event (for testing)</summary>
|
||||||
|
/// <param name="eventType">Event type</param>
|
||||||
|
public static void TriggerProgramStatusEvent(eProgramStatusEventType eventType)
|
||||||
|
{
|
||||||
|
ProgramStatusEventHandler?.Invoke(eventType);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Triggers an ethernet event (for testing)</summary>
|
||||||
|
/// <param name="args">Event arguments</param>
|
||||||
|
public static void TriggerEthernetEvent(EthernetEventArgs args)
|
||||||
|
{
|
||||||
|
EthernetEventHandler?.Invoke(args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock ethernet event type enumeration</summary>
|
||||||
|
public enum eEthernetEventType
|
||||||
|
{
|
||||||
|
/// <summary>Link down</summary>
|
||||||
|
LinkDown = 0,
|
||||||
|
/// <summary>Link up</summary>
|
||||||
|
LinkUp = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock CrestronConsole for console output</summary>
|
||||||
|
public static class CrestronConsole
|
||||||
|
{
|
||||||
|
/// <summary>Prints a line to the console</summary>
|
||||||
|
/// <param name="message">Message to print</param>
|
||||||
|
public static void PrintLine(string message)
|
||||||
|
{
|
||||||
|
// Mock implementation - could write to System.Console in test environment
|
||||||
|
Console.WriteLine($"[CrestronConsole] {message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Prints formatted text to the console</summary>
|
||||||
|
/// <param name="format">Format string</param>
|
||||||
|
/// <param name="args">Arguments</param>
|
||||||
|
public static void PrintLine(string format, params object[] args)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[CrestronConsole] {string.Format(format, args)}");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Prints text to the console without a newline</summary>
|
||||||
|
/// <param name="message">Message to print</param>
|
||||||
|
public static void Print(string message)
|
||||||
|
{
|
||||||
|
Console.Write($"[CrestronConsole] {message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Console command response</summary>
|
||||||
|
/// <param name="command">Command to execute</param>
|
||||||
|
/// <returns>Response string</returns>
|
||||||
|
public static string ConsoleCommandResponse(string command)
|
||||||
|
{
|
||||||
|
return $"Mock response for command: {command}";
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Add new console command</summary>
|
||||||
|
/// <param name="function">Command function</param>
|
||||||
|
/// <param name="command">Command name</param>
|
||||||
|
/// <param name="help">Help text</param>
|
||||||
|
/// <param name="accessLevel">Access level</param>
|
||||||
|
/// <returns>0 for success</returns>
|
||||||
|
public static int AddNewConsoleCommand(ConsoleCommandFunction function, string command, string help, ConsoleAccessLevelEnum accessLevel)
|
||||||
|
{
|
||||||
|
return 0; // Mock success
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Add new console command with parameter spec</summary>
|
||||||
|
/// <param name="function">Command function</param>
|
||||||
|
/// <param name="command">Command name</param>
|
||||||
|
/// <param name="help">Help text</param>
|
||||||
|
/// <param name="accessLevel">Access level</param>
|
||||||
|
/// <param name="spec">Parameter specification</param>
|
||||||
|
/// <returns>0 for success</returns>
|
||||||
|
public static int AddNewConsoleCommand(ConsoleCommandFunction function, string command, string help, ConsoleAccessLevelEnum accessLevel, ConsoleCommandParameterSpecClass spec)
|
||||||
|
{
|
||||||
|
return 0; // Mock success
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Send control system command</summary>
|
||||||
|
/// <param name="command">Command to send</param>
|
||||||
|
/// <param name="programNumber">Program number</param>
|
||||||
|
public static void SendControlSystemCommand(string command, uint programNumber)
|
||||||
|
{
|
||||||
|
// Mock implementation
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp.CrestronIO
|
||||||
|
{
|
||||||
|
/// <summary>Mock File class for basic file operations</summary>
|
||||||
|
public static class File
|
||||||
|
{
|
||||||
|
/// <summary>Checks if a file exists</summary>
|
||||||
|
/// <param name="path">File path</param>
|
||||||
|
/// <returns>True if file exists</returns>
|
||||||
|
public static bool Exists(string path)
|
||||||
|
{
|
||||||
|
// Mock implementation - use System.IO.File for actual file operations
|
||||||
|
return System.IO.File.Exists(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Reads all text from a file</summary>
|
||||||
|
/// <param name="path">File path</param>
|
||||||
|
/// <returns>File contents</returns>
|
||||||
|
public static string ReadToEnd(string path)
|
||||||
|
{
|
||||||
|
return System.IO.File.ReadAllText(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Reads all text from a file with specified encoding</summary>
|
||||||
|
/// <param name="path">File path</param>
|
||||||
|
/// <param name="encoding">Text encoding</param>
|
||||||
|
/// <returns>File contents</returns>
|
||||||
|
public static string ReadToEnd(string path, System.Text.Encoding encoding)
|
||||||
|
{
|
||||||
|
return System.IO.File.ReadAllText(path, encoding);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Writes text to a file</summary>
|
||||||
|
/// <param name="path">File path</param>
|
||||||
|
/// <param name="contents">Contents to write</param>
|
||||||
|
public static void WriteAllText(string path, string contents)
|
||||||
|
{
|
||||||
|
System.IO.File.WriteAllText(path, contents);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Deletes a file</summary>
|
||||||
|
/// <param name="path">File path</param>
|
||||||
|
public static void Delete(string path)
|
||||||
|
{
|
||||||
|
if (System.IO.File.Exists(path))
|
||||||
|
System.IO.File.Delete(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock Directory class for basic directory operations</summary>
|
||||||
|
public static class Directory
|
||||||
|
{
|
||||||
|
/// <summary>Gets the application directory path</summary>
|
||||||
|
/// <returns>Application directory path</returns>
|
||||||
|
public static string GetApplicationDirectory()
|
||||||
|
{
|
||||||
|
// Mock implementation - return current directory or a typical Crestron path
|
||||||
|
return System.IO.Directory.GetCurrentDirectory();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the application root directory path</summary>
|
||||||
|
/// <returns>Application root directory path</returns>
|
||||||
|
public static string GetApplicationRootDirectory()
|
||||||
|
{
|
||||||
|
// Mock implementation - return current directory or a typical Crestron path
|
||||||
|
return System.IO.Directory.GetCurrentDirectory();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Checks if a directory exists</summary>
|
||||||
|
/// <param name="path">Directory path</param>
|
||||||
|
/// <returns>True if directory exists</returns>
|
||||||
|
public static bool Exists(string path)
|
||||||
|
{
|
||||||
|
return System.IO.Directory.Exists(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a directory</summary>
|
||||||
|
/// <param name="path">Directory path</param>
|
||||||
|
public static void CreateDirectory(string path)
|
||||||
|
{
|
||||||
|
System.IO.Directory.CreateDirectory(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock Path class for path operations</summary>
|
||||||
|
public static class Path
|
||||||
|
{
|
||||||
|
/// <summary>Directory separator character</summary>
|
||||||
|
public static readonly char DirectorySeparatorChar = System.IO.Path.DirectorySeparatorChar;
|
||||||
|
|
||||||
|
/// <summary>Combines path strings</summary>
|
||||||
|
/// <param name="path1">First path</param>
|
||||||
|
/// <param name="path2">Second path</param>
|
||||||
|
/// <returns>Combined path</returns>
|
||||||
|
public static string Combine(string path1, string path2)
|
||||||
|
{
|
||||||
|
return System.IO.Path.Combine(path1, path2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the file name from a path</summary>
|
||||||
|
/// <param name="path">Full path</param>
|
||||||
|
/// <returns>File name</returns>
|
||||||
|
public static string GetFileName(string path)
|
||||||
|
{
|
||||||
|
return System.IO.Path.GetFileName(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the directory name from a path</summary>
|
||||||
|
/// <param name="path">Full path</param>
|
||||||
|
/// <returns>Directory name</returns>
|
||||||
|
public static string GetDirectoryName(string path)
|
||||||
|
{
|
||||||
|
return System.IO.Path.GetDirectoryName(path) ?? string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the file extension from a path</summary>
|
||||||
|
/// <param name="path">Full path</param>
|
||||||
|
/// <returns>File extension</returns>
|
||||||
|
public static string GetExtension(string path)
|
||||||
|
{
|
||||||
|
return System.IO.Path.GetExtension(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
61
src/CrestronMock/CrestronLogger.cs
Normal file
61
src/CrestronMock/CrestronLogger.cs
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp.CrestronLogger
|
||||||
|
{
|
||||||
|
/// <summary>Mock CrestronLogger for .NET 8 compatibility</summary>
|
||||||
|
public static class CrestronLogger
|
||||||
|
{
|
||||||
|
/// <summary>Write to log</summary>
|
||||||
|
/// <param name="logName">Log name</param>
|
||||||
|
/// <param name="message">Message</param>
|
||||||
|
/// <param name="mode">Logger mode</param>
|
||||||
|
public static void WriteToLog(string logName, string message, LoggerModeEnum mode)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[{logName}] {message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Write to log with level</summary>
|
||||||
|
/// <param name="message">Message</param>
|
||||||
|
/// <param name="level">Log level</param>
|
||||||
|
public static void WriteToLog(string message, uint level)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[Level {level}] {message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Initialize logger</summary>
|
||||||
|
/// <param name="bufferSize">Buffer size</param>
|
||||||
|
/// <param name="mode">Logger mode</param>
|
||||||
|
public static void Initialize(int bufferSize, LoggerModeEnum mode)
|
||||||
|
{
|
||||||
|
// Mock implementation
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Print the log</summary>
|
||||||
|
/// <param name="includeAll">Include all log entries</param>
|
||||||
|
/// <returns>Log entries as string list</returns>
|
||||||
|
public static List<string> PrintTheLog(bool includeAll = false)
|
||||||
|
{
|
||||||
|
return new List<string> { "Mock log entry" };
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Clear the log</summary>
|
||||||
|
/// <param name="clearAll">Clear all entries</param>
|
||||||
|
/// <returns>Success message</returns>
|
||||||
|
public static string Clear(bool clearAll)
|
||||||
|
{
|
||||||
|
return "Log cleared (mock)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Logger mode enumeration</summary>
|
||||||
|
public enum LoggerModeEnum
|
||||||
|
{
|
||||||
|
/// <summary>Append mode</summary>
|
||||||
|
LoggingModeAppend = 0,
|
||||||
|
/// <summary>Overwrite mode</summary>
|
||||||
|
LoggingModeOverwrite = 1,
|
||||||
|
/// <summary>RM mode</summary>
|
||||||
|
RM = 2
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -30,6 +30,9 @@ namespace Crestron.SimplSharp
|
|||||||
/// <summary>Gets whether it's full duplex</summary>
|
/// <summary>Gets whether it's full duplex</summary>
|
||||||
public bool FullDuplex { get; private set; }
|
public bool FullDuplex { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>Gets the ethernet event type</summary>
|
||||||
|
public eEthernetEventType EthernetEventType { get; private set; }
|
||||||
|
|
||||||
/// <summary>Initializes a new instance of EthernetEventArgs</summary>
|
/// <summary>Initializes a new instance of EthernetEventArgs</summary>
|
||||||
/// <param name="adapter">Ethernet adapter number</param>
|
/// <param name="adapter">Ethernet adapter number</param>
|
||||||
/// <param name="linkUp">Link status</param>
|
/// <param name="linkUp">Link status</param>
|
||||||
@@ -41,6 +44,7 @@ namespace Crestron.SimplSharp
|
|||||||
LinkUp = linkUp;
|
LinkUp = linkUp;
|
||||||
Speed = speed;
|
Speed = speed;
|
||||||
FullDuplex = fullDuplex;
|
FullDuplex = fullDuplex;
|
||||||
|
EthernetEventType = linkUp ? eEthernetEventType.LinkUp : eEthernetEventType.LinkDown;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Default constructor</summary>
|
/// <summary>Default constructor</summary>
|
||||||
|
|||||||
74
src/CrestronMock/Extensions.cs
Normal file
74
src/CrestronMock/Extensions.cs
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp
|
||||||
|
{
|
||||||
|
public static class CrestronInvoke
|
||||||
|
{
|
||||||
|
public static void BeginInvoke(Func<object> func, object? state = null)
|
||||||
|
{
|
||||||
|
Task.Run(func);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void BeginInvoke(Action action)
|
||||||
|
{
|
||||||
|
Task.Run(action);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class CrestronEthernetHelper
|
||||||
|
{
|
||||||
|
public static List<string> GetEthernetAdaptersInfo()
|
||||||
|
{
|
||||||
|
return new List<string> { "MockAdapter" };
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string GetEthernetParameter(string adapter, string parameter)
|
||||||
|
{
|
||||||
|
return "MockValue";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp.Net.Https
|
||||||
|
{
|
||||||
|
public class UrlParser
|
||||||
|
{
|
||||||
|
public string Url { get; set; }
|
||||||
|
|
||||||
|
public UrlParser(string url)
|
||||||
|
{
|
||||||
|
Url = url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class HttpsHeader
|
||||||
|
{
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Value { get; set; }
|
||||||
|
|
||||||
|
public HttpsHeader(string name, string value)
|
||||||
|
{
|
||||||
|
Name = name;
|
||||||
|
Value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class HttpException : Exception
|
||||||
|
{
|
||||||
|
public HttpException(string message) : base(message) { }
|
||||||
|
public HttpException(string message, Exception innerException) : base(message, innerException) { }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace System.Collections.Generic
|
||||||
|
{
|
||||||
|
public static class DictionaryExtensions
|
||||||
|
{
|
||||||
|
public static void AddHeader(this Dictionary<string, string> dictionary, Crestron.SimplSharp.Net.Https.HttpsHeader header)
|
||||||
|
{
|
||||||
|
dictionary[header.Name] = header.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,7 +5,7 @@ using System.Net;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Crestron.SimplSharp.CrestronWebSocketServer
|
namespace Crestron.SimplSharp.WebScripting
|
||||||
{
|
{
|
||||||
/// <summary>Mock HttpCwsServer class for HTTP web server functionality</summary>
|
/// <summary>Mock HttpCwsServer class for HTTP web server functionality</summary>
|
||||||
public class HttpCwsServer : IDisposable
|
public class HttpCwsServer : IDisposable
|
||||||
@@ -92,6 +92,13 @@ namespace Crestron.SimplSharp.CrestronWebSocketServer
|
|||||||
_routes.Remove(route.ToLowerInvariant());
|
_routes.Remove(route.ToLowerInvariant());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Unregisters a route handler</summary>
|
||||||
|
/// <param name="route">Route path to unregister</param>
|
||||||
|
public void Unregister(string route)
|
||||||
|
{
|
||||||
|
RemoveRoute(route);
|
||||||
|
}
|
||||||
|
|
||||||
private async Task ProcessRequestsAsync()
|
private async Task ProcessRequestsAsync()
|
||||||
{
|
{
|
||||||
while (_listening && _httpListener != null)
|
while (_listening && _httpListener != null)
|
||||||
@@ -243,6 +250,13 @@ namespace Crestron.SimplSharp.CrestronWebSocketServer
|
|||||||
set => _response.StatusCode = value;
|
set => _response.StatusCode = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the status description</summary>
|
||||||
|
public string StatusDescription
|
||||||
|
{
|
||||||
|
get => _response.StatusDescription;
|
||||||
|
set => _response.StatusDescription = value;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>Gets or sets the content type</summary>
|
/// <summary>Gets or sets the content type</summary>
|
||||||
public string? ContentType
|
public string? ContentType
|
||||||
{
|
{
|
||||||
@@ -287,6 +301,19 @@ namespace Crestron.SimplSharp.CrestronWebSocketServer
|
|||||||
{
|
{
|
||||||
OutputStream.Write(buffer, offset, count);
|
OutputStream.Write(buffer, offset, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Ends the response</summary>
|
||||||
|
public void End()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_response.Close();
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
// Ignore exceptions during close
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Interface for HTTP request handlers</summary>
|
/// <summary>Interface for HTTP request handlers</summary>
|
||||||
|
|||||||
31
src/CrestronMock/SecureTCPClient.cs
Normal file
31
src/CrestronMock/SecureTCPClient.cs
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp.CrestronSockets
|
||||||
|
{
|
||||||
|
/// <summary>Mock implementation of Crestron SecureTCPClient for testing purposes</summary>
|
||||||
|
public class SecureTCPClient : TCPClient
|
||||||
|
{
|
||||||
|
/// <summary>Initializes a new instance of the SecureTCPClient class</summary>
|
||||||
|
/// <param name="addressToConnectTo">IP address to connect to</param>
|
||||||
|
/// <param name="portNumber">Port number to connect to</param>
|
||||||
|
/// <param name="bufferSize">Size of the receive buffer</param>
|
||||||
|
public SecureTCPClient(string addressToConnectTo, int portNumber, int bufferSize)
|
||||||
|
: base(addressToConnectTo, portNumber, bufferSize)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets or sets whether to verify the host certificate</summary>
|
||||||
|
public bool HostVerification { get; set; } = true;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets whether to verify the peer certificate</summary>
|
||||||
|
public bool PeerVerification { get; set; } = true;
|
||||||
|
|
||||||
|
/// <summary>Resets the client connection</summary>
|
||||||
|
/// <param name="connectionFlag">Connection flag</param>
|
||||||
|
public void Reset(int connectionFlag)
|
||||||
|
{
|
||||||
|
// Mock implementation
|
||||||
|
DisconnectFromServer();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
35
src/CrestronMock/SystemTypes.cs
Normal file
35
src/CrestronMock/SystemTypes.cs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp
|
||||||
|
{
|
||||||
|
public class InitialParametersClass
|
||||||
|
{
|
||||||
|
public static string ApplicationDirectory { get; set; } = "/User/";
|
||||||
|
public static string ProgramIDTag { get; set; } = "MockProgram";
|
||||||
|
public static string ApplicationName { get; set; } = "MockApplication";
|
||||||
|
public static string FirmwareVersion { get; set; } = "1.0.0.0";
|
||||||
|
public static uint ProgramNumber { get; set; } = 1;
|
||||||
|
public static eDevicePlatform DevicePlatform { get; set; } = eDevicePlatform.Appliance;
|
||||||
|
public static eCrestronSeries ControllerSeries { get; set; } = eCrestronSeries.FourSeries;
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum eDevicePlatform
|
||||||
|
{
|
||||||
|
Appliance = 0,
|
||||||
|
Server = 1,
|
||||||
|
ControlSystem = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum eCrestronSeries
|
||||||
|
{
|
||||||
|
TwoSeries = 2,
|
||||||
|
ThreeSeries = 3,
|
||||||
|
FourSeries = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum eRuntimeEnvironment
|
||||||
|
{
|
||||||
|
SimplSharpPro = 0,
|
||||||
|
SimplSharp = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -39,6 +39,10 @@ namespace Crestron.SimplSharp.CrestronSockets
|
|||||||
/// <param name="clientSocketStatus">The socket status</param>
|
/// <param name="clientSocketStatus">The socket status</param>
|
||||||
public delegate void TCPClientSocketStatusChangeEventHandler(TCPClient client, SocketStatus clientSocketStatus);
|
public delegate void TCPClientSocketStatusChangeEventHandler(TCPClient client, SocketStatus clientSocketStatus);
|
||||||
|
|
||||||
|
/// <summary>Delegate for TCP client connect callback</summary>
|
||||||
|
/// <param name="client">TCP client instance</param>
|
||||||
|
public delegate void TCPClientConnectCallback(TCPClient client);
|
||||||
|
|
||||||
/// <summary>Mock event handler for receiving TCP client data</summary>
|
/// <summary>Mock event handler for receiving TCP client data</summary>
|
||||||
/// <param name="client">The TCP client</param>
|
/// <param name="client">The TCP client</param>
|
||||||
/// <param name="numberOfBytesReceived">Number of bytes received</param>
|
/// <param name="numberOfBytesReceived">Number of bytes received</param>
|
||||||
@@ -89,6 +93,19 @@ namespace Crestron.SimplSharp.CrestronSockets
|
|||||||
/// <summary>Gets the number of bytes available to read</summary>
|
/// <summary>Gets the number of bytes available to read</summary>
|
||||||
public int BytesAvailable => IncomingDataBufferSize;
|
public int BytesAvailable => IncomingDataBufferSize;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the socket send or receive timeout in milliseconds</summary>
|
||||||
|
public int SocketSendOrReceiveTimeOutInMs
|
||||||
|
{
|
||||||
|
get => SocketSendTimeout;
|
||||||
|
set => SocketSendTimeout = SocketReceiveTimeout = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the address the client is connected to</summary>
|
||||||
|
public string AddressClientConnectedTo { get; private set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets the incoming data buffer</summary>
|
||||||
|
public byte[] IncomingDataBuffer { get; private set; } = new byte[0];
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Constructor
|
#region Constructor
|
||||||
@@ -139,10 +156,21 @@ namespace Crestron.SimplSharp.CrestronSockets
|
|||||||
|
|
||||||
// Mock connection - simulate successful connection
|
// Mock connection - simulate successful connection
|
||||||
ClientStatus = SocketStatus.SOCKET_STATUS_CONNECTED;
|
ClientStatus = SocketStatus.SOCKET_STATUS_CONNECTED;
|
||||||
|
AddressClientConnectedTo = AddressToConnectTo;
|
||||||
SocketStatusChange?.Invoke(this, ClientStatus);
|
SocketStatusChange?.Invoke(this, ClientStatus);
|
||||||
return ClientStatus;
|
return ClientStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Connects to the remote endpoint asynchronously with callback</summary>
|
||||||
|
/// <param name="callback">Callback to invoke when connection completes</param>
|
||||||
|
/// <returns>Status of the connection attempt</returns>
|
||||||
|
public SocketStatus ConnectToServerAsync(TCPClientConnectCallback callback)
|
||||||
|
{
|
||||||
|
var status = ConnectToServerAsync();
|
||||||
|
callback?.Invoke(this);
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>Connects to the remote endpoint</summary>
|
/// <summary>Connects to the remote endpoint</summary>
|
||||||
/// <returns>Status of the connection attempt</returns>
|
/// <returns>Status of the connection attempt</returns>
|
||||||
public SocketStatus ConnectToServer()
|
public SocketStatus ConnectToServer()
|
||||||
@@ -214,6 +242,26 @@ namespace Crestron.SimplSharp.CrestronSockets
|
|||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Sends data to the connected server asynchronously</summary>
|
||||||
|
/// <param name="dataToSend">Data to send as byte array</param>
|
||||||
|
/// <param name="lengthToSend">Number of bytes to send</param>
|
||||||
|
/// <returns>Number of bytes sent, or -1 on error</returns>
|
||||||
|
public int SendDataAsync(byte[] dataToSend, int lengthToSend)
|
||||||
|
{
|
||||||
|
return SendData(dataToSend, lengthToSend);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Receives data from the server asynchronously</summary>
|
||||||
|
/// <returns>Number of bytes received, or -1 on error</returns>
|
||||||
|
public int ReceiveDataAsync()
|
||||||
|
{
|
||||||
|
if (_disposed) return -1;
|
||||||
|
if (ClientStatus != SocketStatus.SOCKET_STATUS_CONNECTED) return -1;
|
||||||
|
|
||||||
|
// Mock receive - simulate no data available
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>Simulates receiving data (for testing purposes)</summary>
|
/// <summary>Simulates receiving data (for testing purposes)</summary>
|
||||||
/// <param name="data">Data to simulate receiving</param>
|
/// <param name="data">Data to simulate receiving</param>
|
||||||
public void SimulateDataReceived(string data)
|
public void SimulateDataReceived(string data)
|
||||||
|
|||||||
@@ -197,6 +197,71 @@ namespace Crestron.SimplSharp.CrestronSockets
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the socket status for a specific client</summary>
|
||||||
|
/// <param name="clientIndex">Index of client</param>
|
||||||
|
/// <returns>Socket status</returns>
|
||||||
|
public SocketStatus GetServerSocketStatusForSpecificClient(uint clientIndex)
|
||||||
|
{
|
||||||
|
lock (_lockObject)
|
||||||
|
{
|
||||||
|
if (clientIndex >= _clients.Count)
|
||||||
|
return SocketStatus.SOCKET_STATUS_NOT_CONNECTED;
|
||||||
|
|
||||||
|
return _clients[(int)clientIndex].IsConnected ?
|
||||||
|
SocketStatus.SOCKET_STATUS_CONNECTED :
|
||||||
|
SocketStatus.SOCKET_STATUS_NOT_CONNECTED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the port number the server accepted connection from for a specific client</summary>
|
||||||
|
/// <param name="clientIndex">Index of client</param>
|
||||||
|
/// <returns>Port number</returns>
|
||||||
|
public int GetPortNumberServerAcceptedConnectionFromForSpecificClient(uint clientIndex)
|
||||||
|
{
|
||||||
|
lock (_lockObject)
|
||||||
|
{
|
||||||
|
if (clientIndex >= _clients.Count)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return _clients[(int)clientIndex].ClientPort;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the local address the server accepted connection from for a specific client</summary>
|
||||||
|
/// <param name="clientIndex">Index of client</param>
|
||||||
|
/// <returns>Local address</returns>
|
||||||
|
public string GetLocalAddressServerAcceptedConnectionFromForSpecificClient(uint clientIndex)
|
||||||
|
{
|
||||||
|
return "127.0.0.1"; // Mock local address
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the incoming data buffer for a specific client</summary>
|
||||||
|
/// <param name="clientIndex">Index of client</param>
|
||||||
|
/// <returns>Incoming data buffer</returns>
|
||||||
|
public byte[] GetIncomingDataBufferForSpecificClient(uint clientIndex)
|
||||||
|
{
|
||||||
|
return new byte[0]; // Mock empty buffer
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Sends data to a specific client asynchronously</summary>
|
||||||
|
/// <param name="data">Data to send</param>
|
||||||
|
/// <param name="dataLength">Length of data to send</param>
|
||||||
|
/// <param name="clientIndex">Index of client</param>
|
||||||
|
/// <returns>SocketErrorCodes indicating success or failure</returns>
|
||||||
|
public SocketErrorCodes SendDataAsync(byte[] data, int dataLength, uint clientIndex)
|
||||||
|
{
|
||||||
|
return SendData(data, dataLength, clientIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Receives data from a specific client asynchronously</summary>
|
||||||
|
/// <param name="clientIndex">Index of client</param>
|
||||||
|
/// <returns>SocketErrorCodes indicating success or failure</returns>
|
||||||
|
public SocketErrorCodes ReceiveDataAsync(uint clientIndex)
|
||||||
|
{
|
||||||
|
// Mock implementation - no data to receive
|
||||||
|
return SocketErrorCodes.SOCKET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
private async Task AcceptClientsAsync()
|
private async Task AcceptClientsAsync()
|
||||||
{
|
{
|
||||||
while (_listening && _listener != null)
|
while (_listening && _listener != null)
|
||||||
@@ -301,6 +366,8 @@ namespace Crestron.SimplSharp.CrestronSockets
|
|||||||
|
|
||||||
public uint ClientIndex { get; }
|
public uint ClientIndex { get; }
|
||||||
public string ClientIPAddress { get; }
|
public string ClientIPAddress { get; }
|
||||||
|
public bool IsConnected => _connected;
|
||||||
|
public int ClientPort { get; }
|
||||||
|
|
||||||
public event EventHandler<TCPClientDataEventArgs>? DataReceived;
|
public event EventHandler<TCPClientDataEventArgs>? DataReceived;
|
||||||
public event EventHandler? Disconnected;
|
public event EventHandler? Disconnected;
|
||||||
@@ -313,6 +380,7 @@ namespace Crestron.SimplSharp.CrestronSockets
|
|||||||
|
|
||||||
var endpoint = tcpClient.Client.RemoteEndPoint as IPEndPoint;
|
var endpoint = tcpClient.Client.RemoteEndPoint as IPEndPoint;
|
||||||
ClientIPAddress = endpoint?.Address.ToString() ?? "Unknown";
|
ClientIPAddress = endpoint?.Address.ToString() ?? "Unknown";
|
||||||
|
ClientPort = endpoint?.Port ?? 0;
|
||||||
|
|
||||||
_ = Task.Run(ReceiveDataAsync);
|
_ = Task.Run(ReceiveDataAsync);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Crestron.SimplSharp.CrestronWebSocketServer;
|
using Crestron.SimplSharp.WebScripting;
|
||||||
|
|
||||||
namespace Crestron.SimplSharp.Net
|
namespace Crestron.SimplSharp.Net.Http
|
||||||
{
|
{
|
||||||
/// <summary>HTTP request types</summary>
|
/// <summary>HTTP request types</summary>
|
||||||
public enum RequestType
|
public enum RequestType
|
||||||
@@ -23,40 +23,17 @@ namespace Crestron.SimplSharp.Net
|
|||||||
Patch = 6
|
Patch = 6
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Mock Http namespace for Crestron HTTP client functionality</summary>
|
/// <summary>Mock HTTP client</summary>
|
||||||
public static class Http
|
public static class HttpClient
|
||||||
{
|
{
|
||||||
/// <summary>HTTP request types</summary>
|
/// <summary>Dispatch HTTP request</summary>
|
||||||
public enum RequestType
|
/// <param name="request">HTTP request</param>
|
||||||
|
/// <param name="callback">Callback for response</param>
|
||||||
|
public static void Dispatch(HttpClientRequest request, Action<HttpClientResponse> callback)
|
||||||
{
|
{
|
||||||
/// <summary>GET request</summary>
|
// Mock implementation - invoke callback with empty response
|
||||||
Get = 0,
|
var response = new HttpClientResponse();
|
||||||
/// <summary>POST request</summary>
|
callback?.Invoke(response);
|
||||||
Post = 1,
|
|
||||||
/// <summary>PUT request</summary>
|
|
||||||
Put = 2,
|
|
||||||
/// <summary>DELETE request</summary>
|
|
||||||
Delete = 3,
|
|
||||||
/// <summary>HEAD request</summary>
|
|
||||||
Head = 4,
|
|
||||||
/// <summary>OPTIONS request</summary>
|
|
||||||
Options = 5,
|
|
||||||
/// <summary>PATCH request</summary>
|
|
||||||
Patch = 6
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>Mock HTTP client</summary>
|
|
||||||
public static class HttpClient
|
|
||||||
{
|
|
||||||
/// <summary>Dispatch HTTP request</summary>
|
|
||||||
/// <param name="request">HTTP request</param>
|
|
||||||
/// <param name="callback">Callback for response</param>
|
|
||||||
public static void Dispatch(HttpClientRequest request, Action<HttpClientResponse> callback)
|
|
||||||
{
|
|
||||||
// Mock implementation - invoke callback with empty response
|
|
||||||
var response = new HttpClientResponse();
|
|
||||||
callback?.Invoke(response);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,41 +68,40 @@ namespace Crestron.SimplSharp.Net
|
|||||||
/// <summary>Gets the headers collection</summary>
|
/// <summary>Gets the headers collection</summary>
|
||||||
public Dictionary<string, string> Header { get; } = new Dictionary<string, string>();
|
public Dictionary<string, string> Header { get; } = new Dictionary<string, string>();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>Mock HTTPS namespace</summary>
|
namespace Crestron.SimplSharp.Net.Https
|
||||||
public static class Https
|
{
|
||||||
|
/// <summary>HTTPS request types</summary>
|
||||||
|
public enum RequestType
|
||||||
{
|
{
|
||||||
/// <summary>HTTPS request types</summary>
|
/// <summary>GET request</summary>
|
||||||
public enum RequestType
|
Get = 0,
|
||||||
{
|
/// <summary>POST request</summary>
|
||||||
/// <summary>GET request</summary>
|
Post = 1,
|
||||||
Get = 0,
|
/// <summary>PUT request</summary>
|
||||||
/// <summary>POST request</summary>
|
Put = 2,
|
||||||
Post = 1,
|
/// <summary>DELETE request</summary>
|
||||||
/// <summary>PUT request</summary>
|
Delete = 3,
|
||||||
Put = 2,
|
/// <summary>HEAD request</summary>
|
||||||
/// <summary>DELETE request</summary>
|
Head = 4,
|
||||||
Delete = 3,
|
/// <summary>OPTIONS request</summary>
|
||||||
/// <summary>HEAD request</summary>
|
Options = 5,
|
||||||
Head = 4,
|
/// <summary>PATCH request</summary>
|
||||||
/// <summary>OPTIONS request</summary>
|
Patch = 6
|
||||||
Options = 5,
|
}
|
||||||
/// <summary>PATCH request</summary>
|
|
||||||
Patch = 6
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>Mock HTTPS client</summary>
|
/// <summary>Mock HTTPS client</summary>
|
||||||
public static class HttpsClient
|
public static class HttpsClient
|
||||||
|
{
|
||||||
|
/// <summary>Dispatch HTTPS request</summary>
|
||||||
|
/// <param name="request">HTTPS request</param>
|
||||||
|
/// <param name="callback">Callback for response</param>
|
||||||
|
public static void Dispatch(HttpsClientRequest request, Action<HttpsClientResponse> callback)
|
||||||
{
|
{
|
||||||
/// <summary>Dispatch HTTPS request</summary>
|
// Mock implementation - invoke callback with empty response
|
||||||
/// <param name="request">HTTPS request</param>
|
var response = new HttpsClientResponse();
|
||||||
/// <param name="callback">Callback for response</param>
|
callback?.Invoke(response);
|
||||||
public static void Dispatch(HttpsClientRequest request, Action<HttpsClientResponse> callback)
|
|
||||||
{
|
|
||||||
// Mock implementation - invoke callback with empty response
|
|
||||||
var response = new HttpsClientResponse();
|
|
||||||
callback?.Invoke(response);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,83 +138,6 @@ namespace Crestron.SimplSharp.Net
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Crestron.SimplSharp.WebScripting
|
|
||||||
{
|
|
||||||
/// <summary>Mock HTTP CWS route collection</summary>
|
|
||||||
public class HttpCwsRouteCollection
|
|
||||||
{
|
|
||||||
private readonly List<HttpCwsRoute> _routes = new List<HttpCwsRoute>();
|
|
||||||
|
|
||||||
/// <summary>Adds a route</summary>
|
|
||||||
/// <param name="route">Route to add</param>
|
|
||||||
public void Add(HttpCwsRoute route)
|
|
||||||
{
|
|
||||||
_routes.Add(route);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>Removes a route</summary>
|
|
||||||
/// <param name="route">Route to remove</param>
|
|
||||||
public void Remove(HttpCwsRoute route)
|
|
||||||
{
|
|
||||||
_routes.Remove(route);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>Clears all routes</summary>
|
|
||||||
public void Clear()
|
|
||||||
{
|
|
||||||
_routes.Clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>Gets route count</summary>
|
|
||||||
public int Count => _routes.Count;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Crestron.SimplSharp.CrestronLogger
|
|
||||||
{
|
|
||||||
/// <summary>Mock Crestron logger</summary>
|
|
||||||
public static class CrestronLogger
|
|
||||||
{
|
|
||||||
/// <summary>Mock log levels</summary>
|
|
||||||
public enum LogLevel
|
|
||||||
{
|
|
||||||
/// <summary>Debug level</summary>
|
|
||||||
Debug = 0,
|
|
||||||
/// <summary>Info level</summary>
|
|
||||||
Info = 1,
|
|
||||||
/// <summary>Warning level</summary>
|
|
||||||
Warning = 2,
|
|
||||||
/// <summary>Error level</summary>
|
|
||||||
Error = 3
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>Mock logger interface</summary>
|
|
||||||
public interface ILogger
|
|
||||||
{
|
|
||||||
/// <summary>Logs a message</summary>
|
|
||||||
/// <param name="level">Log level</param>
|
|
||||||
/// <param name="message">Message to log</param>
|
|
||||||
void Log(LogLevel level, string message);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>Gets a logger by name</summary>
|
|
||||||
/// <param name="name">Logger name</param>
|
|
||||||
/// <returns>Mock logger instance</returns>
|
|
||||||
public static ILogger GetLogger(string name)
|
|
||||||
{
|
|
||||||
return new MockLogger();
|
|
||||||
}
|
|
||||||
|
|
||||||
private class MockLogger : ILogger
|
|
||||||
{
|
|
||||||
public void Log(LogLevel level, string message)
|
|
||||||
{
|
|
||||||
// Mock implementation - do nothing in test environment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Crestron.SimplSharp.CrestronDataStore
|
namespace Crestron.SimplSharp.CrestronDataStore
|
||||||
{
|
{
|
||||||
/// <summary>Mock Crestron data store</summary>
|
/// <summary>Mock Crestron data store</summary>
|
||||||
@@ -280,4 +179,141 @@ namespace Crestron.SimplSharp.CrestronDataStore
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS client request for data store namespace</summary>
|
||||||
|
public class HttpsClientRequest
|
||||||
|
{
|
||||||
|
/// <summary>Gets or sets the request URL</summary>
|
||||||
|
public string Url { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the HTTP method</summary>
|
||||||
|
public string Method { get; set; } = "GET";
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the request headers</summary>
|
||||||
|
public HttpsHeaderCollection Headers { get; set; }
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the request content</summary>
|
||||||
|
public string Content { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpsClientRequest</summary>
|
||||||
|
public HttpsClientRequest()
|
||||||
|
{
|
||||||
|
Headers = new HttpsHeaderCollection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS client response for data store namespace</summary>
|
||||||
|
public class HttpsClientResponse
|
||||||
|
{
|
||||||
|
/// <summary>Gets or sets the response status code</summary>
|
||||||
|
public int StatusCode { get; set; } = 200;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the response content</summary>
|
||||||
|
public string Content { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the response headers</summary>
|
||||||
|
public HttpsHeaderCollection Headers { get; set; }
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpsClientResponse</summary>
|
||||||
|
public HttpsClientResponse()
|
||||||
|
{
|
||||||
|
Headers = new HttpsHeaderCollection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS header</summary>
|
||||||
|
public class HttpsHeader
|
||||||
|
{
|
||||||
|
/// <summary>Gets the header name</summary>
|
||||||
|
public string Name { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>Gets the header value</summary>
|
||||||
|
public string Value { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpsHeader</summary>
|
||||||
|
/// <param name="name">Header name</param>
|
||||||
|
/// <param name="value">Header value</param>
|
||||||
|
public HttpsHeader(string name, string value)
|
||||||
|
{
|
||||||
|
Name = name;
|
||||||
|
Value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS header collection</summary>
|
||||||
|
public class HttpsHeaderCollection
|
||||||
|
{
|
||||||
|
private readonly List<HttpsHeader> _headers = new List<HttpsHeader>();
|
||||||
|
|
||||||
|
/// <summary>Adds a header to the collection</summary>
|
||||||
|
/// <param name="header">Header to add</param>
|
||||||
|
public void AddHeader(HttpsHeader header)
|
||||||
|
{
|
||||||
|
_headers.Add(header);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets all headers</summary>
|
||||||
|
/// <returns>Array of headers</returns>
|
||||||
|
public HttpsHeader[] GetHeaders()
|
||||||
|
{
|
||||||
|
return _headers.ToArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS client for data store namespace</summary>
|
||||||
|
public class HttpsClient
|
||||||
|
{
|
||||||
|
/// <summary>Dispatch HTTPS request</summary>
|
||||||
|
/// <param name="request">HTTPS request</param>
|
||||||
|
/// <param name="callback">Callback for response</param>
|
||||||
|
public void Dispatch(HttpsClientRequest request, Action<HttpsClientResponse> callback)
|
||||||
|
{
|
||||||
|
// Mock implementation - invoke callback with empty response
|
||||||
|
var response = new HttpsClientResponse();
|
||||||
|
callback?.Invoke(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock URL parser</summary>
|
||||||
|
public class UrlParser
|
||||||
|
{
|
||||||
|
/// <summary>Gets the parsed URL</summary>
|
||||||
|
public string Url { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of UrlParser</summary>
|
||||||
|
/// <param name="url">URL to parse</param>
|
||||||
|
public UrlParser(string url)
|
||||||
|
{
|
||||||
|
Url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Implicit conversion to string</summary>
|
||||||
|
/// <param name="parser">URL parser</param>
|
||||||
|
public static implicit operator string(UrlParser parser)
|
||||||
|
{
|
||||||
|
return parser.Url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTP exception</summary>
|
||||||
|
public class HttpException : Exception
|
||||||
|
{
|
||||||
|
/// <summary>Initializes a new instance of HttpException</summary>
|
||||||
|
public HttpException() : base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpException</summary>
|
||||||
|
/// <param name="message">Exception message</param>
|
||||||
|
public HttpException(string message) : base(message)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpException</summary>
|
||||||
|
/// <param name="message">Exception message</param>
|
||||||
|
/// <param name="innerException">Inner exception</param>
|
||||||
|
public HttpException(string message, Exception innerException) : base(message, innerException)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
364
src/CrestronMock/WebAndNetworking_New.cs
Normal file
364
src/CrestronMock/WebAndNetworking_New.cs
Normal file
@@ -0,0 +1,364 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Crestron.SimplSharp.WebScripting;
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp.Net.Http
|
||||||
|
{
|
||||||
|
/// <summary>HTTP request types</summary>
|
||||||
|
public enum RequestType
|
||||||
|
{
|
||||||
|
/// <summary>GET request</summary>
|
||||||
|
Get = 0,
|
||||||
|
/// <summary>POST request</summary>
|
||||||
|
Post = 1,
|
||||||
|
/// <summary>PUT request</summary>
|
||||||
|
Put = 2,
|
||||||
|
/// <summary>DELETE request</summary>
|
||||||
|
Delete = 3,
|
||||||
|
/// <summary>HEAD request</summary>
|
||||||
|
Head = 4,
|
||||||
|
/// <summary>OPTIONS request</summary>
|
||||||
|
Options = 5,
|
||||||
|
/// <summary>PATCH request</summary>
|
||||||
|
Patch = 6
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTP client</summary>
|
||||||
|
public static class HttpClient
|
||||||
|
{
|
||||||
|
/// <summary>Dispatch HTTP request</summary>
|
||||||
|
/// <param name="request">HTTP request</param>
|
||||||
|
/// <param name="callback">Callback for response</param>
|
||||||
|
public static void Dispatch(HttpClientRequest request, Action<HttpClientResponse> callback)
|
||||||
|
{
|
||||||
|
// Mock implementation - invoke callback with empty response
|
||||||
|
var response = new HttpClientResponse();
|
||||||
|
callback?.Invoke(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTP client request</summary>
|
||||||
|
public class HttpClientRequest
|
||||||
|
{
|
||||||
|
/// <summary>Gets or sets the URL</summary>
|
||||||
|
public string Url { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the HTTP method</summary>
|
||||||
|
public string RequestType { get; set; } = "GET";
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the content data</summary>
|
||||||
|
public string ContentString { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets the headers collection</summary>
|
||||||
|
public Dictionary<string, string> Header { get; } = new Dictionary<string, string>();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTP client response</summary>
|
||||||
|
public class HttpClientResponse
|
||||||
|
{
|
||||||
|
/// <summary>Gets the response code</summary>
|
||||||
|
public int Code { get; set; } = 200;
|
||||||
|
|
||||||
|
/// <summary>Gets the response content</summary>
|
||||||
|
public string ContentString { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets the response data as bytes</summary>
|
||||||
|
public byte[] ContentBytes { get; set; } = Array.Empty<byte>();
|
||||||
|
|
||||||
|
/// <summary>Gets the headers collection</summary>
|
||||||
|
public Dictionary<string, string> Header { get; } = new Dictionary<string, string>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp.Net.Https
|
||||||
|
{
|
||||||
|
/// <summary>HTTPS request types</summary>
|
||||||
|
public enum RequestType
|
||||||
|
{
|
||||||
|
/// <summary>GET request</summary>
|
||||||
|
Get = 0,
|
||||||
|
/// <summary>POST request</summary>
|
||||||
|
Post = 1,
|
||||||
|
/// <summary>PUT request</summary>
|
||||||
|
Put = 2,
|
||||||
|
/// <summary>DELETE request</summary>
|
||||||
|
Delete = 3,
|
||||||
|
/// <summary>HEAD request</summary>
|
||||||
|
Head = 4,
|
||||||
|
/// <summary>OPTIONS request</summary>
|
||||||
|
Options = 5,
|
||||||
|
/// <summary>PATCH request</summary>
|
||||||
|
Patch = 6
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS client</summary>
|
||||||
|
public static class HttpsClient
|
||||||
|
{
|
||||||
|
/// <summary>Dispatch HTTPS request</summary>
|
||||||
|
/// <param name="request">HTTPS request</param>
|
||||||
|
/// <param name="callback">Callback for response</param>
|
||||||
|
public static void Dispatch(HttpsClientRequest request, Action<HttpsClientResponse> callback)
|
||||||
|
{
|
||||||
|
// Mock implementation - invoke callback with empty response
|
||||||
|
var response = new HttpsClientResponse();
|
||||||
|
callback?.Invoke(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS client request</summary>
|
||||||
|
public class HttpsClientRequest
|
||||||
|
{
|
||||||
|
/// <summary>Gets or sets the URL</summary>
|
||||||
|
public string Url { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the HTTP method</summary>
|
||||||
|
public string RequestType { get; set; } = "GET";
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the content data</summary>
|
||||||
|
public string ContentString { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets the headers collection</summary>
|
||||||
|
public Dictionary<string, string> Header { get; } = new Dictionary<string, string>();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS client response</summary>
|
||||||
|
public class HttpsClientResponse
|
||||||
|
{
|
||||||
|
/// <summary>Gets the response code</summary>
|
||||||
|
public int Code { get; set; } = 200;
|
||||||
|
|
||||||
|
/// <summary>Gets the response content</summary>
|
||||||
|
public string ContentString { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets the response data as bytes</summary>
|
||||||
|
public byte[] ContentBytes { get; set; } = Array.Empty<byte>();
|
||||||
|
|
||||||
|
/// <summary>Gets the headers collection</summary>
|
||||||
|
public Dictionary<string, string> Header { get; } = new Dictionary<string, string>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp.CrestronLogger
|
||||||
|
{
|
||||||
|
/// <summary>Mock Crestron logger</summary>
|
||||||
|
public static class CrestronLogger
|
||||||
|
{
|
||||||
|
/// <summary>Mock log levels</summary>
|
||||||
|
public enum LogLevel
|
||||||
|
{
|
||||||
|
/// <summary>Debug level</summary>
|
||||||
|
Debug = 0,
|
||||||
|
/// <summary>Info level</summary>
|
||||||
|
Info = 1,
|
||||||
|
/// <summary>Warning level</summary>
|
||||||
|
Warning = 2,
|
||||||
|
/// <summary>Error level</summary>
|
||||||
|
Error = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock logger interface</summary>
|
||||||
|
public interface ILogger
|
||||||
|
{
|
||||||
|
/// <summary>Logs a message</summary>
|
||||||
|
/// <param name="level">Log level</param>
|
||||||
|
/// <param name="message">Message to log</param>
|
||||||
|
void Log(LogLevel level, string message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets a logger by name</summary>
|
||||||
|
/// <param name="name">Logger name</param>
|
||||||
|
/// <returns>Mock logger instance</returns>
|
||||||
|
public static ILogger GetLogger(string name)
|
||||||
|
{
|
||||||
|
return new MockLogger();
|
||||||
|
}
|
||||||
|
|
||||||
|
private class MockLogger : ILogger
|
||||||
|
{
|
||||||
|
public void Log(LogLevel level, string message)
|
||||||
|
{
|
||||||
|
// Mock implementation - do nothing in test environment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Crestron.SimplSharp.CrestronDataStore
|
||||||
|
{
|
||||||
|
/// <summary>Mock Crestron data store</summary>
|
||||||
|
public static class CrestronDataStore
|
||||||
|
{
|
||||||
|
/// <summary>Mock data store interface</summary>
|
||||||
|
public interface IDataStore
|
||||||
|
{
|
||||||
|
/// <summary>Sets a value</summary>
|
||||||
|
/// <param name="key">Key</param>
|
||||||
|
/// <param name="value">Value</param>
|
||||||
|
void SetValue(string key, string value);
|
||||||
|
|
||||||
|
/// <summary>Gets a value</summary>
|
||||||
|
/// <param name="key">Key</param>
|
||||||
|
/// <returns>Value or null if not found</returns>
|
||||||
|
string? GetValue(string key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets the global data store</summary>
|
||||||
|
/// <returns>Mock data store instance</returns>
|
||||||
|
public static IDataStore GetGlobalDataStore()
|
||||||
|
{
|
||||||
|
return new MockDataStore();
|
||||||
|
}
|
||||||
|
|
||||||
|
private class MockDataStore : IDataStore
|
||||||
|
{
|
||||||
|
private readonly Dictionary<string, string> _data = new Dictionary<string, string>();
|
||||||
|
|
||||||
|
public void SetValue(string key, string value)
|
||||||
|
{
|
||||||
|
_data[key] = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string? GetValue(string key)
|
||||||
|
{
|
||||||
|
return _data.TryGetValue(key, out var value) ? value : null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS client request for data store namespace</summary>
|
||||||
|
public class HttpsClientRequest
|
||||||
|
{
|
||||||
|
/// <summary>Gets or sets the request URL</summary>
|
||||||
|
public string Url { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the HTTP method</summary>
|
||||||
|
public string Method { get; set; } = "GET";
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the request headers</summary>
|
||||||
|
public HttpsHeaderCollection Headers { get; set; }
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the request content</summary>
|
||||||
|
public string Content { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpsClientRequest</summary>
|
||||||
|
public HttpsClientRequest()
|
||||||
|
{
|
||||||
|
Headers = new HttpsHeaderCollection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS client response for data store namespace</summary>
|
||||||
|
public class HttpsClientResponse
|
||||||
|
{
|
||||||
|
/// <summary>Gets or sets the response status code</summary>
|
||||||
|
public int StatusCode { get; set; } = 200;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the response content</summary>
|
||||||
|
public string Content { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>Gets or sets the response headers</summary>
|
||||||
|
public HttpsHeaderCollection Headers { get; set; }
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpsClientResponse</summary>
|
||||||
|
public HttpsClientResponse()
|
||||||
|
{
|
||||||
|
Headers = new HttpsHeaderCollection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS header</summary>
|
||||||
|
public class HttpsHeader
|
||||||
|
{
|
||||||
|
/// <summary>Gets the header name</summary>
|
||||||
|
public string Name { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>Gets the header value</summary>
|
||||||
|
public string Value { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpsHeader</summary>
|
||||||
|
/// <param name="name">Header name</param>
|
||||||
|
/// <param name="value">Header value</param>
|
||||||
|
public HttpsHeader(string name, string value)
|
||||||
|
{
|
||||||
|
Name = name;
|
||||||
|
Value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS header collection</summary>
|
||||||
|
public class HttpsHeaderCollection
|
||||||
|
{
|
||||||
|
private readonly List<HttpsHeader> _headers = new List<HttpsHeader>();
|
||||||
|
|
||||||
|
/// <summary>Adds a header to the collection</summary>
|
||||||
|
/// <param name="header">Header to add</param>
|
||||||
|
public void AddHeader(HttpsHeader header)
|
||||||
|
{
|
||||||
|
_headers.Add(header);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Gets all headers</summary>
|
||||||
|
/// <returns>Array of headers</returns>
|
||||||
|
public HttpsHeader[] GetHeaders()
|
||||||
|
{
|
||||||
|
return _headers.ToArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTPS client for data store namespace</summary>
|
||||||
|
public class HttpsClient
|
||||||
|
{
|
||||||
|
/// <summary>Dispatch HTTPS request</summary>
|
||||||
|
/// <param name="request">HTTPS request</param>
|
||||||
|
/// <param name="callback">Callback for response</param>
|
||||||
|
public void Dispatch(HttpsClientRequest request, Action<HttpsClientResponse> callback)
|
||||||
|
{
|
||||||
|
// Mock implementation - invoke callback with empty response
|
||||||
|
var response = new HttpsClientResponse();
|
||||||
|
callback?.Invoke(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock URL parser</summary>
|
||||||
|
public class UrlParser
|
||||||
|
{
|
||||||
|
/// <summary>Gets the parsed URL</summary>
|
||||||
|
public string Url { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of UrlParser</summary>
|
||||||
|
/// <param name="url">URL to parse</param>
|
||||||
|
public UrlParser(string url)
|
||||||
|
{
|
||||||
|
Url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Implicit conversion to string</summary>
|
||||||
|
/// <param name="parser">URL parser</param>
|
||||||
|
public static implicit operator string(UrlParser parser)
|
||||||
|
{
|
||||||
|
return parser.Url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Mock HTTP exception</summary>
|
||||||
|
public class HttpException : Exception
|
||||||
|
{
|
||||||
|
/// <summary>Initializes a new instance of HttpException</summary>
|
||||||
|
public HttpException() : base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpException</summary>
|
||||||
|
/// <param name="message">Exception message</param>
|
||||||
|
public HttpException(string message) : base(message)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Initializes a new instance of HttpException</summary>
|
||||||
|
/// <param name="message">Exception message</param>
|
||||||
|
/// <param name="innerException">Inner exception</param>
|
||||||
|
public HttpException(string message, Exception innerException) : base(message, innerException)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user