DB logger sample (#4759)

* sample(DBLogger): New sample to demonstrate DB logging to a file. (#4750)

* sample(DBLogger): Create messages via SQL logger in a thread (#4750)

* sample(DBLogger): Save messages from SQL files to an SQL database (works with SQLite) (#4750)

* chore(Makefile): Data samples depend on PocoUtil (#4750)

* sample(DBLogger): Refactored DBLogger with std::filesystem::directory_iterator and std::thread.

* sample(DBLogger): Add missing include <condition_variable>

* sample(DBLogger): Extracted log scanning and inserting functionality to class SQLLogInserter.

* sample(DBLogger): Create new logging table only when using demo messages option.

* feat(DBLogger): VS projects

* sample(DBLogger): Acquire options from configuration file.

* feat(DBLogger): regenerate VS projects (progen file change)

* sample(DBLogger): Add example DBLogger.properties file.

* sample(DBLogger): Process as much as possible when stopping processing.

* sample(DBLogger): Meaningful defaults in properties file.

* sample(DBLogger): Verify validity of database session on startup.

* sample(DBLogger): Configure demo SQL channel in properties file.

* chore(DBLogger): style and warnings

---------

Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>
Co-authored-by: Alex Fabijanic <alex@pocoproject.org>
This commit is contained in:
Matej Kenda 2024-11-18 17:06:20 +01:00 committed by GitHub
parent 2815ea45a9
commit 52959b91da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 3208 additions and 255 deletions

View File

@ -13,10 +13,6 @@ else()
POCO_SOURCES(SQLITE_SRCS sqlite3
src/sqlite3.c
)
POCO_HEADERS(SQLITE_SRCS sqlite3
src/sqlite3.h
)
endif()
# Version Resource

View File

@ -4,3 +4,4 @@ add_subdirectory(RowFormatter)
add_subdirectory(Tuple)
add_subdirectory(TypeHandler)
add_subdirectory(WebNotifier)
add_subdirectory(DBLogger)

View File

@ -0,0 +1,14 @@
# Sources
file(GLOB SRCS_G "src/*.cpp")
POCO_SOURCES_AUTO(DBLOGGER_SRCS ${SRCS_G})
# Headers
file(GLOB_RECURSE HDRS_G "src/*.h")
POCO_HEADERS_AUTO(DBLOGGER_SRCS ${HDRS_G})
add_executable(DBLogger ${DBLOGGER_SRCS})
target_link_libraries(DBLogger PUBLIC Poco::Util Poco::DataSQLite)
add_custom_target(DBLogger-properties SOURCES DBLogger.properties)

View File

@ -0,0 +1,11 @@
vc.project.guid = ${vc.project.guidFromName}
vc.project.name = ${vc.project.baseName}
vc.project.target = ${vc.project.name}
vc.project.type = executable
vc.project.pocobase = ..\\..\\..
vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\JSON\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Data\\include;..\\..\\..\\Data\\SQLParser;..\\Data\\SQLParser\\src;..\\..\\..\\Data\\SQLite\\include
vc.project.compiler.additionalOptions = /Zc:__cplusplus
vc.project.linker.dependencies = iphlpapi.lib

View File

@ -0,0 +1,67 @@
#
# Database inserter (destination)
#
#
# Destination database parameters:
#
# (Mandatory) Database connector (for example sqlite)
#
DBLogger.connector = sqlite
#
# (Mandatory) Database connection string (connector specific)
#
DBLogger.constring = demo-logs.db3
#
# (Optional) Number of workers to insert logs into the database in parallel (default = 2)
#
# DBLogger.workers = 2
# ----------------------------------------------------------------
#
# (Optional) Create demo SQL messages for testing purposes (default = false)
#
DBLogger.demo = true
logging.loggers.root.channel = console
logging.loggers.root.level = information
logging.channels.console.class = ColorConsoleChannel
logging.channels.console.pattern = %L%Y-%m-%d %H:%M:%S.%i [%p] : %t
#
# SQL logger to create demo messages
# NOTE: Do not rename the logger.
#
logging.loggers.sqldemo.channel = sql
logging.loggers.sqldemo.name = SQLDemo
logging.loggers.sqldemo.level = debug
logging.channels.sql.class = SQLChannel
logging.channels.sql.name = DBLogger
#
# (Mandatory) Directory to scan for .sql files
#
logging.channels.sql.directory = .
#
# NOTE: Do not configure database to create SQL logger files
#
# logging.channels.sql.connector = SQLite
# logging.channels.sql.connect = DBLogger.db3
logging.channels.sql.timeout = 3000
logging.channels.sql.minBatch = 5
logging.channels.sql.maxBatch = 1000
logging.channels.sql.bulk = true
logging.channels.sql.table = T_LOG
logging.channels.sql.throw = false
logging.channels.sql.file = ${application.baseName}.sql

View File

@ -0,0 +1,663 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<ProjectName>DBLogger</ProjectName>
<ProjectGuid>{2F659B70-DA60-39DD-A7C8-958805D371F9}</ProjectGuid>
<RootNamespace>DBLogger</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>17.0.35219.272</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">DBLogger</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\DBLogger.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<ClCompile Include="src\SQLLogInserter.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{8747f452-7c1b-44d2-b0e5-1681f3dab78e}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{f73ed930-0047-402d-8e77-3b9b9ddbc3a7}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\SQLLogInserter.cpp" />
<ClCompile Include="src\DBLogger.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,978 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|ARM64">
<Configuration>debug_shared</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|ARM64">
<Configuration>debug_static_md</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|ARM64">
<Configuration>debug_static_mt</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|ARM64">
<Configuration>release_shared</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|ARM64">
<Configuration>release_static_md</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|ARM64">
<Configuration>release_static_mt</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<ProjectName>DBLogger</ProjectName>
<ProjectGuid>{2F659B70-DA60-39DD-A7C8-958805D371F9}</ProjectGuid>
<RootNamespace>DBLogger</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>17.0.35219.272</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">DBLoggerd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">DBLogger</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">DBLogger</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'">
<OutDir>binA64\</OutDir>
<IntDir>objA64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'">
<OutDir>binA64\</OutDir>
<IntDir>objA64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">
<OutDir>binA64\static_mt\</OutDir>
<IntDir>objA64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">
<OutDir>binA64\static_mt\</OutDir>
<IntDir>objA64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">
<OutDir>binA64\static_md\</OutDir>
<IntDir>objA64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">
<OutDir>binA64\static_md\</OutDir>
<IntDir>objA64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\DBLogger\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|ARM64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineARM64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|ARM64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>binA64\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineARM64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|ARM64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>binA64\static_mt\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineARM64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>binA64\static_mt\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineARM64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|ARM64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>binA64\static_md\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineARM64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|ARM64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\libA64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineARM64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\DBLoggerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\JSON\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLParser;..\Data\SQLParser\src;..\..\..\Data\SQLite\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\DBLogger.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\DBLogger.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
<ClCompile Include="src\SQLLogInserter.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpp17</LanguageStandard>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{b2b53da4-c45b-4734-9096-6c64453817a6}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{654b0a83-74d5-4a84-b813-6493ce240b90}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\SQLLogInserter.cpp" />
<ClCompile Include="src\DBLogger.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,451 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="DBLogger"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{133C62C7-3301-3F43-9ABF-14DF094A042F}"
RootNamespace="DBLogger"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\JSON\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLite\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="iphlpapi.lib"
OutputFile="bin\DBLoggerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\DBLoggerd.pdb"
SubSystem="1"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\JSON\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLite\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="iphlpapi.lib"
OutputFile="bin\DBLogger.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\JSON\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLite\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="iphlpapi.lib winmm.lib iphlpapi.lib"
OutputFile="bin\static_mt\DBLoggerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\static_mt\DBLoggerd.pdb"
SubSystem="1"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\JSON\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLite\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="0"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="iphlpapi.lib winmm.lib iphlpapi.lib"
OutputFile="bin\static_mt\DBLogger.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\JSON\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLite\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="iphlpapi.lib winmm.lib iphlpapi.lib"
OutputFile="bin\static_md\DBLoggerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\static_md\DBLoggerd.pdb"
SubSystem="1"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\JSON\include;..\..\..\Util\include;..\..\..\Data\include;..\..\..\Data\SQLite\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="iphlpapi.lib winmm.lib iphlpapi.lib"
OutputFile="bin\static_md\DBLogger.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Header Files"/>
<File
RelativePath=".\src\SQLLogInserter.cpp"/>
<Filter
Name="Source Files">
<File
RelativePath=".\src\DBLogger.cpp"/>
<File
RelativePath=".\src\SQLLogInserter.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,19 @@
#
# Makefile
#
# Makefile for Poco Data DBLogger sample
#
include $(POCO_BASE)/build/rules/global
objects = DBLogger SQLLogInserter
ifndef POCO_DATA_NO_SQL_PARSER
target_includes = $(POCO_BASE)/Data/src
endif
target = DBLogger
target_version = 1
target_libs = PocoDataSQLite PocoData PocoFoundation PocoUtil
include $(POCO_BASE)/build/rules/exec

View File

@ -0,0 +1,285 @@
//
// DBLogger.cpp
//
// This sample demonstrates the Data library recordset row formatting
// and streaming capabilities.
//
// Copyright (c) 2024, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
#include "Poco/Data/SQLChannel.h"
#include "Poco/Data/SQLite/Connector.h"
#include "Poco/Util/HelpFormatter.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionException.h"
#include "Poco/Util/OptionSet.h"
#include "Poco/Util/ServerApplication.h"
#include "SQLLogInserter.h"
using namespace Poco::Data::Keywords;
using Poco::Util::ServerApplication;
using Poco::Util::Option;
using Poco::Util::OptionSet;
using Poco::Util::HelpFormatter;
using Poco::Util::OptionCallback;
using namespace std::string_literals;
class DBLogger: public ServerApplication
{
public:
using WorkSet = std::unordered_set<std::string>;
DBLogger()
{
Poco::Data::SQLite::Connector::registerConnector();
Poco::Data::SQLChannel::registerChannel();
}
~DBLogger() override = default;
protected:
void initialize(Application& self) override
{
if (_helpRequested)
{
return;
}
loadConfiguration(); // load default configuration files, if present
Application::initialize(self);
const auto& cfg { config() };
if (!cfg.has("logging.channels.sql.directory"))
{
throw Poco::Util::MissingOptionException ("Missing scanning directory.");
}
_inserter.setDirectory(cfg.getString("logging.channels.sql.directory") );
if (!cfg.has("DBLogger.connector"))
{
throw Poco::Util::MissingOptionException ("Missing database connector.");
}
_inserter.setConnector(cfg.getString("DBLogger.connector") );
if (!cfg.has("DBLogger.constring"))
{
throw Poco::Util::MissingOptionException ("Missing database connection string.");
}
_inserter.setConnectionString(cfg.getString("DBLogger.constring") );
_inserter.setNumWorkers(cfg.getUInt64("DBLogger.workers", 2) );
_demoMessagesRequested = cfg.getBool("DBLogger.demo", false);
logger().information("Directory: %s", _inserter.directory());
logger().information("Database: %s, %s", _inserter.connector(), _inserter.connectionString());
logger().information("Number of workers: %z", _inserter.numWorkers());
if (_demoMessagesRequested)
{
auto& dl = Poco::Logger::get("SQLDemo");
auto* sqlChannel = dynamic_cast<Poco::Data::SQLChannel*>(dl.getChannel().get());
if (sqlChannel == nullptr)
{
throw Poco::Util::UnexpectedArgumentException ("SQLDemo logger does not have SQL channel.");
}
_tableName = cfg.getString("logging.channels.sql.table");
// Only delete and create table when creating demo messages
logger().information("Demo messages: Creating new table: %s", _tableName);
Poco::Data::Session session (_inserter.connector(), _inserter.connectionString());
if (!session.isGood() || !session.isConnected())
{
throw Poco::Data::NotConnectedException("Can't create demo database.");
}
session << ("DROP TABLE IF EXISTS "s + _tableName), now;
const auto create {
"CREATE TABLE "s + _tableName +
" (Source VARCHAR, Name VARCHAR, ProcessId INTEGER, Thread VARCHAR,"s +
" ThreadId INTEGER, Priority INTEGER, Text VARCHAR, DateTime DATE)"s
};
session << create, now;
}
_active = true;
_startTime.update();
_inserter.start();
logger().information("Started directory scanning.");
if (_demoMessagesRequested)
{
_sqlSourceThread = std::thread(&DBLogger::createMessages, this);
logger().information("Started creating demo messages.");
}
}
void uninitialize() override
{
if (_helpRequested)
{
return;
}
logger().information("Request to stop processing.");
if (_demoMessagesRequested)
{
_sqlSourceThread.join();
}
_inserter.stop();
logger().information(
"Created %z messages, processed %z files in %Ld ms.",
_created, _inserter.totalProcessed(), (_startTime.elapsed() / 1000)
);
Application::uninitialize();
}
void reinitialize(Application& self) override
{
Application::reinitialize(self);
}
void defineOptions(OptionSet& options) override
{
Application::defineOptions(options);
options.addOption(
Option("help", "h", "display help information on command line arguments")
.required(false)
.repeatable(false)
.callback(OptionCallback<DBLogger>(this, &DBLogger::handleHelp))
);
options.addOption(
Option("?", "?", "display help information on command line arguments")
.required(false)
.repeatable(false)
.callback(OptionCallback<DBLogger>(this, &DBLogger::handleHelp))
);
options.addOption(
Option("dir", "d", "directory path to scan for SQL log files")
.repeatable(false)
.argument("dir")
.binding("logging.channels.sql.directory")
);
options.addOption(
Option("connector", "c", "database connector")
.repeatable(false)
.argument("type")
.binding("DBLogger.connector")
);
options.addOption(
Option("constring", "s", "database connection string")
.repeatable(false)
.argument("cstr")
.binding("DBLogger.constring")
);
options.addOption(
Option("workers", "w", "number of workers inserting into database (default 2)")
.repeatable(false)
.argument("N")
.binding("DBLogger.workers")
);
// Only command line option
options.addOption(
Option("demo", "m", "create demo messages")
.required(false)
.repeatable(false)
.binding("DBLogger.demo")
.callback(OptionCallback<DBLogger>(this, &DBLogger::handleCreateDemoMessages)));
}
void handleHelp(const std::string& name, const std::string& value)
{
_helpRequested = true;
displayHelp();
stopOptionsProcessing();
}
void handleCreateDemoMessages(const std::string& name, const std::string& value)
{
config().setBool("DBLogger.demo", true);
}
void displayHelp()
{
HelpFormatter helpFormatter(options());
helpFormatter.setCommand(commandName());
helpFormatter.setUsage("OPTIONS");
helpFormatter.format(std::cout);
}
void createMessages()
{
int i {0};
auto& dl = Poco::Logger::get("SQLDemo");
while (_active)
{
for (int j = 0; j < 100 && _active; ++j)
{
dl.debug("%d Informational message", i);
++i;
++_created;
}
std::this_thread::sleep_for(std::chrono::milliseconds(50));
}
}
int main(const std::vector<std::string>& args) override
{
if (!_helpRequested)
{
waitForTerminationRequest();
_active = false;
}
return Application::EXIT_OK;
}
private:
bool _helpRequested {false};
bool _demoMessagesRequested {false};
SQLLogInserter _inserter;
Poco::Timestamp _startTime;
bool _active {false};
std::size_t _created{0};
std::thread _sqlSourceThread;
std::string _tableName{"T_POCO_LOG"};
};
POCO_SERVER_MAIN(DBLogger)

View File

@ -0,0 +1,257 @@
//
// SQLLogInserter.cpp
//
// This sample demonstrates the Data library recordset row formatting
// and streaming capabilities.
//
// Copyright (c) 2024, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
#include "SQLLogInserter.h"
#include "Poco/Data/DataException.h"
#include <filesystem>
#include <fstream>
#include <iostream>
using namespace Poco::Data::Keywords;
using namespace std::string_literals;
void SQLLogInserter::start()
{
_dataSession = std::make_shared<Poco::Data::Session>(_connector, _connectionString);
if (!_dataSession->isGood() || !_dataSession->isConnected())
{
throw Poco::Data::NotConnectedException("Can't connect to database.");
}
_active = true;
_doneProcessing = false;
_workSet.reserve(MAX_WORKSET_SIZE * 2);
for (std::size_t i = 0; i < _numWorkers; i++)
{
_workers.emplace_back(&SQLLogInserter::runProcessingEntries, this);
}
// Thread to scan the directory
_dirScanThread = std::thread(&SQLLogInserter::runDirectoryScan, this);
}
void SQLLogInserter::stop()
{
_active = false;
_workCondition.notify_all();
_underflowCondition.notify_all();
{
std::unique_lock<std::mutex> l(_workMutex);
while (!_workSet.empty() || !_processingSet.empty())
{
_completedCondition.wait_for(l, std::chrono::milliseconds(5000));
}
}
if (_dirScanThread.joinable())
{
_dirScanThread.join();
}
// stop all worker threads
for (auto& w: _workers)
{
if (w.joinable()) {
w.join();
}
}
_dataSession->close();
}
std::size_t SQLLogInserter::insertEntries(std::vector<std::string>& entries)
{
std::unique_lock<std::mutex> l(_workMutex);
while (_workSet.size() > MAX_WORKSET_SIZE && _active)
{
// Prevent creating too large work set
_underflowCondition.wait_for(l, std::chrono::milliseconds(200));
}
const auto wss = _workSet.size();
// Do not re-insert entries that are being processed.
entries.erase(
std::remove_if(
entries.begin(),
entries.end(),
[this](const std::string& e) {
return this->_processingSet.find(e) != this->_processingSet.end();
}
),
entries.end()
);
_workSet.insert(entries.begin(), entries.end());
_workCondition.notify_all();
return _workSet.size() - wss;
}
std::string SQLLogInserter::popEntry()
{
std::unique_lock<std::mutex> l(_workMutex);
while (_workSet.empty() && !_doneProcessing)
{
_workCondition.wait_for(l, std::chrono::milliseconds(200));
}
if (_workSet.empty())
{
// Exited loop because of _doneProcessing
return {};
}
auto entry = (*_workSet.begin());
_processingSet.insert(entry);
_workSet.erase(_workSet.begin());
if (_workSet.size() < MAX_WORKSET_SIZE)
{
_underflowCondition.notify_all();
}
return entry;
}
void SQLLogInserter::removeEntry(const std::string& entry)
{
std::unique_lock<std::mutex> l(_workMutex);
auto i = _processingSet.find(entry);
if (i != _processingSet.end())
{
_processingSet.erase(i);
}
}
void SQLLogInserter::processFile(const std::string &entry)
{
if (entry.empty())
{
return;
}
if (!std::filesystem::exists(entry))
{
// Directory iterator can pick up files that were already processed
// Ignore such entries.
removeEntry(entry);
return;
}
bool success {false};
try
{
const std::ifstream is(entry);
std::stringstream buffer;
buffer << is.rdbuf();
const auto& sql { buffer.str() };
if (!sql.empty())
{
auto& s = (*_dataSession);
s << sql, now;
++_processed;
success = true;
}
}
catch (const Poco::Exception& e)
{
// Failed inserting into the database
}
if (success)
{
std::filesystem::remove(entry);
}
else
{
std::filesystem::path newPath {entry};
newPath.replace_extension("err"s);
std::filesystem::rename(entry, newPath);
}
removeEntry(entry);
}
std::size_t SQLLogInserter::scanDirectory()
{
std::vector<std::string> newEntries;
newEntries.reserve(1000);
const std::filesystem::directory_iterator diriter(
_directory,
std::filesystem::directory_options::skip_permission_denied
);
for (const auto& entry: diriter)
{
if (_dataSession == nullptr || !_dataSession->isGood())
{
// Do not process files if database session is not healthy.
// Files will be processed later.
return 0;
}
if (!std::filesystem::exists(entry))
{
continue;
}
if (!entry.is_regular_file())
{
continue;
}
if (entry.path().extension() != ".sql"s)
{
continue;
}
newEntries.push_back(entry.path().string());
}
return insertEntries(newEntries);
}
void SQLLogInserter::runDirectoryScan()
{
while (!_doneProcessing)
{
auto scheduled = scanDirectory();
if (!_active && !_doneProcessing)
{
// Last scan directory to clean up
(void)scanDirectory();
_doneProcessing = true;
_workCondition.notify_all();
break;
}
if (scheduled == 0)
{
// No new files to be scheduled. Wait a bit.
std::this_thread::sleep_for(std::chrono::milliseconds(500));
}
}
}
void SQLLogInserter::runProcessingEntries()
{
while (!_workSet.empty() || !_doneProcessing)
{
auto entry = popEntry();
processFile(entry);
}
_completedCondition.notify_all();
}

View File

@ -0,0 +1,134 @@
//
// SQLLogInserter.cpp
//
// This sample demonstrates the Data library recordset row formatting
// and streaming capabilities.
//
// Copyright (c) 2024, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
#ifndef SQLLogInserter_INCLUDED
#define SQLLogInserter_INCLUDED
#include "Poco/Data/SQLChannel.h"
#include <unordered_set>
#include <thread>
#include <mutex>
#include <condition_variable>
using namespace Poco::Data::Keywords;
using namespace std::string_literals;
class SQLLogInserter
{
public:
SQLLogInserter() = default;
~SQLLogInserter() = default;
void start();
void stop();
void setDirectory(const std::string& directory);
std::string directory() const;
void setConnector(const std::string& connector);
std::string connector() const;
void setConnectionString(const std::string& cs);
std::string connectionString() const;
void setNumWorkers(std::size_t number);
std::size_t numWorkers() const;
std::size_t totalProcessed() const;
private:
using WorkSet = std::unordered_set<std::string>;
std::size_t insertEntries(std::vector<std::string>& entries);
std::string popEntry();
void removeEntry(const std::string &entry);
void processFile(const std::string& entry);
std::size_t scanDirectory();
void runDirectoryScan();
void runProcessingEntries();
static constexpr std::size_t MAX_WORKSET_SIZE {1000};
std::string _directory;
std::string _connector;
std::string _connectionString;
std::size_t _numWorkers {2};
bool _active {false};
bool _doneProcessing {false};
std::size_t _processed{0};
std::thread _dirScanThread;
WorkSet _workSet;
WorkSet _processingSet;
std::mutex _workMutex;
std::condition_variable _workCondition;
std::condition_variable _underflowCondition;
std::condition_variable _completedCondition;
std::vector<std::thread> _workers;
Poco::AutoPtr<Poco::Data::SQLChannel> _sqlChannel;
std::shared_ptr<Poco::Data::Session> _dataSession;
};
inline void SQLLogInserter::setDirectory(const std::string& directory)
{
_directory = directory;
}
inline std::string SQLLogInserter::directory() const
{
return _directory;
}
inline void SQLLogInserter::setConnector(const std::string& connector)
{
_connector = connector;
}
inline std::string SQLLogInserter::connector() const
{
return _connector;
}
inline void SQLLogInserter::setConnectionString(const std::string& cs)
{
_connectionString = cs;
}
inline std::string SQLLogInserter::connectionString() const
{
return _connectionString;
}
inline void SQLLogInserter::setNumWorkers(std::size_t number)
{
_numWorkers = number;
}
inline std::size_t SQLLogInserter::numWorkers() const
{
return _numWorkers;
}
inline std::size_t SQLLogInserter::totalProcessed() const
{
return _processed;
}
#endif // SQLLogInserter_INCLUDED

View File

@ -13,3 +13,4 @@ projects:
$(MAKE) -C RowFormatter $(MAKECMDGOALS)
$(MAKE) -C Tuple $(MAKECMDGOALS)
$(MAKE) -C WebNotifier $(MAKECMDGOALS)
$(MAKE) -C DBLogger $(MAKECMDGOALS)

View File

@ -12,6 +12,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TypeHandler", "TypeHandler\
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebNotifier", "WebNotifier\WebNotifier_vs160.vcxproj", "{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DBLogger", "DBLogger\DBLogger_vs160.vcxproj", "{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32

View File

@ -1,5 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35303.130
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Binding", "Binding\Binding_vs170.vcxproj", "{0F0DF069-83D1-378D-A949-8DF9A883B627}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RecordSet", "RecordSet\RecordSet_vs170.vcxproj", "{FEE20DCE-B9E3-30AB-A40C-B6A324997328}"
@ -12,352 +14,390 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TypeHandler", "TypeHandler\
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebNotifier", "WebNotifier\WebNotifier_vs170.vcxproj", "{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DBLogger", "DBLogger\DBLogger_vs170.vcxproj", "{2F659B70-DA60-39DD-A7C8-958805D371F9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|ARM64 = debug_shared|ARM64
release_shared|ARM64 = release_shared|ARM64
debug_static_mt|ARM64 = debug_static_mt|ARM64
release_static_mt|ARM64 = release_static_mt|ARM64
debug_static_md|ARM64 = debug_static_md|ARM64
release_static_md|ARM64 = release_static_md|ARM64
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
debug_static_mt|Win32 = debug_static_mt|Win32
release_static_mt|Win32 = release_static_mt|Win32
debug_static_md|Win32 = debug_static_md|Win32
release_static_md|Win32 = release_static_md|Win32
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
debug_static_mt|x64 = debug_static_mt|x64
release_static_mt|x64 = release_static_mt|x64
debug_static_md|ARM64 = debug_static_md|ARM64
debug_static_md|Win32 = debug_static_md|Win32
debug_static_md|x64 = debug_static_md|x64
debug_static_mt|ARM64 = debug_static_mt|ARM64
debug_static_mt|Win32 = debug_static_mt|Win32
debug_static_mt|x64 = debug_static_mt|x64
release_shared|ARM64 = release_shared|ARM64
release_shared|Win32 = release_shared|Win32
release_shared|x64 = release_shared|x64
release_static_md|ARM64 = release_static_md|ARM64
release_static_md|Win32 = release_static_md|Win32
release_static_md|x64 = release_static_md|x64
release_static_mt|ARM64 = release_static_mt|ARM64
release_static_mt|Win32 = release_static_mt|Win32
release_static_mt|x64 = release_static_mt|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_shared|ARM64.Build.0 = debug_shared|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|ARM64.Build.0 = release_shared|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_shared|Win32.Build.0 = debug_shared|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|Win32.ActiveCfg = release_shared|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|Win32.Build.0 = release_shared|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|Win32.Deploy.0 = release_shared|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|Win32.Build.0 = release_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_shared|x64.ActiveCfg = debug_shared|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_shared|x64.Build.0 = debug_shared|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_shared|x64.Deploy.0 = debug_shared|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|x64.ActiveCfg = release_shared|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|x64.Build.0 = release_shared|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|x64.Deploy.0 = release_shared|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|x64.Build.0 = release_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|x64.Build.0 = debug_static_md|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|ARM64.Build.0 = release_shared|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|Win32.ActiveCfg = release_shared|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|Win32.Build.0 = release_shared|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|Win32.Deploy.0 = release_shared|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|x64.ActiveCfg = release_shared|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|x64.Build.0 = release_shared|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_shared|x64.Deploy.0 = release_shared|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|Win32.Build.0 = release_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|x64.ActiveCfg = release_static_md|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|x64.Build.0 = release_static_md|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_md|x64.Deploy.0 = release_static_md|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|x64.Build.0 = release_static_mt|x64
{0F0DF069-83D1-378D-A949-8DF9A883B627}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_shared|ARM64.Build.0 = debug_shared|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|ARM64.Build.0 = release_shared|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_shared|Win32.Build.0 = debug_shared|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|Win32.ActiveCfg = release_shared|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|Win32.Build.0 = release_shared|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|Win32.Deploy.0 = release_shared|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|Win32.Build.0 = release_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_shared|x64.ActiveCfg = debug_shared|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_shared|x64.Build.0 = debug_shared|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_shared|x64.Deploy.0 = debug_shared|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|x64.ActiveCfg = release_shared|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|x64.Build.0 = release_shared|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|x64.Deploy.0 = release_shared|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|x64.Build.0 = release_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|x64.Build.0 = debug_static_md|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|ARM64.Build.0 = release_shared|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|Win32.ActiveCfg = release_shared|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|Win32.Build.0 = release_shared|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|Win32.Deploy.0 = release_shared|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|x64.ActiveCfg = release_shared|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|x64.Build.0 = release_shared|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_shared|x64.Deploy.0 = release_shared|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|Win32.Build.0 = release_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|x64.ActiveCfg = release_static_md|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|x64.Build.0 = release_static_md|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_md|x64.Deploy.0 = release_static_md|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|x64.Build.0 = release_static_mt|x64
{FEE20DCE-B9E3-30AB-A40C-B6A324997328}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_shared|ARM64.Build.0 = debug_shared|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|ARM64.Build.0 = release_shared|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_shared|Win32.Build.0 = debug_shared|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|Win32.ActiveCfg = release_shared|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|Win32.Build.0 = release_shared|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|Win32.Deploy.0 = release_shared|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|Win32.Build.0 = release_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_shared|x64.ActiveCfg = debug_shared|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_shared|x64.Build.0 = debug_shared|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_shared|x64.Deploy.0 = debug_shared|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|x64.ActiveCfg = release_shared|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|x64.Build.0 = release_shared|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|x64.Deploy.0 = release_shared|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|x64.Build.0 = release_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|x64.Build.0 = debug_static_md|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|ARM64.Build.0 = release_shared|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|Win32.ActiveCfg = release_shared|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|Win32.Build.0 = release_shared|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|Win32.Deploy.0 = release_shared|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|x64.ActiveCfg = release_shared|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|x64.Build.0 = release_shared|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_shared|x64.Deploy.0 = release_shared|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|Win32.Build.0 = release_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|x64.ActiveCfg = release_static_md|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|x64.Build.0 = release_static_md|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_md|x64.Deploy.0 = release_static_md|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|x64.Build.0 = release_static_mt|x64
{133C62C7-3301-3F43-9ABF-14DF094A042F}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_shared|ARM64.Build.0 = debug_shared|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|ARM64.Build.0 = release_shared|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_shared|Win32.Build.0 = debug_shared|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|Win32.ActiveCfg = release_shared|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|Win32.Build.0 = release_shared|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|Win32.Deploy.0 = release_shared|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|Win32.Build.0 = release_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_shared|x64.ActiveCfg = debug_shared|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_shared|x64.Build.0 = debug_shared|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_shared|x64.Deploy.0 = debug_shared|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|x64.ActiveCfg = release_shared|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|x64.Build.0 = release_shared|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|x64.Deploy.0 = release_shared|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|x64.Build.0 = release_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|x64.Build.0 = debug_static_md|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|ARM64.Build.0 = release_shared|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|Win32.ActiveCfg = release_shared|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|Win32.Build.0 = release_shared|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|Win32.Deploy.0 = release_shared|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|x64.ActiveCfg = release_shared|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|x64.Build.0 = release_shared|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_shared|x64.Deploy.0 = release_shared|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|Win32.Build.0 = release_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|x64.ActiveCfg = release_static_md|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|x64.Build.0 = release_static_md|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_md|x64.Deploy.0 = release_static_md|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|x64.Build.0 = release_static_mt|x64
{F143DA5A-221A-3737-BCBA-F5BFD977038F}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_shared|ARM64.Build.0 = debug_shared|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|ARM64.Build.0 = release_shared|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_shared|Win32.Build.0 = debug_shared|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|Win32.ActiveCfg = release_shared|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|Win32.Build.0 = release_shared|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|Win32.Deploy.0 = release_shared|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|Win32.Build.0 = release_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_shared|x64.ActiveCfg = debug_shared|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_shared|x64.Build.0 = debug_shared|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_shared|x64.Deploy.0 = debug_shared|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|x64.ActiveCfg = release_shared|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|x64.Build.0 = release_shared|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|x64.Deploy.0 = release_shared|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|x64.Build.0 = release_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|x64.Build.0 = debug_static_md|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|ARM64.Build.0 = release_shared|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|Win32.ActiveCfg = release_shared|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|Win32.Build.0 = release_shared|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|Win32.Deploy.0 = release_shared|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|x64.ActiveCfg = release_shared|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|x64.Build.0 = release_shared|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_shared|x64.Deploy.0 = release_shared|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|Win32.Build.0 = release_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|x64.ActiveCfg = release_static_md|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|x64.Build.0 = release_static_md|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_md|x64.Deploy.0 = release_static_md|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|x64.Build.0 = release_static_mt|x64
{65A12348-CA20-324E-9F5E-7F82753C2C65}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_shared|ARM64.Build.0 = debug_shared|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_shared|ARM64.Deploy.0 = debug_shared|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|ARM64.Build.0 = release_shared|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_shared|Win32.Build.0 = debug_shared|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|Win32.ActiveCfg = release_shared|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|Win32.Build.0 = release_shared|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|Win32.Deploy.0 = release_shared|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|Win32.Build.0 = release_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_shared|x64.ActiveCfg = debug_shared|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_shared|x64.Build.0 = debug_shared|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_shared|x64.Deploy.0 = debug_shared|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|x64.ActiveCfg = release_shared|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|x64.Build.0 = release_shared|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|x64.Deploy.0 = release_shared|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|x64.Build.0 = release_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|ARM64.Deploy.0 = debug_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|x64.Build.0 = debug_static_md|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|ARM64.Deploy.0 = debug_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|ARM64.Build.0 = release_shared|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|ARM64.Deploy.0 = release_shared|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|Win32.ActiveCfg = release_shared|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|Win32.Build.0 = release_shared|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|Win32.Deploy.0 = release_shared|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|x64.ActiveCfg = release_shared|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|x64.Build.0 = release_shared|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_shared|x64.Deploy.0 = release_shared|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|ARM64.Deploy.0 = release_static_md|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|Win32.Build.0 = release_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|x64.ActiveCfg = release_static_md|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|x64.Build.0 = release_static_md|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_md|x64.Deploy.0 = release_static_md|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|ARM64.Deploy.0 = release_static_mt|ARM64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|x64.Build.0 = release_static_mt|x64
{BACF8377-AD61-3B07-9BD5-6AEFCB0EC754}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_shared|ARM64.ActiveCfg = debug_shared|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_shared|ARM64.Build.0 = debug_shared|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_shared|Win32.Build.0 = debug_shared|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_shared|x64.ActiveCfg = debug_shared|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_shared|x64.Build.0 = debug_shared|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_md|ARM64.ActiveCfg = debug_static_md|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_md|ARM64.Build.0 = debug_static_md|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_md|x64.Build.0 = debug_static_md|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_mt|ARM64.ActiveCfg = debug_static_mt|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_mt|ARM64.Build.0 = debug_static_mt|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_shared|ARM64.ActiveCfg = release_shared|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_shared|ARM64.Build.0 = release_shared|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_shared|Win32.ActiveCfg = release_shared|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_shared|Win32.Build.0 = release_shared|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_shared|x64.ActiveCfg = release_shared|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_shared|x64.Build.0 = release_shared|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_md|ARM64.ActiveCfg = release_static_md|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_md|ARM64.Build.0 = release_static_md|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_md|Win32.Build.0 = release_static_md|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_md|x64.ActiveCfg = release_static_md|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_md|x64.Build.0 = release_static_md|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_mt|ARM64.ActiveCfg = release_static_mt|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_mt|ARM64.Build.0 = release_static_mt|ARM64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{2F659B70-DA60-39DD-A7C8-958805D371F9}.release_static_mt|x64.Build.0 = release_static_mt|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -161,7 +161,7 @@ public:
/// The Thread ensures that the given target stays
/// alive while the thread is running.
void start(Callable target, void* pData = 0);
void start(Callable target, void* pData = nullptr);
/// Starts the thread with the given target and parameter.
template <class Functor>

View File

@ -133,7 +133,7 @@ void Timestamp::update()
#else
struct timeval tv;
if (gettimeofday(&tv, NULL))
if (gettimeofday(&tv, nullptr))
throw SystemException("cannot get time of day");
_ts = TimeVal(tv.tv_sec)*resolution() + tv.tv_usec;

View File

@ -262,7 +262,7 @@ DataTest-libexec: Data-libexec
Data-tests: Data-libexec DataTest-libexec cppunit
$(MAKE) -C $(POCO_BASE)/Data/testsuite
Data-samples: Data-libexec Data-libexec Data/SQLite-libexec Net-libexec
Data-samples: Data-libexec Data-libexec Data/SQLite-libexec Net-libexec Util-libexec
$(MAKE) -C $(POCO_BASE)/Data/samples
Data-clean:

View File

@ -523,7 +523,7 @@ void ServerApplication::waitForTerminationRequest()
}
sigaddset(&sset, SIGQUIT);
sigaddset(&sset, SIGTERM);
sigprocmask(SIG_BLOCK, &sset, NULL);
sigprocmask(SIG_BLOCK, &sset, nullptr);
int sig;
sigwait(&sset, &sig);
terminateCallback();