From bf73a512ab179b9c239cfb94ff45067f5a02546e Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 1 Mar 2013 16:45:31 +0100 Subject: [PATCH] Added wp8 test app --- build/vsx/LibLinphone/LibLinphone.vcxproj | 5 +- .../LibLinphoneTester-wp8.sln | 261 ++++++++++++++++++ .../LibLinphoneTester-wp8.v11.suo | Bin 0 -> 110592 bytes .../LibLinphoneTester-wp8/App.xaml | 20 ++ .../LibLinphoneTester-wp8/App.xaml.cs | 234 ++++++++++++++++ .../Assets/AlignmentGrid.png | Bin 0 -> 9042 bytes .../Assets/ApplicationIcon.png | Bin 0 -> 3392 bytes .../Assets/Tiles/FlipCycleTileLarge.png | Bin 0 -> 9930 bytes .../Assets/Tiles/FlipCycleTileMedium.png | Bin 0 -> 9070 bytes .../Assets/Tiles/FlipCycleTileSmall.png | Bin 0 -> 3674 bytes .../Assets/Tiles/IconicTileMediumLarge.png | Bin 0 -> 4937 bytes .../Assets/Tiles/IconicTileSmall.png | Bin 0 -> 3724 bytes .../LibLinphoneTester-wp8.csproj | 183 ++++++++++++ .../LibLinphoneTester-wp8.csproj.user | 22 ++ .../LibLinphoneTester-wp8/LocalizedStrings.cs | 14 + .../LibLinphoneTester-wp8/MainPage.xaml | 42 +++ .../LibLinphoneTester-wp8/MainPage.xaml.cs | 58 ++++ .../Properties/AppManifest.xml | 6 + .../Properties/AssemblyInfo.cs | 37 +++ .../Properties/WMAppManifest.xml | 48 ++++ .../Resources/AppResources.Designer.cs | 127 +++++++++ .../Resources/AppResources.resx | 137 +++++++++ .../LibLinphoneTester-wp8/TestCasePage.xaml | 40 +++ .../TestCasePage.xaml.cs | 63 +++++ .../LibLinphoneTester-wp8/TestResultPage.xaml | 41 +++ .../TestResultPage.xaml.cs | 98 +++++++ .../LibLinphoneTester.vcxproj | 38 ++- .../LibLinphoneTester.vcxproj.filters | 2 + .../linphone-tester-native.cpp | 101 +++++++ .../linphone-tester-native.h | 25 ++ tester/liblinphone_tester.h | 2 +- 31 files changed, 1582 insertions(+), 22 deletions(-) create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.sln create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.v11.suo create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/App.xaml create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/App.xaml.cs create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/AlignmentGrid.png create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/ApplicationIcon.png create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/Tiles/FlipCycleTileLarge.png create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/Tiles/FlipCycleTileMedium.png create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/Tiles/FlipCycleTileSmall.png create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/Tiles/IconicTileMediumLarge.png create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/Tiles/IconicTileSmall.png create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LibLinphoneTester-wp8.csproj create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LibLinphoneTester-wp8.csproj.user create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LocalizedStrings.cs create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/MainPage.xaml create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/MainPage.xaml.cs create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/AppManifest.xml create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/AssemblyInfo.cs create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/WMAppManifest.xml create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Resources/AppResources.Designer.cs create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Resources/AppResources.resx create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestCasePage.xaml create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestCasePage.xaml.cs create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestResultPage.xaml create mode 100644 build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestResultPage.xaml.cs create mode 100644 build/vsx/LibLinphoneTester/linphone-tester-native.cpp create mode 100644 build/vsx/LibLinphoneTester/linphone-tester-native.h diff --git a/build/vsx/LibLinphone/LibLinphone.vcxproj b/build/vsx/LibLinphone/LibLinphone.vcxproj index 57a94e932..8eea9170a 100644 --- a/build/vsx/LibLinphone/LibLinphone.vcxproj +++ b/build/vsx/LibLinphone/LibLinphone.vcxproj @@ -131,9 +131,12 @@ false false true - belle-sip_dll.lib;mediastreamer2_dll.lib;ws2_32.lib;ortp_dll.lib;gsm_dll.lib;speex_dll.lib;speexdsp_dll.lib;%(AdditionalDependencies) + ws2_32.lib;%(AdditionalDependencies) $(SolutionDir)$(Platform)\$(Configuration);%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName)_dll.lib + ole32.lib;%(IgnoreSpecificDefaultLibraries) + + $(TargetDir)$(TargetName)_dll.lib;%(Outputs) diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.sln b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.sln new file mode 100644 index 000000000..cc2bd5fa0 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.sln @@ -0,0 +1,261 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibLinphoneTester-wp8", "LibLinphoneTester-wp8\LibLinphoneTester-wp8.csproj", "{34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}" + ProjectSection(ProjectDependencies) = postProject + {5E94A00B-B14A-4E42-8284-8CB0EF099534} = {5E94A00B-B14A-4E42-8284-8CB0EF099534} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibLinphone", "..\LibLinphone\LibLinphone.vcxproj", "{08DD0D38-D9B5-4626-B60D-B4D76B571142}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibLinphoneTester", "..\LibLinphoneTester\LibLinphoneTester.vcxproj", "{5E94A00B-B14A-4E42-8284-8CB0EF099534}" + ProjectSection(ProjectDependencies) = postProject + {902DAF1D-EBF1-4D03-B598-143500A50AB4} = {902DAF1D-EBF1-4D03-B598-143500A50AB4} + {08DD0D38-D9B5-4626-B60D-B4D76B571142} = {08DD0D38-D9B5-4626-B60D-B4D76B571142} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "belle-sip", "..\..\..\..\belle-sip\build\windows\belle-sip\belle-sip.vcxproj", "{4C225A82-800B-427B-BA7B-61686A9B347F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mediastreamer2", "..\..\..\..\mediastreamer2\build\vsx\mediastreamer2\mediastreamer2\mediastreamer2.vcxproj", "{027BAD0E-9179-48C1-9733-7AA7E2C2EC70}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "oRTP", "..\..\..\..\oRTP\build\vsx\oRTP\oRTP\oRTP.vcxproj", "{FFC7B532-0502-4D88-AC98-9E89071CBC97}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libantlr3c", "..\..\..\..\antlr3\runtime\C\build\vsx\libantlr3c\libantlr3c.vcxproj", "{8FA74260-151B-429B-83EF-3CF3EAC8CFD9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsm", "..\..\..\..\gsm\build\windows\gsm\gsm\gsm.vcxproj", "{746EA080-5BA9-42C5-9E52-EA421C3F3AFD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speex", "..\..\..\..\speex\build\windows\speex\speex\speex.vcxproj", "{D5EC8C11-C1D9-47E3-BB82-A93C300FD902}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speexdsp", "..\..\..\..\speex\build\windows\speex\speexdsp\speexdsp.vcxproj", "{6BD78980-9C71-4341-8775-AD19E9EC7305}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cunit", "..\..\..\..\cunit\build\windows\cunit\cunit.vcxproj", "{902DAF1D-EBF1-4D03-B598-143500A50AB4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|Win32 = Debug|Win32 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|Mixed Platforms = Release|Mixed Platforms + Release|Win32 = Release|Win32 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|Any CPU.Build.0 = Debug|Any CPU + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|ARM.ActiveCfg = Debug|ARM + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|ARM.Build.0 = Debug|ARM + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|ARM.Deploy.0 = Debug|ARM + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|Mixed Platforms.Deploy.0 = Debug|ARM + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|Win32.ActiveCfg = Debug|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|Win32.Build.0 = Debug|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|Win32.Deploy.0 = Debug|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|x86.ActiveCfg = Debug|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|x86.Build.0 = Debug|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Debug|x86.Deploy.0 = Debug|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|Any CPU.ActiveCfg = Release|Any CPU + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|Any CPU.Build.0 = Release|Any CPU + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|Any CPU.Deploy.0 = Release|Any CPU + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|ARM.ActiveCfg = Release|ARM + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|ARM.Build.0 = Release|ARM + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|ARM.Deploy.0 = Release|ARM + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|Mixed Platforms.Build.0 = Release|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|Mixed Platforms.Deploy.0 = Release|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|Win32.ActiveCfg = Release|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|Win32.Build.0 = Release|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|Win32.Deploy.0 = Release|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|x86.ActiveCfg = Release|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|x86.Build.0 = Release|x86 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90}.Release|x86.Deploy.0 = Release|x86 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Debug|ARM.ActiveCfg = Debug|ARM + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Debug|ARM.Build.0 = Debug|ARM + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Debug|Win32.ActiveCfg = Debug|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Debug|Win32.Build.0 = Debug|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Debug|x86.ActiveCfg = Debug|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Debug|x86.Build.0 = Debug|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Release|Any CPU.ActiveCfg = Release|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Release|ARM.ActiveCfg = Release|ARM + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Release|ARM.Build.0 = Release|ARM + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Release|Mixed Platforms.Build.0 = Release|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Release|Win32.ActiveCfg = Release|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Release|Win32.Build.0 = Release|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Release|x86.ActiveCfg = Release|Win32 + {08DD0D38-D9B5-4626-B60D-B4D76B571142}.Release|x86.Build.0 = Release|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Debug|ARM.ActiveCfg = Debug|ARM + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Debug|ARM.Build.0 = Debug|ARM + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Debug|Win32.ActiveCfg = Debug|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Debug|Win32.Build.0 = Debug|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Debug|x86.ActiveCfg = Debug|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Debug|x86.Build.0 = Debug|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Release|Any CPU.ActiveCfg = Release|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Release|ARM.ActiveCfg = Release|ARM + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Release|ARM.Build.0 = Release|ARM + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Release|Mixed Platforms.Build.0 = Release|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Release|Win32.ActiveCfg = Release|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Release|Win32.Build.0 = Release|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Release|x86.ActiveCfg = Release|Win32 + {5E94A00B-B14A-4E42-8284-8CB0EF099534}.Release|x86.Build.0 = Release|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Debug|ARM.ActiveCfg = Debug|ARM + {4C225A82-800B-427B-BA7B-61686A9B347F}.Debug|ARM.Build.0 = Debug|ARM + {4C225A82-800B-427B-BA7B-61686A9B347F}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {4C225A82-800B-427B-BA7B-61686A9B347F}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {4C225A82-800B-427B-BA7B-61686A9B347F}.Debug|Win32.ActiveCfg = Debug|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Debug|Win32.Build.0 = Debug|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Debug|x86.ActiveCfg = Debug|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Debug|x86.Build.0 = Debug|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Release|Any CPU.ActiveCfg = Release|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Release|ARM.ActiveCfg = Release|ARM + {4C225A82-800B-427B-BA7B-61686A9B347F}.Release|ARM.Build.0 = Release|ARM + {4C225A82-800B-427B-BA7B-61686A9B347F}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Release|Mixed Platforms.Build.0 = Release|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Release|Win32.ActiveCfg = Release|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Release|Win32.Build.0 = Release|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Release|x86.ActiveCfg = Release|Win32 + {4C225A82-800B-427B-BA7B-61686A9B347F}.Release|x86.Build.0 = Release|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Debug|ARM.ActiveCfg = Debug|ARM + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Debug|ARM.Build.0 = Debug|ARM + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Debug|Win32.ActiveCfg = Debug|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Debug|Win32.Build.0 = Debug|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Debug|x86.ActiveCfg = Debug|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Debug|x86.Build.0 = Debug|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Release|Any CPU.ActiveCfg = Release|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Release|ARM.ActiveCfg = Release|ARM + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Release|ARM.Build.0 = Release|ARM + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Release|Mixed Platforms.Build.0 = Release|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Release|Win32.ActiveCfg = Release|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Release|Win32.Build.0 = Release|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Release|x86.ActiveCfg = Release|Win32 + {027BAD0E-9179-48C1-9733-7AA7E2C2EC70}.Release|x86.Build.0 = Release|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Debug|ARM.ActiveCfg = Debug|ARM + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Debug|ARM.Build.0 = Debug|ARM + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Debug|Win32.ActiveCfg = Debug|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Debug|Win32.Build.0 = Debug|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Debug|x86.ActiveCfg = Debug|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Debug|x86.Build.0 = Debug|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Release|Any CPU.ActiveCfg = Release|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Release|ARM.ActiveCfg = Release|ARM + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Release|ARM.Build.0 = Release|ARM + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Release|Mixed Platforms.Build.0 = Release|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Release|Win32.ActiveCfg = Release|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Release|Win32.Build.0 = Release|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Release|x86.ActiveCfg = Release|Win32 + {FFC7B532-0502-4D88-AC98-9E89071CBC97}.Release|x86.Build.0 = Release|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Debug|ARM.ActiveCfg = Debug|ARM + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Debug|ARM.Build.0 = Debug|ARM + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Debug|Win32.ActiveCfg = Debug|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Debug|Win32.Build.0 = Debug|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Debug|x86.ActiveCfg = Debug|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Debug|x86.Build.0 = Debug|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Release|Any CPU.ActiveCfg = Release|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Release|ARM.ActiveCfg = Release|ARM + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Release|ARM.Build.0 = Release|ARM + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Release|Mixed Platforms.Build.0 = Release|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Release|Win32.ActiveCfg = Release|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Release|Win32.Build.0 = Release|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Release|x86.ActiveCfg = Release|Win32 + {8FA74260-151B-429B-83EF-3CF3EAC8CFD9}.Release|x86.Build.0 = Release|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Debug|ARM.ActiveCfg = Debug|ARM + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Debug|ARM.Build.0 = Debug|ARM + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Debug|Win32.ActiveCfg = Debug|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Debug|Win32.Build.0 = Debug|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Debug|x86.ActiveCfg = Debug|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Debug|x86.Build.0 = Debug|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Release|Any CPU.ActiveCfg = Release|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Release|ARM.ActiveCfg = Release|ARM + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Release|ARM.Build.0 = Release|ARM + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Release|Mixed Platforms.Build.0 = Release|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Release|Win32.ActiveCfg = Release|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Release|Win32.Build.0 = Release|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Release|x86.ActiveCfg = Release|Win32 + {746EA080-5BA9-42C5-9E52-EA421C3F3AFD}.Release|x86.Build.0 = Release|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Debug|ARM.ActiveCfg = Debug|ARM + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Debug|ARM.Build.0 = Debug|ARM + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Debug|Win32.ActiveCfg = Debug|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Debug|Win32.Build.0 = Debug|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Debug|x86.ActiveCfg = Debug|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Debug|x86.Build.0 = Debug|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Release|Any CPU.ActiveCfg = Release|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Release|ARM.ActiveCfg = Release|ARM + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Release|ARM.Build.0 = Release|ARM + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Release|Mixed Platforms.Build.0 = Release|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Release|Win32.ActiveCfg = Release|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Release|Win32.Build.0 = Release|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Release|x86.ActiveCfg = Release|Win32 + {D5EC8C11-C1D9-47E3-BB82-A93C300FD902}.Release|x86.Build.0 = Release|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Debug|ARM.ActiveCfg = Debug|ARM + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Debug|ARM.Build.0 = Debug|ARM + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Debug|Win32.ActiveCfg = Debug|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Debug|Win32.Build.0 = Debug|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Debug|x86.ActiveCfg = Debug|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Debug|x86.Build.0 = Debug|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Release|Any CPU.ActiveCfg = Release|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Release|ARM.ActiveCfg = Release|ARM + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Release|ARM.Build.0 = Release|ARM + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Release|Mixed Platforms.Build.0 = Release|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Release|Win32.ActiveCfg = Release|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Release|Win32.Build.0 = Release|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Release|x86.ActiveCfg = Release|Win32 + {6BD78980-9C71-4341-8775-AD19E9EC7305}.Release|x86.Build.0 = Release|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Debug|ARM.ActiveCfg = Debug|ARM + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Debug|ARM.Build.0 = Debug|ARM + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Debug|Mixed Platforms.ActiveCfg = Debug|ARM + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Debug|Mixed Platforms.Build.0 = Debug|ARM + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Debug|Win32.ActiveCfg = Debug|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Debug|Win32.Build.0 = Debug|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Debug|x86.ActiveCfg = Debug|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Debug|x86.Build.0 = Debug|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Release|Any CPU.ActiveCfg = Release|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Release|ARM.ActiveCfg = Release|ARM + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Release|ARM.Build.0 = Release|ARM + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Release|Mixed Platforms.Build.0 = Release|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Release|Win32.ActiveCfg = Release|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Release|Win32.Build.0 = Release|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Release|x86.ActiveCfg = Release|Win32 + {902DAF1D-EBF1-4D03-B598-143500A50AB4}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.v11.suo b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.v11.suo new file mode 100644 index 0000000000000000000000000000000000000000..d48a9cb52df2d7aa2f35175669445320e3890c27 GIT binary patch literal 110592 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 literal 0 HcmV?d00001 diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/App.xaml b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/App.xaml new file mode 100644 index 000000000..ad710fdad --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/App.xaml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/App.xaml.cs b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/App.xaml.cs new file mode 100644 index 000000000..5052b5a01 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/App.xaml.cs @@ -0,0 +1,234 @@ +using System; +using System.Diagnostics; +using System.Resources; +using System.Windows; +using System.Windows.Markup; +using System.Windows.Navigation; +using Microsoft.Phone.Controls; +using Microsoft.Phone.Shell; +using LibLinphoneTester_wp8.Resources; +using linphone_tester_native; + +namespace LibLinphoneTester_wp8 +{ + public partial class App : Application + { + /// + /// Provides easy access to the root frame of the Phone Application. + /// + /// The root frame of the Phone Application. + public static PhoneApplicationFrame RootFrame { get; private set; } + + /// + /// Constructor for the Application object. + /// + public App() + { + // Global handler for uncaught exceptions. + UnhandledException += Application_UnhandledException; + + // Standard XAML initialization + InitializeComponent(); + + // Phone-specific initialization + InitializePhoneApplication(); + + // Language display initialization + InitializeLanguage(); + + // Show graphics profiling information while debugging. + if (Debugger.IsAttached) + { + // Display the current frame rate counters. + Application.Current.Host.Settings.EnableFrameRateCounter = true; + + // Show the areas of the app that are being redrawn in each frame. + //Application.Current.Host.Settings.EnableRedrawRegions = true; + + // Enable non-production analysis visualization mode, + // which shows areas of a page that are handed off to GPU with a colored overlay. + //Application.Current.Host.Settings.EnableCacheVisualization = true; + + // Prevent the screen from turning off while under the debugger by disabling + // the application's idle detection. + // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run + // and consume battery power when the user is not using the phone. + PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; + } + + tester = new LinphoneTesterNative(); + suite = null; + } + + // Code to execute when the application is launching (eg, from Start) + // This code will not execute when the application is reactivated + private void Application_Launching(object sender, LaunchingEventArgs e) + { + } + + // Code to execute when the application is activated (brought to foreground) + // This code will not execute when the application is first launched + private void Application_Activated(object sender, ActivatedEventArgs e) + { + } + + // Code to execute when the application is deactivated (sent to background) + // This code will not execute when the application is closing + private void Application_Deactivated(object sender, DeactivatedEventArgs e) + { + } + + // Code to execute when the application is closing (eg, user hit Back) + // This code will not execute when the application is deactivated + private void Application_Closing(object sender, ClosingEventArgs e) + { + } + + // Code to execute if a navigation fails + private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e) + { + if (Debugger.IsAttached) + { + // A navigation has failed; break into the debugger + Debugger.Break(); + } + } + + // Code to execute on Unhandled Exceptions + private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) + { + if (Debugger.IsAttached) + { + // An unhandled exception has occurred; break into the debugger + Debugger.Break(); + } + } + + #region Phone application initialization + + // Avoid double-initialization + private bool phoneApplicationInitialized = false; + + // Do not add any additional code to this method + private void InitializePhoneApplication() + { + if (phoneApplicationInitialized) + return; + + // Create the frame but don't set it as RootVisual yet; this allows the splash + // screen to remain active until the application is ready to render. + RootFrame = new PhoneApplicationFrame(); + RootFrame.Navigated += CompleteInitializePhoneApplication; + + // Handle navigation failures + RootFrame.NavigationFailed += RootFrame_NavigationFailed; + + // Handle reset requests for clearing the backstack + RootFrame.Navigated += CheckForResetNavigation; + + // Ensure we don't initialize again + phoneApplicationInitialized = true; + } + + // Do not add any additional code to this method + private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e) + { + // Set the root visual to allow the application to render + if (RootVisual != RootFrame) + RootVisual = RootFrame; + + // Remove this handler since it is no longer needed + RootFrame.Navigated -= CompleteInitializePhoneApplication; + } + + private void CheckForResetNavigation(object sender, NavigationEventArgs e) + { + // If the app has received a 'reset' navigation, then we need to check + // on the next navigation to see if the page stack should be reset + if (e.NavigationMode == NavigationMode.Reset) + RootFrame.Navigated += ClearBackStackAfterReset; + } + + private void ClearBackStackAfterReset(object sender, NavigationEventArgs e) + { + // Unregister the event so it doesn't get called again + RootFrame.Navigated -= ClearBackStackAfterReset; + + // Only clear the stack for 'new' (forward) and 'refresh' navigations + if (e.NavigationMode != NavigationMode.New && e.NavigationMode != NavigationMode.Refresh) + return; + + // For UI consistency, clear the entire page stack + while (RootFrame.RemoveBackEntry() != null) + { + ; // do nothing + } + } + + #endregion + + // Initialize the app's font and flow direction as defined in its localized resource strings. + // + // To ensure that the font of your application is aligned with its supported languages and that the + // FlowDirection for each of those languages follows its traditional direction, ResourceLanguage + // and ResourceFlowDirection should be initialized in each resx file to match these values with that + // file's culture. For example: + // + // AppResources.es-ES.resx + // ResourceLanguage's value should be "es-ES" + // ResourceFlowDirection's value should be "LeftToRight" + // + // AppResources.ar-SA.resx + // ResourceLanguage's value should be "ar-SA" + // ResourceFlowDirection's value should be "RightToLeft" + // + // For more info on localizing Windows Phone apps see http://go.microsoft.com/fwlink/?LinkId=262072. + // + private void InitializeLanguage() + { + try + { + // Set the font to match the display language defined by the + // ResourceLanguage resource string for each supported language. + // + // Fall back to the font of the neutral language if the Display + // language of the phone is not supported. + // + // If a compiler error is hit then ResourceLanguage is missing from + // the resource file. + RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage); + + // Set the FlowDirection of all elements under the root frame based + // on the ResourceFlowDirection resource string for each + // supported language. + // + // If a compiler error is hit then ResourceFlowDirection is missing from + // the resource file. + FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection); + RootFrame.FlowDirection = flow; + } + catch + { + // If an exception is caught here it is most likely due to either + // ResourceLangauge not being correctly set to a supported language + // code or ResourceFlowDirection is set to a value other than LeftToRight + // or RightToLeft. + + if (Debugger.IsAttached) + { + Debugger.Break(); + } + + throw; + } + } + + public bool suiteRunning() + { + return (suite != null) && (suite.running); + } + + public LinphoneTesterNative tester { get; set; } + public UnitTestSuite suite { get; set; } + } +} \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/AlignmentGrid.png b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/AlignmentGrid.png new file mode 100644 index 0000000000000000000000000000000000000000..f7d2e97804e451530960b57429a2b0a26c86f5d7 GIT binary patch literal 9042 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 IP1{HR1(GMkF8}}l literal 0 HcmV?d00001 diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/Tiles/FlipCycleTileMedium.png b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/Tiles/FlipCycleTileMedium.png new file mode 100644 index 0000000000000000000000000000000000000000..e93b89d600641c9d5b05f94493a9fde6afa850e8 GIT binary patch literal 9070 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 literal 0 HcmV?d00001 diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/Tiles/IconicTileSmall.png b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/Tiles/IconicTileSmall.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b5ede1b567fd4b90505217330edf7de0474432 GIT binary patch literal 3724 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 + + + Debug + AnyCPU + 10.0.20506 + 2.0 + {34D6878F-6CAB-4AE3-9CCC-25E8D6734C90} + {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + LibLinphoneTester_wp8 + LibLinphoneTester_wp8 + WindowsPhone + v8.0 + $(TargetFrameworkVersion) + true + + + true + true + LibLinphoneTester_wp8_$(Configuration)_$(Platform).xap + Properties\AppManifest.xml + LibLinphoneTester_wp8.App + true + 11.0 + true + + + true + full + false + Bin\Debug + DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + pdbonly + true + Bin\Release + TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + true + full + false + Bin\x86\Debug + DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + pdbonly + true + Bin\x86\Release + TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + true + full + false + Bin\ARM\Debug + DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + pdbonly + true + Bin\ARM\Release + TRACE;SILVERLIGHT;WINDOWS_PHONE + true + true + prompt + 4 + + + + App.xaml + + + + MainPage.xaml + + + + True + True + AppResources.resx + + + TestCasePage.xaml + + + TestResultPage.xaml + + + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + + + + Designer + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + PublicResXFileCodeGenerator + AppResources.Designer.cs + + + + + + + + {5E94A00B-B14A-4E42-8284-8CB0EF099534} + LibLinphoneTester + + + + + + + \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LibLinphoneTester-wp8.csproj.user b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LibLinphoneTester-wp8.csproj.user new file mode 100644 index 000000000..96fe30de2 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LibLinphoneTester-wp8.csproj.user @@ -0,0 +1,22 @@ + + + + 256 + 30F105C9-681E-420b-A277-7C086EAD8A4E + + + 256 + 30F105C9-681E-420b-A277-7C086EAD8A4E + + + + + + False + Managed + False + + + + + \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LocalizedStrings.cs b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LocalizedStrings.cs new file mode 100644 index 000000000..e639982ad --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LocalizedStrings.cs @@ -0,0 +1,14 @@ +using LibLinphoneTester_wp8.Resources; + +namespace LibLinphoneTester_wp8 +{ + /// + /// Provides access to string resources. + /// + public class LocalizedStrings + { + private static AppResources _localizedResources = new AppResources(); + + public AppResources LocalizedResources { get { return _localizedResources; } } + } +} \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/MainPage.xaml b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/MainPage.xaml new file mode 100644 index 000000000..c912857f9 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/MainPage.xaml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/MainPage.xaml.cs b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/MainPage.xaml.cs new file mode 100644 index 000000000..aa5307968 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/MainPage.xaml.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Navigation; +using Microsoft.Phone.Controls; +using Microsoft.Phone.Shell; + +namespace LibLinphoneTester_wp8 +{ + public partial class MainPage : PhoneApplicationPage + { + public MainPage() + { + InitializeComponent(); + + var tester = (Application.Current as App).tester; + List source = new List(); + source.Add(new UnitTestSuiteName("ALL")); + for (int i = 0; i < tester.nbTestSuites(); i++) + { + source.Add(new UnitTestSuiteName(tester.testSuiteName(i))); + } + + Tests.ItemsSource = source; + } + + private void Tests_Tap(object sender, System.Windows.Input.GestureEventArgs e) + { + UnitTestSuiteName test = (sender as LongListSelector).SelectedItem as UnitTestSuiteName; + if (test == null) return; + if (test.Name == "ALL") + { + NavigationService.Navigate(new Uri("/TestResultPage.xaml?SuiteName=" + test.Name + "&Verbose=" + Verbose.IsChecked.GetValueOrDefault(), UriKind.Relative)); + } + else + { + NavigationService.Navigate(new Uri("/TestCasePage.xaml?SuiteName=" + test.Name + "&Verbose=" + Verbose.IsChecked.GetValueOrDefault(), UriKind.Relative)); + } + } + } + + public class UnitTestSuiteName + { + public string Name + { + get; + set; + } + + public UnitTestSuiteName(string name) + { + this.Name = name; + } + } +} \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/AppManifest.xml b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/AppManifest.xml new file mode 100644 index 000000000..a95523275 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/AppManifest.xml @@ -0,0 +1,6 @@ + + + + diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/AssemblyInfo.cs b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..0b87f1f9b --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Resources; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("LibLinphoneTester_wp8")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("LibLinphoneTester_wp8")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f1aad7a9-2083-4726-ab28-f57b1dd5891e")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: NeutralResourcesLanguageAttribute("en-US")] diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/WMAppManifest.xml b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/WMAppManifest.xml new file mode 100644 index 000000000..7ce78feb0 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Properties/WMAppManifest.xml @@ -0,0 +1,48 @@ + + + + + Assets\ApplicationIcon.png + + + + + + + + + + + + + + Assets\Tiles\FlipCycleTileSmall.png + 0 + Assets\Tiles\FlipCycleTileMedium.png + LibLinphoneTester_wp8 + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Resources/AppResources.Designer.cs b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Resources/AppResources.Designer.cs new file mode 100644 index 000000000..991c3a23d --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Resources/AppResources.Designer.cs @@ -0,0 +1,127 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.17626 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace LibLinphoneTester_wp8.Resources +{ + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class AppResources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal AppResources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager + { + get + { + if (object.ReferenceEquals(resourceMan, null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LibLinphoneTester_wp8.Resources.AppResources", typeof(AppResources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to LeftToRight. + /// + public static string ResourceFlowDirection + { + get + { + return ResourceManager.GetString("ResourceFlowDirection", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to us-EN. + /// + public static string ResourceLanguage + { + get + { + return ResourceManager.GetString("ResourceLanguage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MY APPLICATION. + /// + public static string ApplicationTitle + { + get + { + return ResourceManager.GetString("ApplicationTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to button. + /// + public static string AppBarButtonText + { + get + { + return ResourceManager.GetString("AppBarButtonText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to menu item. + /// + public static string AppBarMenuItemText + { + get + { + return ResourceManager.GetString("AppBarMenuItemText", resourceCulture); + } + } + } +} diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Resources/AppResources.resx b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Resources/AppResources.resx new file mode 100644 index 000000000..78837dc46 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Resources/AppResources.resx @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + LeftToRight + Controls the FlowDirection for all elements in the RootFrame. Set to the traditional direction of this resource file's language + + + en-US + Controls the Language and ensures that the font for all elements in the RootFrame aligns with the app's language. Set to the language code of this resource file's language. + + + MY APPLICATION + + + add + + + Menu Item + + \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestCasePage.xaml b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestCasePage.xaml new file mode 100644 index 000000000..b6f2ea932 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestCasePage.xaml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestCasePage.xaml.cs b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestCasePage.xaml.cs new file mode 100644 index 000000000..aae5f878b --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestCasePage.xaml.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Navigation; +using Microsoft.Phone.Controls; +using Microsoft.Phone.Shell; + +namespace LibLinphoneTester_wp8 +{ + public partial class TestCasePage : PhoneApplicationPage + { + public TestCasePage() + { + InitializeComponent(); + } + + protected override void OnNavigatedTo(NavigationEventArgs e) + { + base.OnNavigatedTo(e); + suiteName = NavigationContext.QueryString["SuiteName"]; + verbose = Convert.ToBoolean(NavigationContext.QueryString["Verbose"]); + var tester = (Application.Current as App).tester; + List source = new List(); + source.Add(new UnitTestCaseName("ALL")); + for (int i = 0; i < tester.nbTests(suiteName); i++) + { + source.Add(new UnitTestCaseName(tester.testName(suiteName, i))); + } + + Tests.ItemsSource = source; + } + + private void Tests_Tap(object sender, System.Windows.Input.GestureEventArgs e) + { + UnitTestCaseName test = (sender as LongListSelector).SelectedItem as UnitTestCaseName; + if (test == null) return; + if (!(Application.Current as App).suiteRunning()) + { + NavigationService.Navigate(new Uri("/TestResultPage.xaml?SuiteName=" + suiteName + "&CaseName=" + test.Name + "&Verbose=" + verbose, UriKind.Relative)); + } + } + + private string suiteName; + private bool verbose; + } + + public class UnitTestCaseName + { + public string Name + { + get; + set; + } + + public UnitTestCaseName(string name) + { + this.Name = name; + } + } +} \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestResultPage.xaml b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestResultPage.xaml new file mode 100644 index 000000000..97afd9af6 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestResultPage.xaml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestResultPage.xaml.cs b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestResultPage.xaml.cs new file mode 100644 index 000000000..2ad80deb3 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/TestResultPage.xaml.cs @@ -0,0 +1,98 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Navigation; +using Microsoft.Phone.Controls; +using Microsoft.Phone.Shell; +using System.Threading.Tasks; +using linphone_tester_native; + +namespace LibLinphoneTester_wp8 +{ + public delegate void OutputDisplayDelegate(String msg); + + public partial class TestResultPage : PhoneApplicationPage + { + public TestResultPage() + { + InitializeComponent(); + } + + protected override void OnNavigatedTo(NavigationEventArgs e) + { + base.OnNavigatedTo(e); + string suiteName = NavigationContext.QueryString["SuiteName"]; + string caseName; + if (NavigationContext.QueryString.ContainsKey("CaseName")) + { + caseName = NavigationContext.QueryString["CaseName"]; + } + else + { + caseName = "ALL"; + } + bool verbose = Convert.ToBoolean(NavigationContext.QueryString["Verbose"]); + var app = (Application.Current as App); + app.suite = new UnitTestSuite(suiteName, caseName, verbose, new OutputDisplayDelegate(OutputDisplay)); + app.suite.run(); + } + + public void OutputDisplay(String msg) + { + this.Dispatcher.BeginInvoke(() => + { + TestResults.Text += msg; + }); + } + } + + public class UnitTestSuite : OutputTraceListener + { + public UnitTestSuite(string SuiteName, string CaseName, bool Verbose, OutputDisplayDelegate OutputDisplay) + { + this.SuiteName = SuiteName; + this.CaseName = CaseName; + this.Verbose = Verbose; + this.Running = false; + this.OutputDisplay = OutputDisplay; + } + + async public void run() + { + Running = true; + var tup = new Tuple(SuiteName, CaseName, Verbose); + var t = Task.Factory.StartNew((object parameters) => + { + var tester = (Application.Current as App).tester; + tester.setOutputTraceListener(this); + var p = parameters as Tuple; + tester.run(p.Item1, p.Item2, p.Item3); + }, tup); + await t; + Running = false; + } + + public void outputTrace(String msg) + { + if (OutputDisplay != null) + { + OutputDisplay(msg); + } + System.Diagnostics.Debug.WriteLine(msg); + } + + public bool running { + get { return Running; } + protected set { Running = value; } + } + + private string SuiteName; + private string CaseName; + private bool Verbose; + private bool Running; + private OutputDisplayDelegate OutputDisplay; + } +} \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester/LibLinphoneTester.vcxproj b/build/vsx/LibLinphoneTester/LibLinphoneTester.vcxproj index bf77462b5..cd448cb77 100644 --- a/build/vsx/LibLinphoneTester/LibLinphoneTester.vcxproj +++ b/build/vsx/LibLinphoneTester/LibLinphoneTester.vcxproj @@ -20,28 +20,29 @@ {5e94a00b-b14a-4e42-8284-8cb0ef099534} - LibLinphoneTester + linphone_tester_native en-US 11.0 + true DynamicLibrary true - v110 + v110_wp80 false DynamicLibrary true v110_wp80 - false + true DynamicLibrary false true - v110 + v110_wp80 false @@ -84,24 +85,25 @@ Console false false - true + false + Level4 WIN32;_DEBUG;_WINDOWS;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;HAVE_CU_GET_SUITE;IN_LINPHONE;%(PreprocessorDefinitions) + $(ProjectDir)..\..\..\..\belle-sip\include;$(ProjectDir)..\..\..\..\oRTP\include;$(ProjectDir)..\..\..\..\mediastreamer2\include;$(ProjectDir)..\..\..\tester;$(ProjectDir)..\..\..\coreapi;$(ProjectDir)..\..\..\include;$(ProjectDir)..\..\..\..\cunit\build\windows\cunit\$(Platform)\$(Configuration);%(AdditionalIncludeDirectories) + Default NotUsing - false $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories) - $(ProjectDir)..\..\..\..\belle-sip\include;$(ProjectDir)..\..\..\..\oRTP\include;$(ProjectDir)..\..\..\..\mediastreamer2\include;$(ProjectDIr)..\..\..\..\tunnel\include;$(ProjectDir)..\..\..\coreapi;$(ProjectDir)..\..\..\include;$(ProjectDir)..\..\..\..\cunit\build\windows\cunit\$(Platform)\$(Configuration);%(AdditionalIncludeDirectories) + false Console false - false - true - ws2_32.lib;%(AdditionalDependencies) ole32.lib;%(IgnoreSpecificDefaultLibraries) + true + WindowsPhoneCore.lib;RuntimeObject.lib;PhoneAppModelHost.lib;ws2_32.lib;%(AdditionalDependencies) $(SolutionDir)$(Platform)\$(Configuration) @@ -116,13 +118,10 @@ Console false false - true + false - - true - true false @@ -135,9 +134,13 @@ + + true + + @@ -153,13 +156,8 @@ {08dd0d38-d9b5-4626-b60d-b4d76b571142} - - - - - - + \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester/LibLinphoneTester.vcxproj.filters b/build/vsx/LibLinphoneTester/LibLinphoneTester.vcxproj.filters index e7b5435bd..2f40f9303 100644 --- a/build/vsx/LibLinphoneTester/LibLinphoneTester.vcxproj.filters +++ b/build/vsx/LibLinphoneTester/LibLinphoneTester.vcxproj.filters @@ -13,9 +13,11 @@ + + diff --git a/build/vsx/LibLinphoneTester/linphone-tester-native.cpp b/build/vsx/LibLinphoneTester/linphone-tester-native.cpp new file mode 100644 index 000000000..ef7c34af3 --- /dev/null +++ b/build/vsx/LibLinphoneTester/linphone-tester-native.cpp @@ -0,0 +1,101 @@ +#include + +#include "linphone-tester-native.h" +#include "ortp/logging.h" +#include "cunit/Util.h" + +using namespace linphone_tester_native; +using namespace Platform; + +#define MAX_TRACE_SIZE 512 +#define MAX_SUITE_NAME_SIZE 128 + +static OutputTraceListener^ sTraceListener; + +static void nativeOutputTraceHandler(int lev, const char *fmt, va_list args) +{ + if (sTraceListener) { + wchar_t wstr[MAX_TRACE_SIZE]; + std::string str; + str.resize(MAX_TRACE_SIZE); + vsnprintf((char *)str.c_str(), MAX_TRACE_SIZE, fmt, args); + mbstowcs(wstr, str.c_str(), sizeof(wstr)); + String^ msg = ref new String(wstr); + sTraceListener->outputTrace(msg); + } +} + +static void LinphoneNativeOutputTraceHandler(OrtpLogLevel lev, const char *fmt, va_list args) +{ + char fmt2[MAX_TRACE_SIZE]; + snprintf(fmt2, MAX_TRACE_SIZE, "%s\n", fmt); + nativeOutputTraceHandler((int)lev, fmt2, args); +} + +LinphoneTesterNative::LinphoneTesterNative() +{ + liblinphone_tester_init(); +} + +LinphoneTesterNative::~LinphoneTesterNative() +{ + liblinphone_tester_uninit(); +} + +void LinphoneTesterNative::setOutputTraceListener(OutputTraceListener^ traceListener) +{ + sTraceListener = traceListener; +} + +void LinphoneTesterNative::run(Platform::String^ suiteName, Platform::String^ caseName, Platform::Boolean verbose) +{ + std::wstring all(L"ALL"); + std::wstring wssuitename = suiteName->Data(); + std::wstring wscasename = caseName->Data(); + char csuitename[MAX_SUITE_NAME_SIZE] = { 0 }; + char ccasename[MAX_SUITE_NAME_SIZE] = { 0 }; + wcstombs(csuitename, wssuitename.c_str(), sizeof(csuitename)); + wcstombs(ccasename, wscasename.c_str(), sizeof(ccasename)); + + if (verbose) { + ortp_set_log_level_mask(ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL); + } else { + ortp_set_log_level_mask(ORTP_ERROR|ORTP_FATAL); + } + ortp_set_log_handler(LinphoneNativeOutputTraceHandler); + CU_set_trace_handler(nativeOutputTraceHandler); + + liblinphone_tester_run_tests(wssuitename == all ? 0 : csuitename, wscasename == all ? 0 : ccasename); +} + +unsigned int LinphoneTesterNative::nbTestSuites() +{ + return liblinphone_tester_nb_test_suites(); +} + +unsigned int LinphoneTesterNative::nbTests(Platform::String^ suiteName) +{ + std::wstring suitename = suiteName->Data(); + char cname[MAX_SUITE_NAME_SIZE] = { 0 }; + wcstombs(cname, suitename.c_str(), sizeof(cname)); + return liblinphone_tester_nb_tests(cname); +} + +Platform::String^ LinphoneTesterNative::testSuiteName(int index) +{ + const char *cname = liblinphone_tester_test_suite_name(index); + wchar_t wcname[MAX_SUITE_NAME_SIZE]; + mbstowcs(wcname, cname, sizeof(wcname)); + return ref new String(wcname); +} + +Platform::String^ LinphoneTesterNative::testName(Platform::String^ suiteName, int testIndex) +{ + std::wstring suitename = suiteName->Data(); + char csuitename[MAX_SUITE_NAME_SIZE] = { 0 }; + wcstombs(csuitename, suitename.c_str(), sizeof(csuitename)); + const char *cname = liblinphone_tester_test_name(csuitename, testIndex); + wchar_t wcname[MAX_SUITE_NAME_SIZE]; + mbstowcs(wcname, cname, sizeof(wcname)); + return ref new String(wcname); +} diff --git a/build/vsx/LibLinphoneTester/linphone-tester-native.h b/build/vsx/LibLinphoneTester/linphone-tester-native.h new file mode 100644 index 000000000..b0adb2cc2 --- /dev/null +++ b/build/vsx/LibLinphoneTester/linphone-tester-native.h @@ -0,0 +1,25 @@ +#pragma once + +#include "liblinphone_tester.h" + +namespace linphone_tester_native +{ + public interface class OutputTraceListener + { + public: + void outputTrace(Platform::String^ msg); + }; + + public ref class LinphoneTesterNative sealed + { + public: + LinphoneTesterNative(); + virtual ~LinphoneTesterNative(); + void setOutputTraceListener(OutputTraceListener^ traceListener); + unsigned int nbTestSuites(); + unsigned int nbTests(Platform::String^ suiteName); + Platform::String^ testSuiteName(int index); + Platform::String^ testName(Platform::String^ suiteName, int testIndex); + void run(Platform::String^ suiteName, Platform::String^ caseName, Platform::Boolean verbose); + }; +} \ No newline at end of file diff --git a/tester/liblinphone_tester.h b/tester/liblinphone_tester.h index 1d17dbffc..23983972a 100644 --- a/tester/liblinphone_tester.h +++ b/tester/liblinphone_tester.h @@ -22,7 +22,7 @@ #include "CUnit/Basic.h" - +#include "linphonecore.h" typedef void (*test_function_t)(void); typedef int (*test_suite_function_t)(const char *name);