From d7b8b41499e8b968e9b461f48639a671642a0a25 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Tue, 18 Aug 2020 18:15:39 +0300 Subject: [PATCH 01/19] Azure Monitor: Send flow --- CMakeLists.txt | 3 + Solutions/MSTelemetrySDK.sln | 10 + Solutions/win10-cs/win10-cs.vcxproj | 833 ++++++------- Solutions/win10-dll/win10-dll.vcxproj | 849 ++++++------- Solutions/win10-lib/win10-lib.vcxproj | 753 ++++++------ Solutions/win32-dll/win32-dll.vcxproj | 673 +++++------ Solutions/win32-lib/win32-lib.vcxproj | 1049 +++++++++-------- docs/building-custom-SKU.md | 7 +- lib/CMakeLists.txt | 5 + .../maesdk/src/main/cpp/CMakeLists.txt | 8 + lib/api/LogManagerImpl.cpp | 36 +- lib/include/mat/config-default.h | 1 + lib/include/public/Enums.hpp | 4 +- lib/modules | 2 +- lib/system/ITelemetrySystem.hpp | 2 + lib/system/TelemetrySystemBase.hpp | 5 + lib/tpm/TransmissionPolicyManager.cpp | 4 +- tests/common/MockITelemetrySystem.hpp | 5 + tests/functests/AISendTests.cpp | 432 +++++++ tests/functests/FuncTests.vcxproj | 896 +++++++------- tests/functests/FuncTests.vcxproj.filters | 1 + tools/decoder/Decoder.cs | 6 +- tools/server/Startup.cs | 26 + tools/tools.sln | 83 +- 24 files changed, 3115 insertions(+), 2578 deletions(-) create mode 100644 tests/functests/AISendTests.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index a359f696..845da667 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -211,6 +211,9 @@ option(BUILD_JNI_WRAPPER "Build JNI wrapper" NO) option(BUILD_OBJC_WRAPPER "Build Obj-C wrapper" YES) option(BUILD_PACKAGE "Build package" YES) +# Enable Azure Monitor / Application Insights end-point support +option(BUILD_AZMON "Build for Azure Monitor" YES) + if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") option(BUILD_APPLE_HTTP "Build Apple HTTP client" YES) endif() diff --git a/Solutions/MSTelemetrySDK.sln b/Solutions/MSTelemetrySDK.sln index d1451293..f9e5ba1b 100644 --- a/Solutions/MSTelemetrySDK.sln +++ b/Solutions/MSTelemetrySDK.sln @@ -153,10 +153,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MacProxy", "MacProxy", "{83 ..\examples\cpp\MacProxy\run-tests.sh = ..\examples\cpp\MacProxy\run-tests.sh EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "azmon", "..\lib\modules\azmon\azmon.vcxitems", "{6DC5AB1D-3D64-4C52-8D8E-D9A8B0C16F14}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution ..\lib\pal\universal\universal.vcxitems*{10e9165b-49d1-4d1c-8248-334b9905b9cc}*SharedItemsImports = 9 ..\lib\pal\desktop\desktop.vcxitems*{10e9165b-49d1-4d1c-8248-334b9905b9cd}*SharedItemsImports = 9 + ..\lib\modules\azmon\azmon.vcxitems*{1dc6b38a-b390-34ce-907f-4958807a3d42}*SharedItemsImports = 4 ..\lib\modules\dataviewer\dataviewer.vcxitems*{1dc6b38a-b390-34ce-907f-4958807a3d42}*SharedItemsImports = 4 ..\lib\modules\exp\exp.vcxitems*{1dc6b38a-b390-34ce-907f-4958807a3d42}*SharedItemsImports = 4 ..\lib\modules\filter\filter.vcxitems*{1dc6b38a-b390-34ce-907f-4958807a3d42}*SharedItemsImports = 4 @@ -165,6 +168,7 @@ Global ..\lib\pal\desktop\desktop.vcxitems*{1dc6b38a-b390-34ce-907f-4958807a3d43}*SharedItemsImports = 4 Clienttelemetry\Clienttelemetry.vcxitems*{1dc6b38a-b390-34ce-907f-4958807a3d43}*SharedItemsImports = 4 ..\lib\modules\dataviewer\dataviewer.vcxitems*{20ad4f2b-3f98-4baf-8144-e1e7682a7927}*SharedItemsImports = 9 + ..\lib\modules\azmon\azmon.vcxitems*{216a8e97-21f7-4bef-9e52-7f772c177c32}*SharedItemsImports = 4 ..\lib\modules\dataviewer\dataviewer.vcxitems*{216a8e97-21f7-4bef-9e52-7f772c177c32}*SharedItemsImports = 4 ..\lib\modules\exp\exp.vcxitems*{216a8e97-21f7-4bef-9e52-7f772c177c32}*SharedItemsImports = 4 ..\lib\modules\filter\filter.vcxitems*{216a8e97-21f7-4bef-9e52-7f772c177c32}*SharedItemsImports = 4 @@ -178,6 +182,7 @@ Global ..\lib\pal\desktop\desktop.vcxitems*{434c594f-cde0-3690-ac0a-9ed854b74092}*SharedItemsImports = 4 Clienttelemetry\Clienttelemetry.vcxitems*{434c594f-cde0-3690-ac0a-9ed854b74092}*SharedItemsImports = 4 Clienttelemetry\Clienttelemetry.vcxitems*{45d41acc-2c3c-43d2-bc10-02aa73ffc7c7}*SharedItemsImports = 9 + ..\lib\modules\azmon\azmon.vcxitems*{49077dbf-e363-4d2d-8334-636569a771b6}*SharedItemsImports = 4 ..\lib\modules\dataviewer\dataviewer.vcxitems*{49077dbf-e363-4d2d-8334-636569a771b6}*SharedItemsImports = 4 ..\lib\modules\exp\exp.vcxitems*{49077dbf-e363-4d2d-8334-636569a771b6}*SharedItemsImports = 4 ..\lib\modules\filter\filter.vcxitems*{49077dbf-e363-4d2d-8334-636569a771b6}*SharedItemsImports = 4 @@ -185,12 +190,15 @@ Global ..\lib\shared\Shared.vcxitems*{49077dbf-e363-4d2d-8334-636569a771b6}*SharedItemsImports = 4 Clienttelemetry\Clienttelemetry.vcxitems*{49077dbf-e363-4d2d-8334-636569a771b6}*SharedItemsImports = 4 ..\lib\tracing\api\tracing-api.vcxitems*{4da18a2a-8752-45ea-a2f1-212a959619f4}*SharedItemsImports = 9 + ..\lib\modules\azmon\azmon.vcxitems*{57a81ed9-5603-471f-afee-9656da74178d}*SharedItemsImports = 4 ..\lib\modules\dataviewer\dataviewer.vcxitems*{57a81ed9-5603-471f-afee-9656da74178d}*SharedItemsImports = 4 ..\lib\modules\exp\exp.vcxitems*{57a81ed9-5603-471f-afee-9656da74178d}*SharedItemsImports = 4 ..\lib\modules\filter\filter.vcxitems*{57a81ed9-5603-471f-afee-9656da74178d}*SharedItemsImports = 4 ..\lib\pal\universal\universal.vcxitems*{57a81ed9-5603-471f-afee-9656da74178d}*SharedItemsImports = 4 Clienttelemetry\Clienttelemetry.vcxitems*{57a81ed9-5603-471f-afee-9656da74178d}*SharedItemsImports = 4 ..\lib\decoder\decoder.vcxitems*{65b6880e-fc36-443d-a7a5-0e6cda6523ac}*SharedItemsImports = 9 + ..\lib\modules\azmon\azmon.vcxitems*{6dc5ab1d-3d64-4c52-8d8e-d9a8b0c16f14}*SharedItemsImports = 9 + ..\lib\modules\azmon\azmon.vcxitems*{7a75748d-5d6b-48a5-83cb-f5f439133d59}*SharedItemsImports = 4 ..\lib\modules\dataviewer\dataviewer.vcxitems*{7a75748d-5d6b-48a5-83cb-f5f439133d59}*SharedItemsImports = 4 ..\lib\modules\exp\exp.vcxitems*{7a75748d-5d6b-48a5-83cb-f5f439133d59}*SharedItemsImports = 4 ..\lib\modules\filter\filter.vcxitems*{7a75748d-5d6b-48a5-83cb-f5f439133d59}*SharedItemsImports = 4 @@ -200,6 +208,7 @@ Global ..\lib\shared\Shared.vcxitems*{dc91621e-a203-42df-8e03-3a23dd0602b1}*SharedItemsImports = 4 ..\lib\shared\Shared.vcxitems*{ef859326-2a11-481c-ae8c-03d754f1c412}*SharedItemsImports = 9 ..\lib\decoder\decoder.vcxitems*{fe79fb3a-b3ef-38df-b7a4-11277db72b39}*SharedItemsImports = 4 + ..\lib\modules\azmon\azmon.vcxitems*{fe79fb3a-b3ef-38df-b7a4-11277db72b39}*SharedItemsImports = 4 ..\lib\modules\dataviewer\dataviewer.vcxitems*{fe79fb3a-b3ef-38df-b7a4-11277db72b39}*SharedItemsImports = 4 ..\lib\modules\filter\filter.vcxitems*{fe79fb3a-b3ef-38df-b7a4-11277db72b39}*SharedItemsImports = 4 ..\lib\pal\desktop\desktop.vcxitems*{fe79fb3a-b3ef-38df-b7a4-11277db72b39}*SharedItemsImports = 4 @@ -1264,6 +1273,7 @@ Global {D1AB0EF1-4753-494E-A334-147C68F94BAF} = {23F546DE-29F8-4F18-A378-42BCFE1781C0} {D74E42EC-C6EE-4944-B92A-EB711BE002A9} = {23F546DE-29F8-4F18-A378-42BCFE1781C0} {835E544D-A6FB-4C1C-B603-D848C4A6B315} = {D31B3404-AE47-4D0A-9A59-C321164F945C} + {6DC5AB1D-3D64-4C52-8D8E-D9A8B0C16F14} = {23F546DE-29F8-4F18-A378-42BCFE1781C0} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {7EE8585B-C10F-4DAC-BDAF-3726EDF8FCD7} diff --git a/Solutions/win10-cs/win10-cs.vcxproj b/Solutions/win10-cs/win10-cs.vcxproj index 4c3b213c..75b25f26 100644 --- a/Solutions/win10-cs/win10-cs.vcxproj +++ b/Solutions/win10-cs/win10-cs.vcxproj @@ -1,417 +1,418 @@ - - - - - - Debug - ARM - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {49077DBF-E363-4D2D-8334-636569A771B6} - WindowsRuntimeComponent - win10-cs - Microsoft.Applications.Telemetry.Windows - en-US - 14.0 - true - Windows Store - 8.2 - 10.0.10240.0 - true - - - TRUE - - - - DynamicLibrary - true - - - DynamicLibrary - true - - - DynamicLibrary - true - - - DynamicLibrary - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - - - - - - - - - - - - - - - - - true - false - Microsoft.Applications.Telemetry.Windows.UWP - $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 - - - true - false - Microsoft.Applications.Telemetry.Windows.UWP - $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 - - - false - false - Microsoft.Applications.Telemetry.Windows.UWP - $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - false - false - Microsoft.Applications.Telemetry.Windows.UWP - $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - true - false - Microsoft.Applications.Telemetry.Windows.UWP - $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - true - false - Microsoft.Applications.Telemetry.Windows.UWP - $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - true - false - Microsoft.Applications.Telemetry.Windows.UWP - $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 - - - true - false - Microsoft.Applications.Telemetry.Windows.UWP - $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;_CRTDBG_MAP_ALLOC;USE_TIMERSHIM2;WINAPI_FAMILY=WINAPI_FAMILY_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ProgramDatabase - Cdecl - false - false - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - - - Windows - false - true - sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - true - DebugFull - true - $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd - Default - - - true - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - false - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - - - Console - false - true - sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - true - false - $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd - Default - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;USE_TIMERSHIM2;WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - Cdecl - false - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - - - Console - false - true - sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - DebugFull - true - true - $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd - Default - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - false - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - - - Console - false - true - sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - true - false - $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd - Default - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;USE_TIMERSHIM2;WINAPI_FAMILY=WINAPI_FAMILY_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ProgramDatabase - Cdecl - false - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - - - Console - false - true - sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - DebugFull - true - true - $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd - Default - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - false - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - - - Console - false - true - sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - true - false - $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd - Default - - - - - NotUsing - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - false - false - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_APP;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - - - sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - false - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd - Default - - - - - NotUsing - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - false - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_APP;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - false - - - sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - false - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd - Default - - - - - /DORIGINAL_FILENAME=$(TargetName).dll %(AdditionalOptions) - - - - - {8FD826F8-3739-44E6-8CC8-997122E53B8D} - - - - - {6883a688-89f5-424a-9bfa-50d42f691b29} - - - - - - + + + + + + Debug + ARM + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {49077DBF-E363-4D2D-8334-636569A771B6} + WindowsRuntimeComponent + win10-cs + Microsoft.Applications.Telemetry.Windows + en-US + 14.0 + true + Windows Store + 8.2 + 10.0.10240.0 + true + + + TRUE + + + + DynamicLibrary + true + + + DynamicLibrary + true + + + DynamicLibrary + true + + + DynamicLibrary + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + + + + + + + + + + + + + + + + + + true + false + Microsoft.Applications.Telemetry.Windows.UWP + $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 + + + true + false + Microsoft.Applications.Telemetry.Windows.UWP + $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 + + + false + false + Microsoft.Applications.Telemetry.Windows.UWP + $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + false + false + Microsoft.Applications.Telemetry.Windows.UWP + $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + true + false + Microsoft.Applications.Telemetry.Windows.UWP + $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + true + false + Microsoft.Applications.Telemetry.Windows.UWP + $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + true + false + Microsoft.Applications.Telemetry.Windows.UWP + $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 + + + true + false + Microsoft.Applications.Telemetry.Windows.UWP + $(ProjectDir);$(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;_CRTDBG_MAP_ALLOC;USE_TIMERSHIM2;WINAPI_FAMILY=WINAPI_FAMILY_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ProgramDatabase + Cdecl + false + false + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + + + Windows + false + true + sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + true + DebugFull + true + $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd + Default + + + true + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + false + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + + + Console + false + true + sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + true + false + $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd + Default + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;USE_TIMERSHIM2;WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Cdecl + false + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + + + Console + false + true + sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + DebugFull + true + true + $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd + Default + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + false + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + + + Console + false + true + sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + true + false + $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd + Default + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;USE_TIMERSHIM2;WINAPI_FAMILY=WINAPI_FAMILY_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ProgramDatabase + Cdecl + false + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + + + Console + false + true + sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + DebugFull + true + true + $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd + Default + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_APP;_WINRT_DLL;MATSDK_SHARED_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + false + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + + + Console + false + true + sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + true + false + $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd + Default + + + + + NotUsing + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + false + false + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_APP;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + false + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd + Default + + + + + NotUsing + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + false + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;WIN10_CS;WINAPI_FAMILY=WINAPI_FAMILY_APP;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + + + sqlite-uwp.lib;zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + false + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + $(OutDir)Microsoft.Applications.Telemetry.Windows.winmd + Default + + + + + /DORIGINAL_FILENAME=$(TargetName).dll %(AdditionalOptions) + + + + + {8FD826F8-3739-44E6-8CC8-997122E53B8D} + + + + + {6883a688-89f5-424a-9bfa-50d42f691b29} + + + + + + \ No newline at end of file diff --git a/Solutions/win10-dll/win10-dll.vcxproj b/Solutions/win10-dll/win10-dll.vcxproj index 2249180c..371c770d 100644 --- a/Solutions/win10-dll/win10-dll.vcxproj +++ b/Solutions/win10-dll/win10-dll.vcxproj @@ -1,425 +1,426 @@ - - - - - - Debug - ARM - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {57A81ED9-5603-471F-AFEE-9656DA74178D} - DynamicLibrary - win10-dll - Microsoft.Applications.Telemetry.Windows - en-US - 14.0 - true - Windows Store - 10.0.10240.0 - - - - OACR - - - TRUE - - - - DynamicLibrary - true - - - DynamicLibrary - true - - - DynamicLibrary - true - - - DynamicLibrary - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - - - - - - - - - - - - - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 - $(SolutionDir)$(Platform)\$(Configuration)\$(MSBuildProjectName)\ - $(Platform)\$(Configuration)\ - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 - $(SolutionDir)$(Platform)\$(Configuration)\$(MSBuildProjectName)\ - $(Platform)\$(Configuration)\ - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ProgramDatabase - Cdecl - false - Async - Level3 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - false - - - Windows - false - true - WindowsApp.lib;%(AdditionalDependencies) - - - NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - DebugFull - true - Default - $(OutDir)$(TargetName).winmd - - - true - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - Async - Level3 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - false - - - Windows - false - true - WindowsApp.lib;%(AdditionalDependencies) - NCrypt;%(IgnoreSpecificDefaultLibraries) - true - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - UseLinkTimeCodeGeneration - $(OutDir)$(TargetName).winmd - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - Cdecl - Async - Level3 - true - $(OutDir)$(TargetName).pdb - Guard - false - Default - false - false - - - Windows - false - true - WindowsApp.lib;%(AdditionalDependencies) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - DebugFull - true - Default - $(OutDir)$(TargetName).winmd - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - Async - Level3 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - false - - - Windows - false - true - WindowsApp.lib;%(AdditionalDependencies) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - true - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - $(OutDir)$(TargetName).winmd - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ProgramDatabase - Cdecl - Async - Level3 - true - $(OutDir)$(TargetName).pdb - Guard - false - Default - false - false - - - Windows - false - true - WindowsApp.lib;%(AdditionalDependencies) - - - NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - DebugFull - true - Default - $(OutDir)$(TargetName).winmd - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - Async - Level3 - true - $(OutDir)$(TargetName).pdb - Guard - Default - false - false - - - Windows - false - true - WindowsApp.lib;%(AdditionalDependencies) - - - %(IgnoreSpecificDefaultLibraries) - true - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - UseLinkTimeCodeGeneration - $(OutDir)$(TargetName).winmd - - - - - NotUsing - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_WINDLL;%(PreprocessorDefinitions) - false - Level3 - false - true - - - Default - WindowsApp.lib;%(AdditionalDependencies) - false - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - Windows - $(OutDir)$(TargetName).winmd - - - - - NotUsing - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_WINDLL;%(PreprocessorDefinitions) - Level3 - Size - MinSpace - Async - Guard - false - true - - - WindowsApp.lib;%(AdditionalDependencies) - false - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) - Windows - $(OutDir)$(TargetName).winmd - - - - - - - - /DORIGINAL_FILENAME=$(TargetName).dll %(AdditionalOptions) - - - - - {8FD826F8-3739-44E6-8CC8-997122E53B8D} - - - - - {6883a688-89f5-424a-9bfa-50d42f691b29} - - - - - - + + + + + + Debug + ARM + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {57A81ED9-5603-471F-AFEE-9656DA74178D} + DynamicLibrary + win10-dll + Microsoft.Applications.Telemetry.Windows + en-US + 14.0 + true + Windows Store + 10.0.10240.0 + + + + OACR + + + TRUE + + + + DynamicLibrary + true + + + DynamicLibrary + true + + + DynamicLibrary + true + + + DynamicLibrary + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + + + + + + + + + + + + + + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 + $(SolutionDir)$(Platform)\$(Configuration)\$(MSBuildProjectName)\ + $(Platform)\$(Configuration)\ + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 + $(SolutionDir)$(Platform)\$(Configuration)\$(MSBuildProjectName)\ + $(Platform)\$(Configuration)\ + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ProgramDatabase + Cdecl + false + Async + Level3 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + false + + + Windows + false + true + WindowsApp.lib;%(AdditionalDependencies) + + + NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + DebugFull + true + Default + $(OutDir)$(TargetName).winmd + + + true + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + Async + Level3 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + false + + + Windows + false + true + WindowsApp.lib;%(AdditionalDependencies) + NCrypt;%(IgnoreSpecificDefaultLibraries) + true + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + UseLinkTimeCodeGeneration + $(OutDir)$(TargetName).winmd + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Cdecl + Async + Level3 + true + $(OutDir)$(TargetName).pdb + Guard + false + Default + false + false + + + Windows + false + true + WindowsApp.lib;%(AdditionalDependencies) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + DebugFull + true + Default + $(OutDir)$(TargetName).winmd + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + Async + Level3 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + false + + + Windows + false + true + WindowsApp.lib;%(AdditionalDependencies) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + true + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + $(OutDir)$(TargetName).winmd + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ProgramDatabase + Cdecl + Async + Level3 + true + $(OutDir)$(TargetName).pdb + Guard + false + Default + false + false + + + Windows + false + true + WindowsApp.lib;%(AdditionalDependencies) + + + NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + DebugFull + true + Default + $(OutDir)$(TargetName).winmd + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + Async + Level3 + true + $(OutDir)$(TargetName).pdb + Guard + Default + false + false + + + Windows + false + true + WindowsApp.lib;%(AdditionalDependencies) + + + %(IgnoreSpecificDefaultLibraries) + true + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + UseLinkTimeCodeGeneration + $(OutDir)$(TargetName).winmd + + + + + NotUsing + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_WINDLL;%(PreprocessorDefinitions) + false + Level3 + false + true + + + Default + WindowsApp.lib;%(AdditionalDependencies) + false + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + Windows + $(OutDir)$(TargetName).winmd + + + + + NotUsing + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_WINDLL;%(PreprocessorDefinitions) + Level3 + Size + MinSpace + Async + Guard + false + true + + + WindowsApp.lib;%(AdditionalDependencies) + false + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;$(AriaDepsLibPath)\sqlite-uwp;%(AdditionalLibraryDirectories) + Windows + $(OutDir)$(TargetName).winmd + + + + + + + + /DORIGINAL_FILENAME=$(TargetName).dll %(AdditionalOptions) + + + + + {8FD826F8-3739-44E6-8CC8-997122E53B8D} + + + + + {6883a688-89f5-424a-9bfa-50d42f691b29} + + + + + + \ No newline at end of file diff --git a/Solutions/win10-lib/win10-lib.vcxproj b/Solutions/win10-lib/win10-lib.vcxproj index e1428a8f..c2e55b0c 100644 --- a/Solutions/win10-lib/win10-lib.vcxproj +++ b/Solutions/win10-lib/win10-lib.vcxproj @@ -1,377 +1,378 @@ - - - - - - Debug - ARM - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {7a75748d-5d6b-48a5-83cb-f5f439133d59} - StaticLibrary - win10-lib - Microsoft.Applications.Telemetry.Windows - en-US - 14.0 - true - Windows Store - 10.0.10240.0 - 10.0 - win10-lib - true - - - - StaticLibrary - true - - - StaticLibrary - true - - - StaticLibrary - true - - - StaticLibrary - true - - - StaticLibrary - false - true - - - StaticLibrary - false - true - - - StaticLibrary - false - true - - - StaticLibrary - false - true - - - - - - - - - - - - - - - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 - - - false - false - Microsoft.Applications.Telemetry.Windows.native - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) - %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ProgramDatabase - Cdecl - false - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - - - Console - false - true - zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - - - NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) - - - true - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - false - - - Console - false - true - zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - NCrypt;%(IgnoreSpecificDefaultLibraries) - true - $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - Cdecl - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - - - Console - false - true - zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - false - - - Console - false - true - zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - true - $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - - - Console - false - true - zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - - - Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) - true - $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ProgramDatabase - Cdecl - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - - - Console - false - true - zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - - - NCrypt;%(IgnoreSpecificDefaultLibraries) - $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) - - - - - NotUsing - true - ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - MinSpace - Size - Cdecl - Async - Level4 - true - $(OutDir)$(TargetName).pdb - Guard - false - - - Console - false - true - zlib.lib;WindowsApp.lib;%(AdditionalDependencies) - - - %(IgnoreSpecificDefaultLibraries) - true - $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) - - - - - NotUsing - ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - Guard - true - - - - - NotUsing - ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - Guard - false - true - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - - + + + + + + Debug + ARM + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {7a75748d-5d6b-48a5-83cb-f5f439133d59} + StaticLibrary + win10-lib + Microsoft.Applications.Telemetry.Windows + en-US + 14.0 + true + Windows Store + 10.0.10240.0 + 10.0 + win10-lib + true + + + + StaticLibrary + true + + + StaticLibrary + true + + + StaticLibrary + true + + + StaticLibrary + true + + + StaticLibrary + false + true + + + StaticLibrary + false + true + + + StaticLibrary + false + true + + + StaticLibrary + false + true + + + + + + + + + + + + + + + + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86 + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_ARM);$(WindowsSDK_LibraryPath_ARM);$(NETFXKitsDir)Lib\um\arm + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 + + + false + false + Microsoft.Applications.Telemetry.Windows.native + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(SolutionDir)\..\lib\shared\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath);$(CustomIncludePath);$(IncludePath) + %(AdditionalLibraryDirectories);$(AriaDepsLibPath)\zlib;$(LibraryPath);$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64 + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ProgramDatabase + Cdecl + false + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + + + Console + false + true + zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + + + NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) + + + true + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + false + + + Console + false + true + zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + NCrypt;%(IgnoreSpecificDefaultLibraries) + true + $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Cdecl + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + + + Console + false + true + zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + false + + + Console + false + true + zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + true + $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + + + Console + false + true + zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + + + Ole32;NCrypt;%(IgnoreSpecificDefaultLibraries) + true + $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ProgramDatabase + Cdecl + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + + + Console + false + true + zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + + + NCrypt;%(IgnoreSpecificDefaultLibraries) + $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) + + + + + NotUsing + true + ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + MinSpace + Size + Cdecl + Async + Level4 + true + $(OutDir)$(TargetName).pdb + Guard + false + + + Console + false + true + zlib.lib;WindowsApp.lib;%(AdditionalDependencies) + + + %(IgnoreSpecificDefaultLibraries) + true + $(AriaDepsLibPath)\zlib;%(AdditionalLibraryDirectories) + + + + + NotUsing + ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Guard + true + + + + + NotUsing + ZLIB_WINAPI;WIN32;MATSDK_STATIC_LIB;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Guard + false + true + + + + + + + + {8fd826f8-3739-44e6-8cc8-997122e53b8d} + + + + + + \ No newline at end of file diff --git a/Solutions/win32-dll/win32-dll.vcxproj b/Solutions/win32-dll/win32-dll.vcxproj index 698981b7..85403df5 100644 --- a/Solutions/win32-dll/win32-dll.vcxproj +++ b/Solutions/win32-dll/win32-dll.vcxproj @@ -1,337 +1,338 @@ - - - - - - Debug - ARM64 - - - Debug - Win32 - - - Release - ARM64 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - - - - - - - - /DORIGINAL_FILENAME=$(TargetName).dll %(AdditionalOptions) - - - - {216A8E97-21F7-4BEF-9E52-7F772C177C32} - Win32DllProj - ClientTelemetry - win32-dll - true - - - TRUE - - - OACR - - - - DynamicLibrary - true - Unicode - false - - - DynamicLibrary - false - false - Unicode - - - DynamicLibrary - true - Unicode - false - - - DynamicLibrary - true - Unicode - false - - - DynamicLibrary - false - false - Unicode - - - DynamicLibrary - false - false - Unicode - - - - - - - - - - - - - - - - $(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(CustomIncludePath);$(IncludePath) - - - false - ClientTelemetry - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - AllRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - AllRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - AllRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - AllRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - AllRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - AllRules.ruleset - false - - - - NotUsing - Level4 - Disabled - ORIGINAL_FILENAME="ClientTelemetry.dll";ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ProgramDatabase - false - false - All - false - MultiThreadedDebugDLL - 4005;4503 - false - true - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - Guard - Guard - Guard - true - true - true - false - false - false - true - true - true - true - true - true - true - true - - - - true - true - false - false - false - false - true - false - false - true - true - - - Windows - true - uuid.lib;wininet.lib;crypt32.lib;version.lib;%(AdditionalDependencies) - runtimeobject.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll - false - true - false - Default - LinkVerboseLib - user32.lib;Mincore.lib - false - true - false - true - true - true - - - true - true - - - wininet.lib;user32.lib;shell32.lib;Advapi32.lib;Ole32.lib - %(AdditionalLibraryDirectories) - - - true - - - - - Level4 - - - - MaxSpeed - Neither - - MaxSpeed - MaxSpeed - true - false - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - false - false - All - false - false - MultiThreadedDLL - Neither - Neither - false - false - 4005;4503 - false - true - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - Guard - Guard - Guard - Default - Default - Default - true - true - true - false - false - true - true - true - true - true - true - true - true - true - - - Windows - true - true - true - uuid.lib;wininet.lib;crypt32.lib;version.lib;%(AdditionalDependencies) - runtimeobject.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll - - - - - false - true - false - LinkVerboseLib - user32.lib;Mincore.lib - false - Default - false - true - true - true - - - true - true - - - wininet.lib;user32.lib;shell32.lib;Advapi32.lib;Ole32.lib - %(AdditionalLibraryDirectories) - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - {2ebc7b3c-2af1-442c-9285-cab39bbb8c00} - - - - - - + + + + + + Debug + ARM64 + + + Debug + Win32 + + + Release + ARM64 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + /DORIGINAL_FILENAME=$(TargetName).dll %(AdditionalOptions) + + + + {216A8E97-21F7-4BEF-9E52-7F772C177C32} + Win32DllProj + ClientTelemetry + win32-dll + true + + + TRUE + + + OACR + + + + DynamicLibrary + true + Unicode + false + + + DynamicLibrary + false + false + Unicode + + + DynamicLibrary + true + Unicode + false + + + DynamicLibrary + true + Unicode + false + + + DynamicLibrary + false + false + Unicode + + + DynamicLibrary + false + false + Unicode + + + + + + + + + + + + + + + + + $(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(CustomIncludePath);$(IncludePath) + + + false + ClientTelemetry + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + AllRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + AllRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + AllRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + AllRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + AllRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + AllRules.ruleset + false + + + + NotUsing + Level4 + Disabled + ORIGINAL_FILENAME="ClientTelemetry.dll";ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ProgramDatabase + false + false + All + false + MultiThreadedDebugDLL + 4005;4503 + false + true + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + Guard + Guard + Guard + true + true + true + false + false + false + true + true + true + true + true + true + true + true + + + + true + true + false + false + false + false + true + false + false + true + true + + + Windows + true + uuid.lib;wininet.lib;crypt32.lib;version.lib;%(AdditionalDependencies) + runtimeobject.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll + false + true + false + Default + LinkVerboseLib + user32.lib;Mincore.lib + false + true + false + true + true + true + + + true + true + + + wininet.lib;user32.lib;shell32.lib;Advapi32.lib;Ole32.lib + %(AdditionalLibraryDirectories) + + + true + + + + + Level4 + + + + MaxSpeed + Neither + + MaxSpeed + MaxSpeed + true + false + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + false + false + All + false + false + MultiThreadedDLL + Neither + Neither + false + false + 4005;4503 + false + true + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + Guard + Guard + Guard + Default + Default + Default + true + true + true + false + false + true + true + true + true + true + true + true + true + true + + + Windows + true + true + true + uuid.lib;wininet.lib;crypt32.lib;version.lib;%(AdditionalDependencies) + runtimeobject.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll + + + + + false + true + false + LinkVerboseLib + user32.lib;Mincore.lib + false + Default + false + true + true + true + + + true + true + + + wininet.lib;user32.lib;shell32.lib;Advapi32.lib;Ole32.lib + %(AdditionalLibraryDirectories) + + + + + {8fd826f8-3739-44e6-8cc8-997122e53b8d} + + + + + {2ebc7b3c-2af1-442c-9285-cab39bbb8c00} + + + + + + \ No newline at end of file diff --git a/Solutions/win32-lib/win32-lib.vcxproj b/Solutions/win32-lib/win32-lib.vcxproj index b5dc6c56..7e05347c 100644 --- a/Solutions/win32-lib/win32-lib.vcxproj +++ b/Solutions/win32-lib/win32-lib.vcxproj @@ -1,525 +1,526 @@ - - - - - - Debug.vs2015.MT-sqlite - ARM64 - - - Debug.vs2015.MT-sqlite - Win32 - - - Debug.vs2015.MT-sqlite - x64 - - - Debug - ARM64 - - - Debug - Win32 - - - Release.vs2015.MT-sqlite - ARM64 - - - Release.vs2015.MT-sqlite - Win32 - - - Release.vs2015.MT-sqlite - x64 - - - Release - ARM64 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {1DC6B38A-B390-34CE-907F-4958807A3D42} - Win32LibProj - ClientTelemetry - win32-lib - true - - - OACR - - - - StaticLibrary - true - Unicode - false - - - StaticLibrary - true - Unicode - false - - - StaticLibrary - false - false - Unicode - - - StaticLibrary - false - false - Unicode - - - StaticLibrary - true - Unicode - false - - - StaticLibrary - true - Unicode - false - - - StaticLibrary - true - Unicode - false - - - StaticLibrary - true - Unicode - false - - - StaticLibrary - false - false - Unicode - win-x64_vs2015-crtdynamic-release - - - StaticLibrary - false - false - Unicode - - - StaticLibrary - false - false - Unicode - - - StaticLibrary - false - false - Unicode - - - - - - - - - - - - - - - - $(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(CustomIncludePath);$(IncludePath) - - - false - ClientTelemetry - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi - $(LibraryPath) - - C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset - false - - - - - - Level4 - Disabled - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ProgramDatabase - false - false - All - false - MultiThreadedDebugDLL - 4005;4503 - false - true - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - Guard - Guard - Guard - false - false - false - - - Windows - true - uuid.lib;wininet.lib;crypt32.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll - false - true - false - Default - LinkVerboseLib - user32.lib - false - true - false - true - true - true - - - false - true - - - - - %(AdditionalLibraryDirectories) - false - false - false - true - true - true - - - true - - - - - - - Level4 - Disabled - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - ProgramDatabase - false - false - All - false - MultiThreadedDebug - 4005;4503 - false - true - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - Guard - Guard - Guard - false - false - false - - - Windows - true - uuid.lib;wininet.lib;crypt32.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll - false - true - false - Default - LinkVerboseLib - user32.lib - false - true - false - true - true - true - - - false - true - - - - - %(AdditionalLibraryDirectories) - false - false - false - true - true - true - - - true - - - - - Level4 - - - - MinSpace - Size - - MinSpace - MinSpace - true - false - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - false - false - All - false - false - MultiThreadedDLL - Size - Size - false - false - 4005;4503 - false - true - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - Guard - Guard - Guard - - - Windows - true - true - true - uuid.lib;wininet.lib;crypt32.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll - - - - - false - true - false - LinkVerboseLib - user32.lib - false - Default - false - true - true - true - - - false - true - - - - - %(AdditionalLibraryDirectories) - false - false - false - true - true - true - - - - - Level4 - - - MinSpace - Size - MinSpace - MinSpace - true - false - ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - false - false - All - false - false - MultiThreaded - Size - Size - false - false - 4005;4503 - false - true - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - $(OutDir)$(TargetName).pdb - Guard - Guard - Guard - - - Windows - true - true - true - uuid.lib;wininet.lib;crypt32.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll - - - - - false - true - false - LinkVerboseLib - user32.lib - false - Default - false - true - true - true - - - false - true - - - - - %(AdditionalLibraryDirectories) - false - false - false - true - true - true - - - - - - + + + + + + Debug.vs2015.MT-sqlite + ARM64 + + + Debug.vs2015.MT-sqlite + Win32 + + + Debug.vs2015.MT-sqlite + x64 + + + Debug + ARM64 + + + Debug + Win32 + + + Release.vs2015.MT-sqlite + ARM64 + + + Release.vs2015.MT-sqlite + Win32 + + + Release.vs2015.MT-sqlite + x64 + + + Release + ARM64 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {1DC6B38A-B390-34CE-907F-4958807A3D42} + Win32LibProj + ClientTelemetry + win32-lib + true + + + OACR + + + + StaticLibrary + true + Unicode + false + + + StaticLibrary + true + Unicode + false + + + StaticLibrary + false + false + Unicode + + + StaticLibrary + false + false + Unicode + + + StaticLibrary + true + Unicode + false + + + StaticLibrary + true + Unicode + false + + + StaticLibrary + true + Unicode + false + + + StaticLibrary + true + Unicode + false + + + StaticLibrary + false + false + Unicode + win-x64_vs2015-crtdynamic-release + + + StaticLibrary + false + false + Unicode + + + StaticLibrary + false + false + Unicode + + + StaticLibrary + false + false + Unicode + + + + + + + + + + + + + + + + + $(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(CustomIncludePath);$(IncludePath) + + + false + ClientTelemetry + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + *.cdf;*.cache;*.obj;*.pdb;*.obj.enc;*.ilk;*.ipdb;*.iobj;*.resources;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;*.pgc;*.pgd;*.meta;*.tlog;*.manifest;*.res;*.pch;*.exp;*.idb;*.rep;*.xdc;*.pdb;*_manifest.rc;*.bsc;*.sbr;*.xml;*.metagen;*.bi + $(LibraryPath) + + C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset + false + + + + + + Level4 + Disabled + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ProgramDatabase + false + false + All + false + MultiThreadedDebugDLL + 4005;4503 + false + true + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + Guard + Guard + Guard + false + false + false + + + Windows + true + uuid.lib;wininet.lib;crypt32.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll + false + true + false + Default + LinkVerboseLib + user32.lib + false + true + false + true + true + true + + + false + true + + + + + %(AdditionalLibraryDirectories) + false + false + false + true + true + true + + + true + + + + + + + Level4 + Disabled + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + ProgramDatabase + false + false + All + false + MultiThreadedDebug + 4005;4503 + false + true + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + Guard + Guard + Guard + false + false + false + + + Windows + true + uuid.lib;wininet.lib;crypt32.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll + false + true + false + Default + LinkVerboseLib + user32.lib + false + true + false + true + true + true + + + false + true + + + + + %(AdditionalLibraryDirectories) + false + false + false + true + true + true + + + true + + + + + Level4 + + + + MinSpace + Size + + MinSpace + MinSpace + true + false + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + false + false + All + false + false + MultiThreadedDLL + Size + Size + false + false + 4005;4503 + false + true + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + Guard + Guard + Guard + + + Windows + true + true + true + uuid.lib;wininet.lib;crypt32.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll + + + + + false + true + false + LinkVerboseLib + user32.lib + false + Default + false + true + true + true + + + false + true + + + + + %(AdditionalLibraryDirectories) + false + false + false + true + true + true + + + + + Level4 + + + MinSpace + Size + MinSpace + MinSpace + true + false + ZLIB_WINAPI;WIN32;MATSDK_SHARED_LIB=1;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;WINVER=_WIN32_WINNT_WIN7;%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + false + false + All + false + false + MultiThreaded + Size + Size + false + false + 4005;4503 + false + true + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + $(OutDir)$(TargetName).pdb + Guard + Guard + Guard + + + Windows + true + true + true + uuid.lib;wininet.lib;crypt32.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + api-ms-win-core-winrt-l1-1-0.dll;api-ms-win-core-winrt-string-l1-1-0.dll + + + + + false + true + false + LinkVerboseLib + user32.lib + false + Default + false + true + true + true + + + false + true + + + + + %(AdditionalLibraryDirectories) + false + false + false + true + true + true + + + + + + \ No newline at end of file diff --git a/docs/building-custom-SKU.md b/docs/building-custom-SKU.md index b2df7b05..833a32a4 100644 --- a/docs/building-custom-SKU.md +++ b/docs/building-custom-SKU.md @@ -19,10 +19,11 @@ Build recipe must contain the following preprocessor definitions: | #define | Default value | Description | |-----------|---------|----------| | STATS_TOKEN_PROD | $token | Default token for internal SDK usage stats 'evt_stats' in PROD | -| STATS_TOKEN_INT | $token | Default token for internal SDK usage stats 'evt_stats' in INT (sandbox) environment. +| STATS_TOKEN_INT | $token | Default token for internal SDK usage stats 'evt_stats' in INT (sandbox) environment | | HAVE_MAT_EXP | off | Enable built-in A/B config and Experimentation Client for ECS and AFD | -| HAVE_MAT_UTC | on | Enable UTC telemetry channel (available on Windows 10 RS2+ only) -| HAVE_MAT_JSONHPP | on | Build with [JSON for Modern C++ library](https://github.com/nlohmann/json) +| HAVE_MAT_AI | on | Enable Azure Monitor / Application Insights telemetry channel | +| HAVE_MAT_UTC | on | Enable UTC telemetry channel (available on Windows 10 RS2+ only) | +| HAVE_MAT_JSONHPP | on | Build with [JSON for Modern C++ library](https://github.com/nlohmann/json) | | HAVE_MAT_ZLIB | on | Use zlib for HTTP requests compression. This option must always be turned on for any high-volume telemetry project | | HAVE_MAT_LOGGING | on | Enable internal SDK tracing / debug logging | | HAVE_MAT_STORAGE | on | Enable SQLite persistent offline storage | diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index e3206ae6..43ba3a99 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -49,6 +49,11 @@ set(SRCS decorators/BaseDecorator.cpp pal/WorkerThread.cpp ) +# Support for Azure Monitor / Application Insights +if(BUILD_AZMON) + include(modules/azmon/CMakeLists.txt) +endif() + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/modules/exp/) list(APPEND SRCS modules/exp/afd/afdclient/AFDClientUtils.cpp diff --git a/lib/android_build/maesdk/src/main/cpp/CMakeLists.txt b/lib/android_build/maesdk/src/main/cpp/CMakeLists.txt index 83b371c7..be37f996 100644 --- a/lib/android_build/maesdk/src/main/cpp/CMakeLists.txt +++ b/lib/android_build/maesdk/src/main/cpp/CMakeLists.txt @@ -6,6 +6,9 @@ cmake_minimum_required(VERSION 3.10.2) set(CMAKE_CXX_STANDARD 11) +# Enable Azure Monitor / Application Insights end-point support +option(BUILD_AZMON "Build for Azure Monitor" YES) + string(REPLACE "/lib/android_build/maesdk/src/main/cpp" "" SDK_ROOT ${CMAKE_SOURCE_DIR}) if (USE_CURL) @@ -79,6 +82,11 @@ set(SRCS ${SDK_ROOT}/lib/utils/Utils.cpp ) +# Support for Azure Monitor / Application Insights +if (BUILD_AZMON) + include(${SDK_ROOT}/lib/modules/azmon/CMakeLists.txt) +endif() + if(EXISTS ${SDK_ROOT}/lib/modules/dataviewer/) list(APPEND SRCS ${SDK_ROOT}/lib/jni/LogManagerDDVController_jni.cpp diff --git a/lib/api/LogManagerImpl.cpp b/lib/api/LogManagerImpl.cpp index ae5415c1..fa87c283 100644 --- a/lib/api/LogManagerImpl.cpp +++ b/lib/api/LogManagerImpl.cpp @@ -30,6 +30,19 @@ #endif #endif +#ifdef HAVE_MAT_AI +#if defined __has_include +#if __has_include("modules/azmon/AITelemetrySystem.hpp") +#include "modules/azmon/AITelemetrySystem.hpp" +#else +/* Compiling without Azure Monitor support because Azure Monitor private header is unavailable */ +#undef HAVE_MAT_AI +#endif +#else +#include "modules/azmon/AITelemetrySystem.hpp" +#endif +#endif // HAVE_MAT_AI + #ifdef HAVE_MAT_DEFAULT_FILTER #if defined __has_include #if __has_include("modules/filter/CompliantByDefaultEventFilterModule.hpp") @@ -205,6 +218,8 @@ namespace MAT_NS_BEGIN LOG_TRACE("TaskDispatcher: External %p", m_taskDispatcher.get()); } + int32_t sdkMode = configuration[CFG_INT_SDK_MODE]; + #ifdef HAVE_MAT_UTC // UTC is not active configuration[CFG_STR_UTC][CFG_BOOL_UTC_ACTIVE] = false; @@ -213,8 +228,10 @@ namespace MAT_NS_BEGIN bool isWindowsUtcClientRegistrationEnable = PAL::IsUtcRegistrationEnabledinWindows(); configuration[CFG_STR_UTC][CFG_BOOL_UTC_ENABLED] = isWindowsUtcClientRegistrationEnable; - int32_t sdkMode = configuration[CFG_INT_SDK_MODE]; - if ((sdkMode > SdkModeTypes::SdkModeTypes_CS) && isWindowsUtcClientRegistrationEnable) + if ( + ((sdkMode == SdkModeTypes::SdkModeTypes_UTCBackCompat) || (sdkMode == SdkModeTypes::SdkModeTypes_UTCCommonSchema)) && + isWindowsUtcClientRegistrationEnable + ) { // UTC is active configuration[CFG_STR_UTC][CFG_BOOL_UTC_ACTIVE] = true; @@ -276,8 +293,19 @@ namespace MAT_NS_BEGIN m_logSessionDataProvider.reset(new LogSessionDataProvider(cacheFilePath)); #endif - m_system.reset(new TelemetrySystem(*this, *m_config, *m_offlineStorage, *m_httpClient, *m_taskDispatcher, - m_bandwidthController, *m_logSessionDataProvider)); +#ifdef HAVE_MAT_AI + if (sdkMode == SdkModeTypes::SdkModeTypes_AI) + { + m_system.reset(new AITelemetrySystem(*this, *m_config, *m_offlineStorage, *m_httpClient, + *m_taskDispatcher, m_bandwidthController, *m_logSessionDataProvider)); + } + else +#endif + { + // Default mode is Common Schema - direct + m_system.reset(new TelemetrySystem(*this, *m_config, *m_offlineStorage, *m_httpClient, + *m_taskDispatcher, m_bandwidthController, *m_logSessionDataProvider)); + } LOG_TRACE("Telemetry system created, starting up..."); if (m_system && !deferSystemStart) { diff --git a/lib/include/mat/config-default.h b/lib/include/mat/config-default.h index 3c2a7dbe..0909eb00 100644 --- a/lib/include/mat/config-default.h +++ b/lib/include/mat/config-default.h @@ -1,6 +1,7 @@ #define EVTSDK_VERSION_PREFIX "EVT" #if defined(_WIN32) /* && defined(HAVE_PRIVATE_MODULES) */ #define HAVE_MAT_UTC +#define HAVE_MAT_AI #endif #if defined(HAVE_PRIVATE_MODULES) #define HAVE_MAT_EXP diff --git a/lib/include/public/Enums.hpp b/lib/include/public/Enums.hpp index 2c4935b0..1af2f20f 100644 --- a/lib/include/public/Enums.hpp +++ b/lib/include/public/Enums.hpp @@ -82,7 +82,9 @@ namespace MAT_NS_BEGIN /// Backward compatibility transmission mode. SdkModeTypes_UTCBackCompat = 1, /// Common schema transmission mode. - SdkModeTypes_UTCCommonSchema = 2 + SdkModeTypes_UTCCommonSchema = 2, + /// Transmission to AppInsights endpoint. + SdkModeTypes_AI = 3 }; /// diff --git a/lib/modules b/lib/modules index e637a061..ee555f0d 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit e637a061359e0d623ebee03324f9adc4f5bb2f39 +Subproject commit ee555f0db2736acc20ff8453aa5e2ee0c2691823 diff --git a/lib/system/ITelemetrySystem.hpp b/lib/system/ITelemetrySystem.hpp index 1161784c..bcb4928c 100644 --- a/lib/system/ITelemetrySystem.hpp +++ b/lib/system/ITelemetrySystem.hpp @@ -35,6 +35,8 @@ namespace MAT_NS_BEGIN { virtual IRuntimeConfig& getConfig() = 0; virtual ISemanticContext& getContext() = 0; + virtual EventsUploadContextPtr createEventsUploadContext() = 0; + // Debug functionality virtual bool DispatchEvent(DebugEvent evt) override = 0; diff --git a/lib/system/TelemetrySystemBase.hpp b/lib/system/TelemetrySystemBase.hpp index bb7334a4..d581cb13 100644 --- a/lib/system/TelemetrySystemBase.hpp +++ b/lib/system/TelemetrySystemBase.hpp @@ -149,6 +149,11 @@ namespace MAT_NS_BEGIN { return m_logManager.GetSemanticContext(); } + EventsUploadContextPtr createEventsUploadContext() override + { + return std::make_shared(); + } + virtual bool DispatchEvent(DebugEvent evt) override { return m_logManager.DispatchEvent(std::move(evt)); diff --git a/lib/tpm/TransmissionPolicyManager.cpp b/lib/tpm/TransmissionPolicyManager.cpp index a66782b0..38f1cb4b 100644 --- a/lib/tpm/TransmissionPolicyManager.cpp +++ b/lib/tpm/TransmissionPolicyManager.cpp @@ -176,7 +176,7 @@ namespace MAT_NS_BEGIN { } #endif - auto ctx = std::make_shared(); + auto ctx = m_system.createEventsUploadContext(); ctx->requestedMinLatency = m_runningLatency; addUpload(ctx); initiateUpload(ctx); @@ -275,7 +275,7 @@ namespace MAT_NS_BEGIN { /* This logic needs to be revised: one event in a dedicated HTTP post is wasteful! */ // Initiate upload right away if (event->record.latency > EventLatency_RealTime) { - auto ctx = std::make_shared(); + auto ctx = m_system.createEventsUploadContext(); ctx->requestedMinLatency = event->record.latency; addUpload(ctx); initiateUpload(ctx); diff --git a/tests/common/MockITelemetrySystem.hpp b/tests/common/MockITelemetrySystem.hpp index c67f3d79..d1a4f091 100644 --- a/tests/common/MockITelemetrySystem.hpp +++ b/tests/common/MockITelemetrySystem.hpp @@ -34,6 +34,11 @@ namespace testing { static RuntimeConfig_Default testConfig(config); return testConfig; } + + EventsUploadContextPtr createEventsUploadContext() override + { + return std::make_shared(); + } MOCK_METHOD0(getContext, ISemanticContext&()); MOCK_METHOD1(DispatchEvent, bool(DebugEvent evt)); diff --git a/tests/functests/AISendTests.cpp b/tests/functests/AISendTests.cpp new file mode 100644 index 00000000..336b5c43 --- /dev/null +++ b/tests/functests/AISendTests.cpp @@ -0,0 +1,432 @@ +#include "mat/config.h" + +#ifdef HAVE_MAT_AI + +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +#endif + +#include "common/Common.hpp" +#include "common/HttpServer.hpp" + +#include "LogManager.hpp" +#include "common/Common.hpp" + +#include +#include +#include +#include +#include +#include +#include + +#include "json.hpp" + +using namespace testing; +using namespace MAT; +using namespace std; + +#undef LOCKGUARD +#define LOCKGUARD(macro_mutex) std::lock_guard TOKENPASTE2(__guard_, __LINE__)(macro_mutex); + +// Application Insights test key +#define TEST_TOKEN "12345678-1234-1234-1234-123456789abc" +#define HTTP_PORT 19001 +char const* const TEST_STORAGE_FILENAME = "AISendTests.db"; + +class TestDebugEventListener : public DebugEventListener +{ + const size_t IDX_OK = 0; + const size_t IDX_FAIL = 1; + const size_t IDX_PART = 2; + const size_t IDX_ERR = 3; + + std::atomic counts[4]; + + public: + + TestDebugEventListener() + { + counts[IDX_OK] = 0; + counts[IDX_FAIL] = 0; + counts[IDX_PART] = 0; + counts[IDX_ERR] = 0; + } + + virtual void OnDebugEvent(DebugEvent &evt) + { + switch (evt.type) { + case EVT_HTTP_FAILURE: + counts[IDX_FAIL]++; + break; + case EVT_HTTP_OK: + counts[IDX_OK]++; + break; + case EVT_HTTP_ERROR: + counts[IDX_ERR]++; + break; + case EVT_HTTP_STATE: + if (evt.param1 == 206) { + counts[IDX_PART]++; + } + break; + default: + break; + }; + }; + + unsigned total() + { + return counts[IDX_OK] + counts[IDX_FAIL] + counts[IDX_PART] + counts[IDX_ERR]; + } + + void expect(unsigned ok, unsigned failed, unsigned partial, unsigned error) + { + EXPECT_GE(ok, counts[IDX_OK]); + EXPECT_EQ(failed, counts[IDX_FAIL]); + EXPECT_EQ(partial, counts[IDX_PART]); + EXPECT_EQ(error, counts[IDX_ERR]); + } +}; + +class AISendTests : public ::testing::Test, + public HttpServer::Callback +{ + protected: + std::mutex mtx_requests; + std::vector receivedRequests; + std::string serverAddress; + HttpServer server; + + ILogger* logger; + + std::atomic isSetup; + std::atomic isRunning; + + std::condition_variable cv_gotEvents; + std::mutex cv_m; + + public: + AISendTests() : + isSetup(false), + isRunning(false){}; + + virtual void SetUp() override + { + if (isSetup.exchange(true)) + { + return; + } + int port = server.addListeningPort(HTTP_PORT); + std::ostringstream os; + os << "localhost:" << port; + serverAddress = "http://" + os.str() + "/v2/track"; + server.setServerName(os.str()); + server.addHandler("/v2/track", *this); + server.addHandler("/", *this); + server.setKeepalive(false); // This test doesn't work well with keep-alive enabled + server.start(); + isRunning = true; + } + + virtual void TearDown() override + { + if (!isSetup.exchange(false)) + return; + server.stop(); + isRunning = false; + } + + virtual void CleanStorage() + { + std::string fileName = MAT::GetTempDirectory(); + fileName += PATH_SEPARATOR_CHAR; + fileName += TEST_STORAGE_FILENAME; + std::remove(fileName.c_str()); + } + + virtual void Initialize(DebugEventListener& debugListener, std::string const& path) + { + receivedRequests.clear(); + auto configuration = LogManager::GetLogConfiguration(); + configuration[CFG_INT_SDK_MODE] = SdkModeTypes_AI; + configuration[CFG_STR_COLLECTOR_URL] = (serverAddress + path).c_str(); + configuration[CFG_MAP_METASTATS_CONFIG][CFG_INT_METASTATS_INTERVAL] = 0; + configuration[CFG_MAP_HTTP][CFG_BOOL_HTTP_COMPRESSION] = false; // disable compression for now + + configuration[CFG_INT_TRACE_LEVEL_MASK] = 0xFFFFFFFF; +#ifdef NDEBUG + configuration[CFG_INT_TRACE_LEVEL_MIN] = ACTTraceLevel_Warn; +#else + configuration[CFG_INT_TRACE_LEVEL_MIN] = ACTTraceLevel_Trace; +#endif + + configuration[CFG_INT_RAM_QUEUE_SIZE] = 4096 * 20; + configuration[CFG_STR_CACHE_FILE_PATH] = TEST_STORAGE_FILENAME; + configuration[CFG_INT_MAX_TEARDOWN_TIME] = 2; // 2 seconds wait on shutdown + + configuration["name"] = __FILE__; + configuration["version"] = "1.0.0"; + configuration["config"] = {{"host", __FILE__}}; // Host instance + + LogManager::Initialize(TEST_TOKEN, configuration); + LogManager::SetLevelFilter(DIAG_LEVEL_DEFAULT, {DIAG_LEVEL_DEFAULT_MIN, DIAG_LEVEL_DEFAULT_MAX}); + LogManager::ResumeTransmission(); + + LogManager::AddEventListener(DebugEventType::EVT_HTTP_OK, debugListener); + LogManager::AddEventListener(DebugEventType::EVT_HTTP_ERROR, debugListener); + LogManager::AddEventListener(DebugEventType::EVT_HTTP_FAILURE, debugListener); + LogManager::AddEventListener(DebugEventType::EVT_HTTP_STATE, debugListener); + + logger = LogManager::GetLogger(TEST_TOKEN); + } + + virtual void FlushAndTeardown(DebugEventListener& debugListener) + { + LogManager::RemoveEventListener(DebugEventType::EVT_HTTP_OK, debugListener); + LogManager::RemoveEventListener(DebugEventType::EVT_HTTP_ERROR, debugListener); + LogManager::RemoveEventListener(DebugEventType::EVT_HTTP_FAILURE, debugListener); + LogManager::RemoveEventListener(DebugEventType::EVT_HTTP_STATE, debugListener); + + LogManager::FlushAndTeardown(); + } + + virtual int onHttpRequest(HttpServer::Request const& request, HttpServer::Response& response) override + { + { + LOCKGUARD(mtx_requests); + receivedRequests.push_back(request); + } + + if (request.uri.compare("/v2/track/400/") == 0) + { + return 400; + } + + if (request.uri.compare("/v2/track/500/") == 0) + { + return 500; + } + + if (request.uri.compare("/v2/track/206/") == 0) + { + nlohmann::json content = { + {"itemsReceived", 2}, + {"itemsAccepted", 1}, + {"errors", nlohmann::json::array() } + }; + response.headers["Content-Type"] = "application/json"; + response.content = content.dump(); + return 206; + } + + nlohmann::json content = { + { "itemsReceived" , 1 }, + { "itemsAccepted" , 1 } + }; + response.headers["Content-Type"] = "application/json"; + response.content = content.dump(); + + return 200; + } + + bool waitForRequests(unsigned timeOutSec, unsigned expected_count = 1) + { + std::unique_lock lk(cv_m); + if (cv_gotEvents.wait_for(lk, std::chrono::milliseconds(1000 * timeOutSec), [&] { return receivedRequests.size() >= expected_count; })) + { + return true; + } + return false; + } + + void waitForEvents(unsigned timeOutSec, unsigned expectedRequests) + { + unsigned receivedEvents = 0; + unsigned timeoutMs = 1000 * timeOutSec; + auto start = PAL::getUtcSystemTimeMs(); + while (((PAL::getUtcSystemTimeMs() - start) < timeoutMs) + && (receivedEvents != expectedRequests)) + { + /* Give time for our friendly HTTP server thread to process incoming request */ + std::this_thread::yield(); + { + LOCKGUARD(mtx_requests); + if (receivedRequests.size()) + { + auto request = receivedRequests.at(0); + auto body = nlohmann::json::parse(request.content.begin(), request.content.end()); + EXPECT_TRUE(body.is_array()); + receivedEvents += body.size(); + } + } + } + ASSERT_EQ(receivedEvents, expectedRequests); + } + + void waitForResponse(unsigned timeOutSec, unsigned expectedDebugEvents, TestDebugEventListener& debugListener) + { + unsigned receivedDebugEvents = 0; + unsigned timeoutMs = 1000 * timeOutSec; + auto start = PAL::getUtcSystemTimeMs(); + while (((PAL::getUtcSystemTimeMs() - start) < timeoutMs) + && (receivedDebugEvents != expectedDebugEvents)) + { + /* Give time for our friendly HTTP server thread to process incoming request */ + std::this_thread::yield(); + { + receivedDebugEvents = debugListener.total(); + } + } + ASSERT_EQ(receivedDebugEvents, expectedDebugEvents); + } + + void validateRequest(EventProperties const& expectedEvent) + { + HttpServer::Request request; + { + LOCKGUARD(mtx_requests); + request = receivedRequests.at(0); + } + + auto body = nlohmann::json::parse(request.content.begin(), request.content.end()); + EXPECT_TRUE(body.is_array()); + nlohmann::json actualEvent = body[0]; + EXPECT_TRUE(actualEvent.is_object()); + auto dbg = actualEvent.dump(); + auto actualToken = actualEvent["iKey"].get(); + auto actualBaseType = actualEvent["data"]["baseType"].get(); + auto actualEventName = actualEvent["data"]["baseData"]["name"].get(); + nlohmann::json actualProperties = actualEvent["data"]["baseData"]["properties"]; + + EXPECT_EQ(TEST_TOKEN, actualToken); + EXPECT_EQ("EventData", actualBaseType); + EXPECT_EQ(expectedEvent.GetName(), actualEventName); + + for (auto& kv : expectedEvent.GetProperties()) + { + const auto& k = kv.first; + const auto& v = kv.second; + nlohmann::json actualProperty = actualProperties[k]; + EXPECT_TRUE(actualProperty.is_primitive()); + + switch (v.type) + { + case EventProperty::TYPE_STRING: + { + EXPECT_EQ(v.as_string, actualProperty.get()); + break; + } + case EventProperty::TYPE_INT64: + { + EXPECT_EQ(v.as_int64, actualProperty.get()); + break; + } + default: + FAIL() << "Unknown value type" << v.type; + } + } + } +}; + +TEST_F(AISendTests, sendOneEvent) +{ + TestDebugEventListener debugListener; + + CleanStorage(); + Initialize(debugListener, ""); + + EventProperties event("ai_event"); + event.SetProperty("property", "value"); + logger->LogEvent(event); + waitForEvents(5, 1); + waitForResponse(5, 1, debugListener); + FlushAndTeardown(debugListener); + EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats + validateRequest(event); + debugListener.expect(1, 0, 0, 0); +} + +TEST_F(AISendTests, sendMultipleEvent) +{ + TestDebugEventListener debugListener; + + CleanStorage(); + Initialize(debugListener, ""); + + EventProperties event1("ai_event1"); + event1.SetProperty("property", "value1"); + logger->LogEvent(event1); + EventProperties event2("ai_event2"); + event1.SetProperty("property", "value2"); + logger->LogEvent(event2); + EventProperties event3("ai_event3"); + event1.SetProperty("property", "value3"); + logger->LogEvent(event3); + + waitForEvents(5, 3); + waitForResponse(5, 1, debugListener); + FlushAndTeardown(debugListener); + + EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats + debugListener.expect(1, 0, 0, 0); +} + +TEST_F(AISendTests, receiveServerError) +{ + TestDebugEventListener debugListener; + + CleanStorage(); + Initialize(debugListener, "/500/"); + + EventProperties event("ai_event"); + event.SetProperty("property", "value"); + logger->LogEvent(event); + waitForEvents(5, 1); + waitForResponse(5, 1, debugListener); + + FlushAndTeardown(debugListener); + EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats + validateRequest(event); + debugListener.expect(0, 1, 0, 0); +} + +TEST_F(AISendTests, receivePartialSuccess) +{ + TestDebugEventListener debugListener; + + CleanStorage(); + Initialize(debugListener, "/206/"); + + EventProperties event("ai_event"); + event.SetProperty("property", "value"); + logger->LogEvent(event); + waitForEvents(5, 1); + waitForResponse(5, 1, debugListener); + + FlushAndTeardown(debugListener); + EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats + validateRequest(event); + debugListener.expect(0, 0, 1, 0); +} + +TEST_F(AISendTests, receiveServerRejected) +{ + TestDebugEventListener debugListener; + + CleanStorage(); + Initialize(debugListener, "/400/"); + + EventProperties event("ai_event"); + event.SetProperty("property", "value"); + logger->LogEvent(event); + waitForEvents(5, 1); + waitForResponse(5, 1, debugListener); + + FlushAndTeardown(debugListener); + EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats + validateRequest(event); + debugListener.expect(0, 0, 0, 1); +} + +#endif // HAVE_MAT_AI \ No newline at end of file diff --git a/tests/functests/FuncTests.vcxproj b/tests/functests/FuncTests.vcxproj index b75e8fb8..de656c4d 100644 --- a/tests/functests/FuncTests.vcxproj +++ b/tests/functests/FuncTests.vcxproj @@ -1,448 +1,450 @@ - - - - - Debug - ARM64 - - - Debug - Win32 - - - Release - ARM64 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - - {34681f0d-ce45-415d-b5f2-5c662dfe3bd5} - - - {c8f6c172-56f2-4e76-b5fa-c3b423b31be7} - - - {2ebc7b3c-2af1-442c-9285-cab39bbb8c00} - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - {FE79FB3A-B3EF-38DF-B7A4-11277DB72B39} - 10.0.17134.0 - Win32Proj - Win32 - FuncTests - true - - - - Application - false - Unicode - v141 - - - Application - false - Unicode - v141 - - - Application - false - Unicode - v141 - - - Application - false - Unicode - v141 - - - Application - false - Unicode - v141 - - - Application - false - Unicode - v141 - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - FuncTests - .exe - false - true - FuncTests - .exe - false - true - FuncTests - FuncTests - .exe - .exe - false - false - true - true - FuncTests - FuncTests - .exe - .exe - false - false - true - true - - - $(LibraryPath) - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(IncludePath) - $(VC_IncludePath);$(WindowsSDK_IncludePath);$(MSBuild_ExecutablePath);$(VC_LibraryPath_x86);$(VC_LibraryPath_x64); - - - - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - EnableFastChecks - CompileAsCpp - ProgramDatabase - Sync - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - true - Level4 - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;_DEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - true - Guard - 4244 - $(OutDir)$(TargetName).pdb - - - WIN32;_WINDOWS;_DEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - - - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - Console - - - false - false - true - - - true - - - - - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(IntDir) - CompileAsCpp - Sync - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - true - Level4 - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - ProgramDatabase - true - 4244 - $(OutDir)$(TargetName).pdb - - - WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - - - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - No - %(IgnoreSpecificDefaultLibraries) - Console - - - false - - - true - - - - - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - CompileAsCpp - Sync - OnlyExplicitInline - Disabled - NotUsing - MultiThreadedDebugDLL - true - Level4 - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - ProgramDatabase - true - Guard - EnableFastChecks - 4244 - $(OutDir)$(TargetName).pdb - - - WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - - - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X64 %(AdditionalOptions) - crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - Console - - - false - false - true - - - true - - - - - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - CompileAsCpp - Sync - OnlyExplicitInline - Disabled - NotUsing - MultiThreadedDebugDLL - true - Level4 - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - ProgramDatabase - true - Guard - EnableFastChecks - 4244 - $(OutDir)$(TargetName).pdb - - - WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - - - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:ARM64 %(AdditionalOptions) - crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - Console - - - false - false - true - - - true - - - - - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(IntDir) - CompileAsCpp - ProgramDatabase - Sync - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - true - Level4 - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - true - 4244 - $(OutDir)$(TargetName).pdb - - - WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - - - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X64 %(AdditionalOptions) - crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - Debug - %(IgnoreSpecificDefaultLibraries) - Console - - - false - - - true - - - - - $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(IntDir) - CompileAsCpp - ProgramDatabase - Sync - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - true - Level4 - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - true - 4244 - $(OutDir)$(TargetName).pdb - - - WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - - - $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:ARM64 %(AdditionalOptions) - crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) - Debug - %(IgnoreSpecificDefaultLibraries) - Console - - - false - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + ARM64 + + + Debug + Win32 + + + Release + ARM64 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + {34681f0d-ce45-415d-b5f2-5c662dfe3bd5} + + + {c8f6c172-56f2-4e76-b5fa-c3b423b31be7} + + + {2ebc7b3c-2af1-442c-9285-cab39bbb8c00} + + + {8fd826f8-3739-44e6-8cc8-997122e53b8d} + + + + {FE79FB3A-B3EF-38DF-B7A4-11277DB72B39} + 10.0.17134.0 + Win32Proj + Win32 + FuncTests + true + + + + Application + false + Unicode + v141 + + + Application + false + Unicode + v141 + + + Application + false + Unicode + v141 + + + Application + false + Unicode + v141 + + + Application + false + Unicode + v141 + + + Application + false + Unicode + v141 + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + FuncTests + .exe + false + true + FuncTests + .exe + false + true + FuncTests + FuncTests + .exe + .exe + false + false + true + true + FuncTests + FuncTests + .exe + .exe + false + false + true + true + + + $(LibraryPath) + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(SolutionDir)\..\lib\pal\;$(UniversalCRT_IncludePath);$(VC_IncludePath);$(IncludePath) + $(VC_IncludePath);$(WindowsSDK_IncludePath);$(MSBuild_ExecutablePath);$(VC_LibraryPath_x86);$(VC_LibraryPath_x64); + + + + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + EnableFastChecks + CompileAsCpp + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + Level4 + _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;_DEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) + $(IntDir) + true + Guard + 4244 + $(OutDir)$(TargetName).pdb + + + WIN32;_WINDOWS;_DEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + + + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + /machine:X86 %(AdditionalOptions) + crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + true + %(IgnoreSpecificDefaultLibraries) + Console + + + false + false + true + + + true + + + + + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(IntDir) + CompileAsCpp + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + Level4 + _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) + $(IntDir) + ProgramDatabase + true + 4244 + $(OutDir)$(TargetName).pdb + + + WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + + + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + /machine:X86 %(AdditionalOptions) + crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + No + %(IgnoreSpecificDefaultLibraries) + Console + + + false + + + true + + + + + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + CompileAsCpp + Sync + OnlyExplicitInline + Disabled + NotUsing + MultiThreadedDebugDLL + true + Level4 + _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) + $(IntDir) + ProgramDatabase + true + Guard + EnableFastChecks + 4244 + $(OutDir)$(TargetName).pdb + + + WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + + + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + /machine:X64 %(AdditionalOptions) + crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + true + %(IgnoreSpecificDefaultLibraries) + Console + + + false + false + true + + + true + + + + + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + CompileAsCpp + Sync + OnlyExplicitInline + Disabled + NotUsing + MultiThreadedDebugDLL + true + Level4 + _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) + $(IntDir) + ProgramDatabase + true + Guard + EnableFastChecks + 4244 + $(OutDir)$(TargetName).pdb + + + WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + + + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + /machine:ARM64 %(AdditionalOptions) + crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + true + %(IgnoreSpecificDefaultLibraries) + Console + + + false + false + true + + + true + + + + + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(IntDir) + CompileAsCpp + ProgramDatabase + Sync + OnlyExplicitInline + MaxSpeed + NotUsing + MultiThreadedDLL + true + Level4 + _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) + $(IntDir) + true + 4244 + $(OutDir)$(TargetName).pdb + + + WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + + + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + /machine:X64 %(AdditionalOptions) + crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + Debug + %(IgnoreSpecificDefaultLibraries) + Console + + + false + + + true + + + + + $(SolutionDir)..;$(SolutionDir)..\zlib;$(SolutionDir)..\sqlite;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\lib\include\public;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir)..\..\googletest\googletest\include;$(ProjectDir)..\..\googletest\googlemock\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(IntDir) + CompileAsCpp + ProgramDatabase + Sync + OnlyExplicitInline + MaxSpeed + NotUsing + MultiThreadedDLL + true + Level4 + _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING;ZLIB_WINAPI;WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) + $(IntDir) + true + 4244 + $(OutDir)$(TargetName).pdb + + + WIN32;_WINDOWS;NDEBUG;MATSDK_PAL_WIN32=1;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + + + $(ProjectDir)..\..\lib\bond\generated;$(ProjectDir)..\..\lib\http;$(ProjectDir)..\..\lib\api;$(ProjectDir)..\..\lib\backoff;$(ProjectDir)..\..\lib\callbacks;$(ProjectDir)..\..\lib\config;$(ProjectDir)..\..\lib\compression;$(ProjectDir)..\..\lib\decorators;$(ProjectDir)..\..\lib\offline;$(ProjectDir)..\..\lib\packager;$(ProjectDir)..\..\lib\pal;$(ProjectDir)..\..\lib\stats;$(ProjectDir)..\..\lib\system;$(ProjectDir)..\..\lib\tpm;$(ProjectDir)..\..\lib\utils;$(ProjectDir)..\..\lib\include\mat;$(ProjectDir)..\..\lib\include;$(ProjectDir)..\..\lib\bond;$(ProjectDir)..\..\bondlite\include;$(ProjectDir)..\.;$(ProjectDir)..\..\lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + /machine:ARM64 %(AdditionalOptions) + crypt32.lib;pdh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;version.lib;rpcrt4.lib;wininet.lib;iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + Debug + %(IgnoreSpecificDefaultLibraries) + Console + + + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/functests/FuncTests.vcxproj.filters b/tests/functests/FuncTests.vcxproj.filters index e1e2bb09..eedf3eab 100644 --- a/tests/functests/FuncTests.vcxproj.filters +++ b/tests/functests/FuncTests.vcxproj.filters @@ -15,6 +15,7 @@ + diff --git a/tools/decoder/Decoder.cs b/tools/decoder/Decoder.cs index 562a4124..31ad6e14 100644 --- a/tools/decoder/Decoder.cs +++ b/tools/decoder/Decoder.cs @@ -296,7 +296,7 @@ namespace CommonSchema } else if (this.ContentEncoding == "deflate") { - data = Deflate(data); + data = Inflate(data); } else { @@ -374,7 +374,7 @@ namespace CommonSchema /// /// The compressed data /// The gunzip'd data - private static byte[] Gunzip(byte[] data) + public static byte[] Gunzip(byte[] data) { if (data is null) { @@ -394,7 +394,7 @@ namespace CommonSchema /// /// The compressed data /// The delated data - private static byte[] Deflate(byte[] data) + public static byte[] Inflate(byte[] data) { if (data is null) { diff --git a/tools/server/Startup.cs b/tools/server/Startup.cs index 5859d8d8..439691a0 100644 --- a/tools/server/Startup.cs +++ b/tools/server/Startup.cs @@ -76,6 +76,32 @@ namespace CommonSchema requestLogger.LogInformation(result); await context.Response.WriteAsync(result); } else + /* Azure Monitor / Application Insights -compatible server */ + if (path.StartsWith("/v2/track")) + { + int length = Int32.Parse(context.Request.Headers["Content-Length"]); + BinaryReader reader = new BinaryReader(context.Request.Body); + + // Read body fully before decoding it + byte[] buffer = reader.ReadBytes(length); + + if (context.Request.Headers["Content-Encoding"] == "gzip") + { + buffer = Decoder.Gunzip(buffer); + } else + if (context.Request.Headers["Content-Encoding"] == "deflate") + { + buffer = Decoder.Inflate(buffer); + } + + string result = System.Text.Encoding.UTF8.GetString(buffer); + + // Echo the body converted to JSON array + context.Response.StatusCode = 200; + requestLogger.LogInformation(result); + await context.Response.WriteAsync(result); + } + else if (path.StartsWith("/admin/stop")) { // Stop web-server diff --git a/tools/tools.sln b/tools/tools.sln index e9898f54..740f7c4f 100644 --- a/tools/tools.sln +++ b/tools/tools.sln @@ -1,41 +1,42 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30204.135 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OneDSInspector", "fiddler\OneDSInspector\OneDSInspector.csproj", "{B1916B1C-9108-4965-8D22-AD840CF2C059}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "server", "server\server.csproj", "{7627E313-4B14-43E6-8ED7-0880C3657084}" -EndProject -Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "decoder", "decoder\decoder.shproj", "{6A206BE3-9975-4952-8E1D-35BC2F47431C}" -EndProject -Global - GlobalSection(SharedMSBuildProjectFiles) = preSolution - decoder\decoder.projitems*{7627e313-4b14-43e6-8ed7-0880c3657084}*SharedItemsImports = 5 - decoder\decoder.projitems*{b1916b1c-9108-4965-8d22-ad840cf2c059}*SharedItemsImports = 4 - EndGlobalSection - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B1916B1C-9108-4965-8D22-AD840CF2C059}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B1916B1C-9108-4965-8D22-AD840CF2C059}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B1916B1C-9108-4965-8D22-AD840CF2C059}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B1916B1C-9108-4965-8D22-AD840CF2C059}.Release|Any CPU.Build.0 = Release|Any CPU - {7627E313-4B14-43E6-8ED7-0880C3657084}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7627E313-4B14-43E6-8ED7-0880C3657084}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7627E313-4B14-43E6-8ED7-0880C3657084}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7627E313-4B14-43E6-8ED7-0880C3657084}.Release|Any CPU.Build.0 = Release|Any CPU - {6A206BE3-9975-4952-8E1D-35BC2F47431C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6A206BE3-9975-4952-8E1D-35BC2F47431C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6A206BE3-9975-4952-8E1D-35BC2F47431C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6A206BE3-9975-4952-8E1D-35BC2F47431C}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {370C5DF1-DBF0-4505-837E-BDA1ED1D994F} - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30204.135 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OneDSInspector", "fiddler\OneDSInspector\OneDSInspector.csproj", "{B1916B1C-9108-4965-8D22-AD840CF2C059}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "server", "server\server.csproj", "{7627E313-4B14-43E6-8ED7-0880C3657084}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "decoder", "decoder\decoder.shproj", "{6A206BE3-9975-4952-8E1D-35BC2F47431C}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + decoder\decoder.projitems*{6a206be3-9975-4952-8e1d-35bc2f47431c}*SharedItemsImports = 13 + decoder\decoder.projitems*{7627e313-4b14-43e6-8ed7-0880c3657084}*SharedItemsImports = 5 + decoder\decoder.projitems*{b1916b1c-9108-4965-8d22-ad840cf2c059}*SharedItemsImports = 4 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B1916B1C-9108-4965-8D22-AD840CF2C059}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B1916B1C-9108-4965-8D22-AD840CF2C059}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B1916B1C-9108-4965-8D22-AD840CF2C059}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B1916B1C-9108-4965-8D22-AD840CF2C059}.Release|Any CPU.Build.0 = Release|Any CPU + {7627E313-4B14-43E6-8ED7-0880C3657084}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7627E313-4B14-43E6-8ED7-0880C3657084}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7627E313-4B14-43E6-8ED7-0880C3657084}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7627E313-4B14-43E6-8ED7-0880C3657084}.Release|Any CPU.Build.0 = Release|Any CPU + {6A206BE3-9975-4952-8E1D-35BC2F47431C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6A206BE3-9975-4952-8E1D-35BC2F47431C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6A206BE3-9975-4952-8E1D-35BC2F47431C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6A206BE3-9975-4952-8E1D-35BC2F47431C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {370C5DF1-DBF0-4505-837E-BDA1ED1D994F} + EndGlobalSection +EndGlobal From 08a88e2226e65ec07e36e4ffbaee9031ce928e9a Mon Sep 17 00:00:00 2001 From: Eduardo Camacho Camacho Date: Wed, 26 Aug 2020 18:37:07 -0700 Subject: [PATCH 02/19] Fallback to NSProcessInfo to obtain OSVersion for Mac on 10.10 --- lib/CMakeLists.txt | 2 +- ...nfo_utils_mac.cpp => sysinfo_utils_mac.mm} | 21 ++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) rename lib/pal/posix/{sysinfo_utils_mac.cpp => sysinfo_utils_mac.mm} (67%) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index e3206ae6..b9bf1501 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -81,7 +81,7 @@ if(PAL_IMPLEMENTATION STREQUAL "CPP11") ) else() list(APPEND SRCS - pal/posix/sysinfo_utils_mac.cpp + pal/posix/sysinfo_utils_mac.mm ) endif() endif() diff --git a/lib/pal/posix/sysinfo_utils_mac.cpp b/lib/pal/posix/sysinfo_utils_mac.mm similarity index 67% rename from lib/pal/posix/sysinfo_utils_mac.cpp rename to lib/pal/posix/sysinfo_utils_mac.mm index b3655d68..03da79d3 100644 --- a/lib/pal/posix/sysinfo_utils_mac.cpp +++ b/lib/pal/posix/sysinfo_utils_mac.mm @@ -5,6 +5,7 @@ #include #include #include +#import #define EMPTY_GUID "00000000-0000-0000-0000-000000000000" @@ -51,7 +52,25 @@ std::string GetDeviceOsVersion() { // Previous implementation pointed to "ProductVersion" on SystemVersion.plist, returning version string in format .. // kern.osproductversion returns string in this same format - return get_sysctl_value("kern.osproductversion"); + std::string version = get_sysctl_value("kern.osproductversion"); + if (version.empty()) + { + // kern.osproductversion is not available on 10.10, build it from NSProcessInfo + @autoreleasepool + { + NSOperatingSystemVersion versionOs = [[NSProcessInfo processInfo] operatingSystemVersion]; + if (versionOs.patchVersion != 0) + { + version.assign([[NSString stringWithFormat:@"%ld.%ld.%ld", versionOs.majorVersion, versionOs.minorVersion, versionOs.patchVersion] UTF8String]); + } + else + { + version.assign([[NSString stringWithFormat:@"%ld.%ld", versionOs.majorVersion, versionOs.minorVersion] UTF8String]); + } + } + } + + return version; } std::string GetDeviceOsRelease() From 49f0c679035496c02459eda8b49e522f0da54de6 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Thu, 27 Aug 2020 09:48:07 +0300 Subject: [PATCH 03/19] Update submodule --- lib/modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/modules b/lib/modules index ee555f0d..305b8ea7 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit ee555f0db2736acc20ff8453aa5e2ee0c2691823 +Subproject commit 305b8ea733cdf0f75dbf619a9f55c1d842d90f20 From e00d01e9939e4a1d735499838f2e3fbf12a54a26 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Thu, 27 Aug 2020 09:57:44 +0300 Subject: [PATCH 04/19] Update submodule --- lib/modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/modules b/lib/modules index e637a061..305b8ea7 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit e637a061359e0d623ebee03324f9adc4f5bb2f39 +Subproject commit 305b8ea733cdf0f75dbf619a9f55c1d842d90f20 From 6f08cf5ef465aa72213c3cb371690fed08420672 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Thu, 27 Aug 2020 14:38:46 +0300 Subject: [PATCH 05/19] Fix project reference --- Solutions/MSTelemetrySDK.sln | 1 + tests/unittests/UnitTests.vcxproj | 1 + 2 files changed, 2 insertions(+) diff --git a/Solutions/MSTelemetrySDK.sln b/Solutions/MSTelemetrySDK.sln index f9e5ba1b..9e898f15 100644 --- a/Solutions/MSTelemetrySDK.sln +++ b/Solutions/MSTelemetrySDK.sln @@ -177,6 +177,7 @@ Global ..\lib\pal\desktop\desktop.vcxitems*{216a8e97-21f7-4bef-9e52-7f772c177c33}*SharedItemsImports = 4 Clienttelemetry\Clienttelemetry.vcxitems*{216a8e97-21f7-4bef-9e52-7f772c177c33}*SharedItemsImports = 4 ..\lib\modules\exp\exp.vcxitems*{2bfafe9a-45b0-4c02-841e-03e47fd2e340}*SharedItemsImports = 9 + ..\lib\modules\azmon\azmon.vcxitems*{434c594f-cde0-3690-ac0a-9ed854b74092}*SharedItemsImports = 4 ..\lib\modules\dataviewer\dataviewer.vcxitems*{434c594f-cde0-3690-ac0a-9ed854b74092}*SharedItemsImports = 4 ..\lib\modules\filter\filter.vcxitems*{434c594f-cde0-3690-ac0a-9ed854b74092}*SharedItemsImports = 4 ..\lib\pal\desktop\desktop.vcxitems*{434c594f-cde0-3690-ac0a-9ed854b74092}*SharedItemsImports = 4 diff --git a/tests/unittests/UnitTests.vcxproj b/tests/unittests/UnitTests.vcxproj index 4488ce1c..e112c577 100644 --- a/tests/unittests/UnitTests.vcxproj +++ b/tests/unittests/UnitTests.vcxproj @@ -93,6 +93,7 @@ + From 69b7f62a12f457dc116ec8ed1573d5584a3c5c35 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Thu, 27 Aug 2020 14:58:09 +0300 Subject: [PATCH 06/19] Checkout submodules --- .github/workflows/test-android-mac.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test-android-mac.yml b/.github/workflows/test-android-mac.yml index 695b4443..cf5c195c 100644 --- a/.github/workflows/test-android-mac.yml +++ b/.github/workflows/test-android-mac.yml @@ -19,6 +19,9 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 + with: + submodules: 'true' + token: ${{ secrets.GIT_PULL_TOKEN }} - name: Build and Test uses: reactivecircus/android-emulator-runner@v2 with: From 8148da2fbe83a6b07b06369ab51c0da24edcd0b4 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Thu, 27 Aug 2020 15:56:23 +0300 Subject: [PATCH 07/19] Fix warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data --- lib/modules | 2 +- tests/functests/AISendTests.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/modules b/lib/modules index 305b8ea7..8ac4c609 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit 305b8ea733cdf0f75dbf619a9f55c1d842d90f20 +Subproject commit 8ac4c609a36705c0e95e1b8b4cf453562dba9ddb diff --git a/tests/functests/AISendTests.cpp b/tests/functests/AISendTests.cpp index 336b5c43..d3f98293 100644 --- a/tests/functests/AISendTests.cpp +++ b/tests/functests/AISendTests.cpp @@ -242,7 +242,7 @@ class AISendTests : public ::testing::Test, void waitForEvents(unsigned timeOutSec, unsigned expectedRequests) { - unsigned receivedEvents = 0; + size_t receivedEvents = 0; unsigned timeoutMs = 1000 * timeOutSec; auto start = PAL::getUtcSystemTimeMs(); while (((PAL::getUtcSystemTimeMs() - start) < timeoutMs) From 654d7541fd41dc5f57a4cb6585ddfe8584864977 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Thu, 27 Aug 2020 16:19:02 +0300 Subject: [PATCH 08/19] Checkout submodules --- .github/workflows/build-android.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index 6e132c4c..7440e861 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -17,6 +17,9 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 + with: + submodules: 'true' + token: ${{ secrets.GIT_PULL_TOKEN }} - name: Chocolatey run: | $Env:ANDROID_SDK_ROOT = "C:\Android\android-sdk" From edf7f16f28d09dc6865937c56a74ec88ac78dd43 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Thu, 27 Aug 2020 21:52:27 +0300 Subject: [PATCH 09/19] Update submodule --- lib/modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/modules b/lib/modules index 305b8ea7..d2f10591 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit 305b8ea733cdf0f75dbf619a9f55c1d842d90f20 +Subproject commit d2f10591cffafde0fda59c83e2563a05180129ef From fb92456ea247f15c62e03298d7c88efe9aeaceaf Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Thu, 27 Aug 2020 21:57:10 +0300 Subject: [PATCH 10/19] Update submodule --- lib/modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/modules b/lib/modules index 8ac4c609..d2f10591 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit 8ac4c609a36705c0e95e1b8b4cf453562dba9ddb +Subproject commit d2f10591cffafde0fda59c83e2563a05180129ef From e558587dd6b58aaf778ea93fd308a83d28333fd7 Mon Sep 17 00:00:00 2001 From: kindbe Date: Fri, 28 Aug 2020 08:32:45 -0700 Subject: [PATCH 11/19] Add ext.device.orgId to the list of common fields settable by semantic context (#601) Co-authored-by: Max Golovanov --- lib/api/ContextFieldsProvider.cpp | 6 ++++++ lib/include/public/CommonFields.h | 1 + lib/include/public/ISemanticContext.hpp | 6 ++++++ tests/unittests/ContextFieldsProviderTests.cpp | 2 ++ 4 files changed, 15 insertions(+) diff --git a/lib/api/ContextFieldsProvider.cpp b/lib/api/ContextFieldsProvider.cpp index 8589cf39..5d12663a 100644 --- a/lib/api/ContextFieldsProvider.cpp +++ b/lib/api/ContextFieldsProvider.cpp @@ -217,6 +217,12 @@ namespace MAT_NS_BEGIN record.extDevice[0].localId = temp; } + iter = m_commonContextFields.find(COMMONFIELDS_DEVICE_ORGID); + if (iter != m_commonContextFields.end()) + { + record.extDevice[0].orgId = iter->second.as_string; + } + iter = m_commonContextFields.find(COMMONFIELDS_DEVICE_MAKE); if (iter != m_commonContextFields.end()) { diff --git a/lib/include/public/CommonFields.h b/lib/include/public/CommonFields.h index 3d6c7d4d..d4a6f6e2 100644 --- a/lib/include/public/CommonFields.h +++ b/lib/include/public/CommonFields.h @@ -33,6 +33,7 @@ #define COMMONFIELDS_DEVICE_MAKE "DeviceInfo.Make" #define COMMONFIELDS_DEVICE_MODEL "DeviceInfo.Model" #define COMMONFIELDS_DEVICE_CLASS "DeviceInfo.Class" +#define COMMONFIELDS_DEVICE_ORGID "DeviceInfo.OrgId" #define COMMONFIELDS_NETWORK_PROVIDER "DeviceInfo.NetworkProvider" #define COMMONFIELDS_NETWORK_TYPE "DeviceInfo.NetworkType" diff --git a/lib/include/public/ISemanticContext.hpp b/lib/include/public/ISemanticContext.hpp index 6f04f176..f85f2e14 100644 --- a/lib/include/public/ISemanticContext.hpp +++ b/lib/include/public/ISemanticContext.hpp @@ -122,6 +122,12 @@ namespace MAT_NS_BEGIN /// Device class. DECLARE_COMMONFIELD(DeviceClass, COMMONFIELDS_DEVICE_CLASS); + /// + /// Set the device orgId context information of telemetry event. + /// + /// Device orgId + DECLARE_COMMONFIELD(DeviceOrgId, COMMONFIELDS_DEVICE_ORGID); + /// /// Set the network cost context information of telemetry event. /// diff --git a/tests/unittests/ContextFieldsProviderTests.cpp b/tests/unittests/ContextFieldsProviderTests.cpp index 4079308b..e31587e0 100644 --- a/tests/unittests/ContextFieldsProviderTests.cpp +++ b/tests/unittests/ContextFieldsProviderTests.cpp @@ -33,6 +33,7 @@ TEST(ContextFieldsProviderTests, SetProperties) ctx.SetDeviceId("deviceId"); ctx.SetDeviceMake("deviceMake"); ctx.SetDeviceModel("deviceModel"); + ctx.SetDeviceOrgId("deviceOrgId"); ctx.SetNetworkCost(NetworkCost_Unmetered); ctx.SetNetworkProvider("networkProvider"); @@ -96,6 +97,7 @@ TEST(ContextFieldsProviderTests, SetProperties) //EXPECT_THAT(record1.data[0].properties["AppInfo.Language"].stringValue, Eq("appLanguage")); EXPECT_THAT(record1.extDevice[0].localId, Eq("c:deviceId")); + EXPECT_THAT(record1.extDevice[0].orgId, Eq("deviceOrgId")); //EXPECT_THAT(record1.extDevice[0]..properties["DeviceInfo.Make"].stringValue, Eq("deviceMake")); //EXPECT_THAT(record1.data[0].properties["DeviceInfo.Model"].stringValue, Eq("deviceModel")); From 70eeb6a9ead997c7d674fe7f5bd5752acca744d3 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Sun, 30 Aug 2020 13:08:08 +0300 Subject: [PATCH 12/19] Rename TestDebugEventListener --- lib/modules | 2 +- tests/functests/AISendTests.cpp | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/modules b/lib/modules index d2f10591..ec8510fd 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit d2f10591cffafde0fda59c83e2563a05180129ef +Subproject commit ec8510fd1646e5e45779b398b6ab4f0daee8733e diff --git a/tests/functests/AISendTests.cpp b/tests/functests/AISendTests.cpp index d3f98293..10f86ddb 100644 --- a/tests/functests/AISendTests.cpp +++ b/tests/functests/AISendTests.cpp @@ -34,7 +34,7 @@ using namespace std; #define HTTP_PORT 19001 char const* const TEST_STORAGE_FILENAME = "AISendTests.db"; -class TestDebugEventListener : public DebugEventListener +class AITestDebugEventListener : public DebugEventListener { const size_t IDX_OK = 0; const size_t IDX_FAIL = 1; @@ -45,7 +45,7 @@ class TestDebugEventListener : public DebugEventListener public: - TestDebugEventListener() + AITestDebugEventListener() { counts[IDX_OK] = 0; counts[IDX_FAIL] = 0; @@ -264,7 +264,7 @@ class AISendTests : public ::testing::Test, ASSERT_EQ(receivedEvents, expectedRequests); } - void waitForResponse(unsigned timeOutSec, unsigned expectedDebugEvents, TestDebugEventListener& debugListener) + void waitForResponse(unsigned timeOutSec, unsigned expectedDebugEvents, AITestDebugEventListener& debugListener) { unsigned receivedDebugEvents = 0; unsigned timeoutMs = 1000 * timeOutSec; @@ -331,7 +331,7 @@ class AISendTests : public ::testing::Test, TEST_F(AISendTests, sendOneEvent) { - TestDebugEventListener debugListener; + AITestDebugEventListener debugListener; CleanStorage(); Initialize(debugListener, ""); @@ -349,7 +349,7 @@ TEST_F(AISendTests, sendOneEvent) TEST_F(AISendTests, sendMultipleEvent) { - TestDebugEventListener debugListener; + AITestDebugEventListener debugListener; CleanStorage(); Initialize(debugListener, ""); @@ -374,7 +374,7 @@ TEST_F(AISendTests, sendMultipleEvent) TEST_F(AISendTests, receiveServerError) { - TestDebugEventListener debugListener; + AITestDebugEventListener debugListener; CleanStorage(); Initialize(debugListener, "/500/"); @@ -393,7 +393,7 @@ TEST_F(AISendTests, receiveServerError) TEST_F(AISendTests, receivePartialSuccess) { - TestDebugEventListener debugListener; + AITestDebugEventListener debugListener; CleanStorage(); Initialize(debugListener, "/206/"); @@ -412,7 +412,7 @@ TEST_F(AISendTests, receivePartialSuccess) TEST_F(AISendTests, receiveServerRejected) { - TestDebugEventListener debugListener; + AITestDebugEventListener debugListener; CleanStorage(); Initialize(debugListener, "/400/"); From a3c549e3eb21b4236e2569f2ea72429ed1163e77 Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Sun, 30 Aug 2020 18:31:31 +0300 Subject: [PATCH 13/19] Shared configuration affects test runs --- tests/functests/AISendTests.cpp | 18 ++++-------------- tests/functests/APITest.cpp | 1 + 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/tests/functests/AISendTests.cpp b/tests/functests/AISendTests.cpp index 10f86ddb..4935e243 100644 --- a/tests/functests/AISendTests.cpp +++ b/tests/functests/AISendTests.cpp @@ -1,37 +1,24 @@ #include "mat/config.h" #ifdef HAVE_MAT_AI - #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers #endif - #include "common/Common.hpp" #include "common/HttpServer.hpp" #include "LogManager.hpp" -#include "common/Common.hpp" - -#include -#include -#include -#include -#include -#include -#include #include "json.hpp" using namespace testing; -using namespace MAT; -using namespace std; #undef LOCKGUARD #define LOCKGUARD(macro_mutex) std::lock_guard TOKENPASTE2(__guard_, __LINE__)(macro_mutex); // Application Insights test key #define TEST_TOKEN "12345678-1234-1234-1234-123456789abc" -#define HTTP_PORT 19001 +#define HTTP_PORT 19002 char const* const TEST_STORAGE_FILENAME = "AISendTests.db"; class AITestDebugEventListener : public DebugEventListener @@ -189,6 +176,9 @@ class AISendTests : public ::testing::Test, LogManager::RemoveEventListener(DebugEventType::EVT_HTTP_STATE, debugListener); LogManager::FlushAndTeardown(); + + auto &configuration = LogManager::GetLogConfiguration(); + configuration[CFG_INT_SDK_MODE] = SdkModeTypes_CS; } virtual int onHttpRequest(HttpServer::Request const& request, HttpServer::Response& response) override diff --git a/tests/functests/APITest.cpp b/tests/functests/APITest.cpp index 5cd1f7ad..0275d48f 100644 --- a/tests/functests/APITest.cpp +++ b/tests/functests/APITest.cpp @@ -462,6 +462,7 @@ TEST(APITest, LogManager_Initialize_DebugEventListener) configuration[CFG_INT_CACHE_FILE_SIZE] = 1024000; // 1MB configuration[CFG_INT_STORAGE_FULL_PCT] = 1; // 1% configuration[CFG_INT_STORAGE_FULL_CHECK_TIME] = 0; // 0ms + configuration[CFG_INT_RAM_QUEUE_SIZE] = 524288; // Requires default ram queue size otherwise skips events EventProperties eventToLog{ "foo1" }; eventToLog.SetLevel(DIAG_LEVEL_REQUIRED); From 2c8defea7335bd7799b043ffe7c2a3bb9646f35e Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Mon, 31 Aug 2020 10:27:00 -0700 Subject: [PATCH 14/19] Add decoder to tools --- tools/tools.sln | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/tools.sln b/tools/tools.sln index e9898f54..178a31df 100644 --- a/tools/tools.sln +++ b/tools/tools.sln @@ -11,6 +11,7 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "decoder", "decoder\decoder. EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution + decoder\decoder.projitems*{6a206be3-9975-4952-8e1d-35bc2f47431c}*SharedItemsImports = 13 decoder\decoder.projitems*{7627e313-4b14-43e6-8ed7-0880c3657084}*SharedItemsImports = 5 decoder\decoder.projitems*{b1916b1c-9108-4965-8d22-ad840cf2c059}*SharedItemsImports = 4 EndGlobalSection From 39ed16b44470af9ea4b63b3d0e7d4038705336d9 Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Mon, 31 Aug 2020 11:14:32 -0700 Subject: [PATCH 15/19] Fix for tz missing on Linux --- lib/CMakeLists.txt | 2 +- lib/modules | 2 +- lib/pal/posix/sysinfo_sources.cpp | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 9c8af8b1..93ceeedc 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -51,7 +51,7 @@ set(SRCS decorators/BaseDecorator.cpp # Support for Azure Monitor / Application Insights if(BUILD_AZMON) - include(modules/azmon/CMakeLists.txt) + include(modules/azmon/CMakeLists.txt OPTIONAL) endif() if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/modules/exp/) diff --git a/lib/modules b/lib/modules index e637a061..ec8510fd 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit e637a061359e0d623ebee03324f9adc4f5bb2f39 +Subproject commit ec8510fd1646e5e45779b398b6ab4f0daee8733e diff --git a/lib/pal/posix/sysinfo_sources.cpp b/lib/pal/posix/sysinfo_sources.cpp index e723f073..91cf2221 100644 --- a/lib/pal/posix/sysinfo_sources.cpp +++ b/lib/pal/posix/sysinfo_sources.cpp @@ -37,6 +37,13 @@ #include "EventProperty.hpp" +#if defined(__linux__) +#ifndef _GNU_SOURCE +#define _GNU_SOURCE /* for tm_gmtoff and tm_zone */ +#endif +#include +#endif + #ifdef __APPLE__ #include #include @@ -202,6 +209,18 @@ sysinfo_sources_impl::sysinfo_sources_impl() : sysinfo_sources() add("osBuild", {"/proc/version", "(.*)[\n]+"}); // add("proc_loadavg", {"/proc/loadavg", "(.*)[\n]*"}); // add("proc_uptime", {"/proc/uptime", "(.*)[\n]*"}); + + time_t t = time(NULL); + struct tm lt = { 0 }; + localtime_r(&t, <); + int hh = lt.tm_gmtoff / 3600; + int mm = (lt.tm_gmtoff / 60) % 60; + std::ostringstream oss; + oss << (hh<0)?"-":"+"; // +hh:mm or -hh:mm + oss << std::setw(2) << std::setfill('0') << std::abs(hh); + oss << std::setw(1) << ":"; + oss << std::setw(2) << std::setfill('0') << std::abs(mm); + cache["tz"] = oss.str(); #endif #if defined(__MINGW32__) || defined(__MSYS__) From 57741b3561245f296124d8664878617668551ab8 Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Mon, 31 Aug 2020 11:25:56 -0700 Subject: [PATCH 16/19] Update main.cpp Revert part of unintentional change --- examples/cpp/SampleCpp/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/cpp/SampleCpp/main.cpp b/examples/cpp/SampleCpp/main.cpp index 88bc01aa..049ba51e 100644 --- a/examples/cpp/SampleCpp/main.cpp +++ b/examples/cpp/SampleCpp/main.cpp @@ -311,8 +311,8 @@ int main() #ifdef _WIN32 // Code snippet showing how to perform MS Root certificate check for v10 end-point. // Most other end-points are Baltimore CA-rooted. But v10 is MS CA-rooted. - // config["http"]["msRootCheck"] = true; - // config[CFG_STR_COLLECTOR_URL] = "https://v10.events.data.microsoft.com/OneCollector/1.0/"; + config["http"]["msRootCheck"] = true; + config[CFG_STR_COLLECTOR_URL] = "https://v10.events.data.microsoft.com/OneCollector/1.0/"; #endif logger = LogManager::Initialize(API_KEY); From 4dfbbf3d0a597576c4f598099b9deac66e001eb5 Mon Sep 17 00:00:00 2001 From: Max Golovanov Date: Tue, 1 Sep 2020 01:40:51 -0700 Subject: [PATCH 17/19] Update sysinfo_sources.cpp Fix for -- warning: operator '?:' has lower precedence than '<<'; '<<' will be evaluated first [-Wparentheses] --- lib/pal/posix/sysinfo_sources.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pal/posix/sysinfo_sources.cpp b/lib/pal/posix/sysinfo_sources.cpp index 91cf2221..9d94e49e 100644 --- a/lib/pal/posix/sysinfo_sources.cpp +++ b/lib/pal/posix/sysinfo_sources.cpp @@ -216,7 +216,7 @@ sysinfo_sources_impl::sysinfo_sources_impl() : sysinfo_sources() int hh = lt.tm_gmtoff / 3600; int mm = (lt.tm_gmtoff / 60) % 60; std::ostringstream oss; - oss << (hh<0)?"-":"+"; // +hh:mm or -hh:mm + oss << ((hh<0)?"-":"+"); // +hh:mm or -hh:mm oss << std::setw(2) << std::setfill('0') << std::abs(hh); oss << std::setw(1) << ":"; oss << std::setw(2) << std::setfill('0') << std::abs(mm); From 2a099fc3cc029f8659f7e2193f0a77403ede603c Mon Sep 17 00:00:00 2001 From: Alexandr Gavrishev Date: Wed, 2 Sep 2020 09:22:32 +0300 Subject: [PATCH 18/19] Update to Azure Monitor: Set configuration when AITelemetrySystem created, send Content-Encoding header --- lib/modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/modules b/lib/modules index ec8510fd..a904a862 160000 --- a/lib/modules +++ b/lib/modules @@ -1 +1 @@ -Subproject commit ec8510fd1646e5e45779b398b6ab4f0daee8733e +Subproject commit a904a862ea45449fa699515439bb8b8ff2c3785f From a17fbc69ca6b271122c08eed3403abbb858232e4 Mon Sep 17 00:00:00 2001 From: Alex Gavrishev Date: Wed, 2 Sep 2020 21:31:18 +0300 Subject: [PATCH 19/19] Azure monitor: Add GZIP header option to HttpDeflateCompression (#603) --- .../maesdk/src/main/cpp/CMakeLists.txt | 2 +- lib/api/IRuntimeConfig.hpp | 6 ++ lib/compression/HttpDeflateCompression.cpp | 10 +-- lib/compression/HttpDeflateCompression.hpp | 1 + lib/config/RuntimeConfig_Default.hpp | 6 ++ tests/common/Common.cpp | 20 +++++ tests/common/Common.hpp | 2 + tests/functests/AISendTests.cpp | 89 ++++++++++++++----- .../unittests/HttpDeflateCompressionTests.cpp | 42 +++++---- 9 files changed, 130 insertions(+), 48 deletions(-) diff --git a/lib/android_build/maesdk/src/main/cpp/CMakeLists.txt b/lib/android_build/maesdk/src/main/cpp/CMakeLists.txt index be37f996..e15bde3b 100644 --- a/lib/android_build/maesdk/src/main/cpp/CMakeLists.txt +++ b/lib/android_build/maesdk/src/main/cpp/CMakeLists.txt @@ -84,7 +84,7 @@ set(SRCS # Support for Azure Monitor / Application Insights if (BUILD_AZMON) - include(${SDK_ROOT}/lib/modules/azmon/CMakeLists.txt) + include(${SDK_ROOT}/lib/modules/azmon/CMakeLists.txt OPTIONAL) endif() if(EXISTS ${SDK_ROOT}/lib/modules/dataviewer/) diff --git a/lib/api/IRuntimeConfig.hpp b/lib/api/IRuntimeConfig.hpp index c559b2d8..696cd04b 100644 --- a/lib/api/IRuntimeConfig.hpp +++ b/lib/api/IRuntimeConfig.hpp @@ -129,6 +129,12 @@ namespace MAT_NS_BEGIN /// A boolean value that indicates that either compression is enabled (true), or not (false). virtual bool IsHttpRequestCompressionEnabled() = 0; + /// + /// Returns content encoding method for http request + /// + /// A string value (deflate) or (gzip). + virtual const std::string& GetHttpRequestContentEncoding() const = 0; + /// /// Gets the minimum bandwidth necessary to start an upload. /// diff --git a/lib/compression/HttpDeflateCompression.cpp b/lib/compression/HttpDeflateCompression.cpp index 6dd2d620..158f5dca 100644 --- a/lib/compression/HttpDeflateCompression.cpp +++ b/lib/compression/HttpDeflateCompression.cpp @@ -10,10 +10,13 @@ namespace MAT_NS_BEGIN { - HttpDeflateCompression::HttpDeflateCompression(IRuntimeConfig& runtimeConfig) : m_config(runtimeConfig) { + // Plain "deflate": negative -MAX_WBITS argument which makes zlib use "raw deflate" + // without zlib header, as required by IIS. + // "gzip": Add 16 to windowBits to write a simple gzip header + m_windowBits = m_config.GetHttpRequestContentEncoding() == "gzip" ? (MAX_WBITS | 16) : -MAX_WBITS; } HttpDeflateCompression::~HttpDeflateCompression() @@ -34,10 +37,7 @@ namespace MAT_NS_BEGIN { z_stream stream; memset(&stream, 0, sizeof(stream)); - // All values are defaults as would be used by a plain deflate(), except - // for the negative -MAX_WBITS argument which makes zlib use "raw deflate" - // without zlib header, as required by IIS. - int result = deflateInit2(&stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, -MAX_WBITS, 8 /*DEF_MEM_LEVEL*/, Z_DEFAULT_STRATEGY); + int result = deflateInit2(&stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, m_windowBits, 8 /*DEF_MEM_LEVEL*/, Z_DEFAULT_STRATEGY); if (result != Z_OK) { LOG_WARN("HTTP request compressing failed, error=%u/%u (%s)", 1, result, stream.msg); compressionFailed(ctx); diff --git a/lib/compression/HttpDeflateCompression.hpp b/lib/compression/HttpDeflateCompression.hpp index 41edf39e..185a96f8 100644 --- a/lib/compression/HttpDeflateCompression.hpp +++ b/lib/compression/HttpDeflateCompression.hpp @@ -19,6 +19,7 @@ namespace MAT_NS_BEGIN { protected: IRuntimeConfig& m_config; + int m_windowBits; public: RouteSource compressionFailed; diff --git a/lib/config/RuntimeConfig_Default.hpp b/lib/config/RuntimeConfig_Default.hpp index b2319d69..6a55dad4 100644 --- a/lib/config/RuntimeConfig_Default.hpp +++ b/lib/config/RuntimeConfig_Default.hpp @@ -49,6 +49,7 @@ namespace MAT_NS_BEGIN {CFG_BOOL_HTTP_COMPRESSION, false} #endif , + {"contentEncoding", "deflate"}, /* Optional parameter to require Microsoft Root CA */ {CFG_BOOL_HTTP_MS_ROOT_CHECK, false}}}, {CFG_MAP_TPM, @@ -145,6 +146,11 @@ namespace MAT_NS_BEGIN return config[CFG_MAP_HTTP][CFG_BOOL_HTTP_COMPRESSION]; } + virtual const std::string& GetHttpRequestContentEncoding() const override + { + return config[CFG_MAP_HTTP]["contentEncoding"]; + } + virtual unsigned GetMinimumUploadBandwidthBps() override { // FIXME: [MG] - add parameter for that diff --git a/tests/common/Common.cpp b/tests/common/Common.cpp index a73d27ab..bcc930ca 100644 --- a/tests/common/Common.cpp +++ b/tests/common/Common.cpp @@ -170,5 +170,25 @@ namespace testing { return false; } + void InflateVector(std::vector &in, std::vector &out, bool isGzip) + { + z_stream zs; + memset(&zs, 0, sizeof(zs)); + // -MAX_WBITS for no header + int windowBits = isGzip ? (MAX_WBITS | 16) : -MAX_WBITS; + EXPECT_EQ(inflateInit2(&zs, windowBits), Z_OK); + zs.next_in = (Bytef *)in.data(); + zs.avail_in = (uInt)in.size(); + int ret; + char outbuffer[32768] = { 0 }; + do { + zs.next_out = reinterpret_cast(outbuffer); + zs.avail_out = sizeof(outbuffer); + ret = inflate(&zs, Z_NO_FLUSH); + out.insert(out.end(), outbuffer, outbuffer + zs.total_out); + } while (ret == Z_OK); + EXPECT_EQ(ret, Z_STREAM_END); + inflateEnd(&zs); + } } // namespace testing diff --git a/tests/common/Common.hpp b/tests/common/Common.hpp index b541fd3f..a66840cf 100644 --- a/tests/common/Common.hpp +++ b/tests/common/Common.hpp @@ -63,4 +63,6 @@ namespace testing { bool Expand(const char* source, size_t sourceLen, char** dest, size_t& destLen, bool sizeAtZeroIndex); + void InflateVector(std::vector &in, std::vector &out, bool isGzip = false); + } // namespace testing diff --git a/tests/functests/AISendTests.cpp b/tests/functests/AISendTests.cpp index 4935e243..23e4a83c 100644 --- a/tests/functests/AISendTests.cpp +++ b/tests/functests/AISendTests.cpp @@ -132,14 +132,14 @@ class AISendTests : public ::testing::Test, std::remove(fileName.c_str()); } - virtual void Initialize(DebugEventListener& debugListener, std::string const& path) + virtual void Initialize(DebugEventListener& debugListener, std::string const& path, bool compression) { receivedRequests.clear(); auto configuration = LogManager::GetLogConfiguration(); configuration[CFG_INT_SDK_MODE] = SdkModeTypes_AI; configuration[CFG_STR_COLLECTOR_URL] = (serverAddress + path).c_str(); configuration[CFG_MAP_METASTATS_CONFIG][CFG_INT_METASTATS_INTERVAL] = 0; - configuration[CFG_MAP_HTTP][CFG_BOOL_HTTP_COMPRESSION] = false; // disable compression for now + configuration[CFG_MAP_HTTP][CFG_BOOL_HTTP_COMPRESSION] = compression; configuration[CFG_INT_TRACE_LEVEL_MASK] = 0xFFFFFFFF; #ifdef NDEBUG @@ -230,7 +230,7 @@ class AISendTests : public ::testing::Test, return false; } - void waitForEvents(unsigned timeOutSec, unsigned expectedRequests) + void waitForEvents(unsigned timeOutSec, unsigned expectedRequests, bool compression) { size_t receivedEvents = 0; unsigned timeoutMs = 1000 * timeOutSec; @@ -245,7 +245,21 @@ class AISendTests : public ::testing::Test, if (receivedRequests.size()) { auto request = receivedRequests.at(0); - auto body = nlohmann::json::parse(request.content.begin(), request.content.end()); + nlohmann::json body; + auto it = request.headers.find("Content-Encoding"); + if (it != request.headers.end()) + { + EXPECT_TRUE(compression); + std::vector content(request.content.begin(), request.content.end()); + std::vector inflated; + testing::InflateVector(content, inflated, true); + body = nlohmann::json::parse(inflated.begin(), inflated.end()); + } + else + { + EXPECT_FALSE(compression); + body = nlohmann::json::parse(request.content.begin(), request.content.end()); + } EXPECT_TRUE(body.is_array()); receivedEvents += body.size(); } @@ -271,7 +285,7 @@ class AISendTests : public ::testing::Test, ASSERT_EQ(receivedDebugEvents, expectedDebugEvents); } - void validateRequest(EventProperties const& expectedEvent) + void validateRequest(EventProperties const& expectedEvent, bool compressed) { HttpServer::Request request; { @@ -279,7 +293,18 @@ class AISendTests : public ::testing::Test, request = receivedRequests.at(0); } - auto body = nlohmann::json::parse(request.content.begin(), request.content.end()); + nlohmann::json body; + if (compressed) + { + std::vector content(request.content.begin(), request.content.end()); + std::vector inflated; + testing::InflateVector(content, inflated, true); + body = nlohmann::json::parse(inflated.begin(), inflated.end()); + } + else + { + body = nlohmann::json::parse(request.content.begin(), request.content.end()); + } EXPECT_TRUE(body.is_array()); nlohmann::json actualEvent = body[0]; EXPECT_TRUE(actualEvent.is_object()); @@ -322,27 +347,29 @@ class AISendTests : public ::testing::Test, TEST_F(AISendTests, sendOneEvent) { AITestDebugEventListener debugListener; + bool compression = false; CleanStorage(); - Initialize(debugListener, ""); + Initialize(debugListener, "", compression); EventProperties event("ai_event"); event.SetProperty("property", "value"); logger->LogEvent(event); - waitForEvents(5, 1); + waitForEvents(5, 1, compression); waitForResponse(5, 1, debugListener); FlushAndTeardown(debugListener); EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats - validateRequest(event); + validateRequest(event, compression); debugListener.expect(1, 0, 0, 0); } TEST_F(AISendTests, sendMultipleEvent) { AITestDebugEventListener debugListener; + bool compression = false; CleanStorage(); - Initialize(debugListener, ""); + Initialize(debugListener, "", compression); EventProperties event1("ai_event1"); event1.SetProperty("property", "value1"); @@ -354,7 +381,7 @@ TEST_F(AISendTests, sendMultipleEvent) event1.SetProperty("property", "value3"); logger->LogEvent(event3); - waitForEvents(5, 3); + waitForEvents(5, 3, compression); waitForResponse(5, 1, debugListener); FlushAndTeardown(debugListener); @@ -365,58 +392,80 @@ TEST_F(AISendTests, sendMultipleEvent) TEST_F(AISendTests, receiveServerError) { AITestDebugEventListener debugListener; + bool compression = false; CleanStorage(); - Initialize(debugListener, "/500/"); + Initialize(debugListener, "/500/", compression); EventProperties event("ai_event"); event.SetProperty("property", "value"); logger->LogEvent(event); - waitForEvents(5, 1); + waitForEvents(5, 1, compression); waitForResponse(5, 1, debugListener); FlushAndTeardown(debugListener); EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats - validateRequest(event); + validateRequest(event, compression); debugListener.expect(0, 1, 0, 0); } TEST_F(AISendTests, receivePartialSuccess) { AITestDebugEventListener debugListener; + bool compression = false; CleanStorage(); - Initialize(debugListener, "/206/"); + Initialize(debugListener, "/206/", compression); EventProperties event("ai_event"); event.SetProperty("property", "value"); logger->LogEvent(event); - waitForEvents(5, 1); + waitForEvents(5, 1, compression); waitForResponse(5, 1, debugListener); FlushAndTeardown(debugListener); EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats - validateRequest(event); + validateRequest(event, compression); debugListener.expect(0, 0, 1, 0); } TEST_F(AISendTests, receiveServerRejected) { AITestDebugEventListener debugListener; + bool compression = false; CleanStorage(); - Initialize(debugListener, "/400/"); + Initialize(debugListener, "/400/", compression); EventProperties event("ai_event"); event.SetProperty("property", "value"); logger->LogEvent(event); - waitForEvents(5, 1); + waitForEvents(5, 1, compression); waitForResponse(5, 1, debugListener); FlushAndTeardown(debugListener); EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats - validateRequest(event); + validateRequest(event, compression); debugListener.expect(0, 0, 0, 1); } +TEST_F(AISendTests, sendCompressedEvent) +{ + AITestDebugEventListener debugListener; + bool compression = true; + + CleanStorage(); + Initialize(debugListener, "", compression); + + EventProperties event("ai_event"); + event.SetProperty("property", "value"); + logger->LogEvent(event); + waitForEvents(5, 1, compression); + waitForResponse(5, 1, debugListener); + FlushAndTeardown(debugListener); + EXPECT_GE(receivedRequests.size(), (size_t)1); // at least 1 HTTP request with customer payload and stats + validateRequest(event, compression); + debugListener.expect(1, 0, 0, 0); +} + #endif // HAVE_MAT_AI \ No newline at end of file diff --git a/tests/unittests/HttpDeflateCompressionTests.cpp b/tests/unittests/HttpDeflateCompressionTests.cpp index e8777eb6..f379f81a 100644 --- a/tests/unittests/HttpDeflateCompressionTests.cpp +++ b/tests/unittests/HttpDeflateCompressionTests.cpp @@ -24,27 +24,6 @@ namespace testing { } - void InflateVector(std::vector &in, std::vector &out) - { - z_stream zs; - memset(&zs, 0, sizeof(zs)); - // [MG]: must call inflateInit2 with -9 because otherwise - // it'd be searching for non-existing gzip header... - EXPECT_EQ(inflateInit2(&zs, -9), Z_OK); - zs.next_in = (Bytef *)in.data(); - zs.avail_in = (uInt)in.size(); - int ret; - char outbuffer[32768] = { 0 }; - do { - zs.next_out = reinterpret_cast(outbuffer); - zs.avail_out = sizeof(outbuffer); - ret = inflate(&zs, Z_NO_FLUSH); - out.insert(out.end(), outbuffer, outbuffer + zs.total_out); - } while (ret == Z_OK); - EXPECT_EQ(ret, Z_STREAM_END); - inflateEnd(&zs); - } - } class HttpDeflateCompressionTests : public StrictMock { @@ -172,4 +151,23 @@ TEST_F(HttpDeflateCompressionTests, HasReasonableCompressionRatio) EXPECT_THAT(event->body, SizeIs(Lt(size * 70 / 100))); EXPECT_THAT(event->compressed, true); } -#pragma warning(pop) \ No newline at end of file +#pragma warning(pop) + +TEST_F(HttpDeflateCompressionTests, CompressesGzipCorrectly) +{ + config[CFG_MAP_HTTP][CFG_BOOL_HTTP_COMPRESSION] = true; + config[CFG_MAP_HTTP]["contentEncoding"] = "gzip"; + EventsUploadContextPtr event = std::make_shared(); + EXPECT_THAT(event->compressed, false); + event->body = testPayload; + + std::unique_ptr gzipCompression = std::make_unique(config); + gzipCompression->compress(event); + + std::vector inflated; + testing::InflateVector(event->body, inflated, true); + + EXPECT_THAT(inflated, Eq(testPayload)); + EXPECT_THAT(event->compressed, true); + config[CFG_MAP_HTTP]["contentEncoding"] = "deflate"; +} \ No newline at end of file