gitextract_3lusol1m/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── config.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── accessibility-bot.yml │ ├── cmake.yml │ ├── codeql-analysis.yml │ ├── msbuild.yml │ └── validate-pr.yml ├── .gitignore ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── Releases.md ├── areg-sdk.sln ├── areg.cmake ├── conf/ │ ├── README.md │ ├── cmake/ │ │ ├── clang.cmake │ │ ├── common.cmake │ │ ├── functions.cmake │ │ ├── gnu.cmake │ │ ├── install.cmake │ │ ├── msvc.cmake │ │ ├── setup.cmake │ │ └── user.cmake │ ├── exports/ │ │ ├── areg.pc.in │ │ ├── aregextend.pc.in │ │ ├── areglogger.pc.in │ │ ├── config.cmake.in │ │ ├── example/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── example.cpp │ │ │ └── toolchains/ │ │ │ ├── clang-linux-arm32.cmake │ │ │ ├── clang-linux-arm64.cmake │ │ │ ├── clang-linux-x64.cmake │ │ │ ├── clang-linux-x86.cmake │ │ │ ├── clang-macos-arm64.cmake │ │ │ ├── clang-macos-x64.cmake │ │ │ ├── clang-win-x64.cmake │ │ │ ├── clang-win-x86.cmake │ │ │ ├── gnu-linux-arm32.cmake │ │ │ ├── gnu-linux-arm64.cmake │ │ │ ├── gnu-linux-x64.cmake │ │ │ ├── gnu-linux-x86.cmake │ │ │ ├── msvc-win-x64.cmake │ │ │ └── msvc-win-x86.cmake │ │ ├── logcollector.service.in │ │ ├── logcollector.service.install.bat.in │ │ ├── logcollector.service.install.sh.in │ │ ├── logcollector.service.uninstall.bat.in │ │ ├── logcollector.service.uninstall.sh.in │ │ ├── mtrouter.service.in │ │ ├── mtrouter.service.install.bat.in │ │ ├── mtrouter.service.install.sh.in │ │ ├── mtrouter.service.uninstall.bat.in │ │ ├── mtrouter.service.uninstall.sh.in │ │ ├── tech.areg.logcollector.plist.in │ │ └── tech.areg.mtrouter.plist.in │ └── msvc/ │ ├── compile.props │ ├── project.props │ ├── project_defaults.props │ └── user.props ├── docs/ │ ├── DEVELOP.md │ ├── HOWTO.md │ ├── HelloService.md │ ├── HelloService.siml │ ├── POSIX.md │ ├── README.md │ ├── Sample.siml │ ├── Sample.xsd │ ├── ServiceInterface.md │ ├── USECASES.md │ ├── WIN32.md │ ├── templates/ │ │ ├── Readme.md │ │ ├── contributors.yml │ │ ├── msvc-dynamic-lib.vcxproj │ │ ├── msvc-dynamic-lib.vcxproj.filters │ │ ├── msvc-exe.vcxproj │ │ ├── msvc-exe.vcxproj.filters │ │ ├── msvc-static-lib.vcxproj │ │ └── msvc-static-lib.vcxproj.filters │ └── wiki/ │ ├── 01a-areg-package.md │ ├── 01b-cmake-build.md │ ├── 01c-msvc-build.md │ ├── 01d-wsl-build.md │ ├── 02a-quick-project-setup.md │ ├── 02b-cmake-integrate.md │ ├── 02c-msvc-integrate.md │ ├── 02d-cmake-config.md │ ├── 02e-cmake-functions.md │ ├── 02f-preprocessor-definitions.md │ ├── 03a-mtrouter.md │ ├── 04a-logging-config.md │ ├── 04b-logging-develop.md │ ├── 04c-logobserver.md │ ├── 04d-logcollector.md │ ├── 05a-persistence-syntax.md │ ├── 06a-areg-sdk-tools.md │ ├── 06b-code-generator.md │ ├── 06c-build-lusan.md │ ├── 06d-setup-lusan.md │ ├── 06e-lusan-service-interface.md │ ├── 06f-lusan-live-logging.md │ ├── 06g-lusan-offline-logging.md │ ├── 07a-troubleshooting-wsl-update.md │ ├── 07b-troubleshooting-cmake-linux-builds.md │ ├── 07c-troubleshooting-integration.md │ ├── 08a-examples-and-tests.md │ └── README.md ├── examples/ │ ├── 01_minimalrpc/ │ │ ├── 01_generated.vcxproj │ │ ├── 01_generated.vcxproj.filters │ │ ├── 01_minimalrpc.vcxproj │ │ ├── 01_minimalrpc.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── services/ │ │ │ └── HelloService.siml │ │ └── src/ │ │ └── main.cpp │ ├── 02_minimalipc/ │ │ ├── 02_consumeripc.vcxproj │ │ ├── 02_consumeripc.vcxproj.filters │ │ ├── 02_generated.vcxproj │ │ ├── 02_generated.vcxproj.filters │ │ ├── 02_provideripc.vcxproj │ │ ├── 02_provideripc.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── services/ │ │ │ └── HelloService.siml │ │ └── src/ │ │ ├── consumeripc.cpp │ │ └── provideripc.cpp │ ├── 03_helloservice/ │ │ ├── 03_clientproc.vcxproj │ │ ├── 03_clientproc.vcxproj.filters │ │ ├── 03_generated.vcxproj │ │ ├── 03_generated.vcxproj.filters │ │ ├── 03_onethread.vcxproj │ │ ├── 03_onethread.vcxproj.filters │ │ ├── 03_serviceproc.vcxproj │ │ ├── 03_serviceproc.vcxproj.filters │ │ ├── 03_twothreads.vcxproj │ │ ├── 03_twothreads.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── common/ │ │ │ └── src/ │ │ │ ├── ClientComponent.cpp │ │ │ ├── ClientComponent.hpp │ │ │ ├── ServiceComponent.cpp │ │ │ └── ServiceComponent.hpp │ │ ├── multiprocess/ │ │ │ ├── clientproc/ │ │ │ │ └── src/ │ │ │ │ └── main.cpp │ │ │ └── serviceproc/ │ │ │ └── src/ │ │ │ └── main.cpp │ │ ├── onethread/ │ │ │ └── src/ │ │ │ └── main.cpp │ │ ├── services/ │ │ │ └── HelloService.siml │ │ └── twothreads/ │ │ └── src/ │ │ └── main.cpp │ ├── 04_hellothread/ │ │ ├── 04_hellothread.vcxproj │ │ ├── 04_hellothread.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ └── main.cpp │ ├── 05_buffer/ │ │ ├── 05_buffer.vcxproj │ │ ├── 05_buffer.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ └── main.cpp │ ├── 06_file/ │ │ ├── 06_file.vcxproj │ │ ├── 06_file.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ └── main.cpp │ ├── 07_logging/ │ │ ├── 07_logging.vcxproj │ │ ├── 07_logging.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ └── main.cpp │ ├── 08_timer/ │ │ ├── 08_timer.vcxproj │ │ ├── 08_timer.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ └── main.cpp │ ├── 09_threads/ │ │ ├── 09_threads.vcxproj │ │ ├── 09_threads.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ └── main.cpp │ ├── 10_sync/ │ │ ├── 10_sync.vcxproj │ │ ├── 10_sync.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ └── main.cpp │ ├── 11_service/ │ │ ├── 11_service.vcxproj │ │ ├── 11_service.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ ├── ServicingComponent.cpp │ │ ├── ServicingComponent.hpp │ │ └── main.cpp │ ├── 12_svcmulti/ │ │ ├── 12_svcmulti.vcxproj │ │ ├── 12_svcmulti.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ ├── ServicingComponent.cpp │ │ ├── ServicingComponent.hpp │ │ └── main.cpp │ ├── 13_locsvc/ │ │ ├── 13_generated.vcxproj │ │ ├── 13_generated.vcxproj.filters │ │ ├── 13_locservice.vcxproj │ │ ├── 13_locservice.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── locservice/ │ │ │ └── src/ │ │ │ ├── ServiceClient.cpp │ │ │ ├── ServiceClient.hpp │ │ │ ├── ServicingComponent.cpp │ │ │ ├── ServicingComponent.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ └── HelloWorld.siml │ ├── 14_locmesh/ │ │ ├── 14_generated.vcxproj │ │ ├── 14_generated.vcxproj.filters │ │ ├── 14_localmesh.vcxproj │ │ ├── 14_localmesh.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── locsvcmesh/ │ │ │ └── src/ │ │ │ ├── ClientComponent.cpp │ │ │ ├── ClientComponent.hpp │ │ │ ├── ServiceClient.cpp │ │ │ ├── ServiceClient.hpp │ │ │ ├── ServiceHelloWorld.cpp │ │ │ ├── ServiceHelloWorld.hpp │ │ │ ├── ServicingComponents.cpp │ │ │ ├── ServicingComponents.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ └── HelloWorld.siml │ ├── 15_pubsvc/ │ │ ├── 15_generated.vcxproj │ │ ├── 15_generated.vcxproj.filters │ │ ├── 15_pubclient.vcxproj │ │ ├── 15_pubclient.vcxproj.filters │ │ ├── 15_pubservice.vcxproj │ │ ├── 15_pubservice.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── pubclient/ │ │ │ └── src/ │ │ │ ├── ServiceClient.cpp │ │ │ ├── ServiceClient.hpp │ │ │ └── main.cpp │ │ ├── pubservice/ │ │ │ └── src/ │ │ │ ├── ServicingComponent.cpp │ │ │ ├── ServicingComponent.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ └── HelloWorld.siml │ ├── 16_pubmesh/ │ │ ├── 16_common.vcxproj │ │ ├── 16_common.vcxproj.filters │ │ ├── 16_generated.vcxproj │ │ ├── 16_generated.vcxproj.filters │ │ ├── 16_pubclients.vcxproj │ │ ├── 16_pubclients.vcxproj.filters │ │ ├── 16_pubservice.vcxproj │ │ ├── 16_pubservice.vcxproj.filters │ │ ├── 16_pubsvcmesh.vcxproj │ │ ├── 16_pubsvcmesh.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── common/ │ │ │ └── src/ │ │ │ ├── LocalHelloWorldClient.cpp │ │ │ ├── LocalHelloWorldClient.hpp │ │ │ ├── LocalHelloWorldService.cpp │ │ │ ├── LocalHelloWorldService.hpp │ │ │ ├── NECommon.hpp │ │ │ ├── PublicHelloWorldClient.cpp │ │ │ ├── PublicHelloWorldClient.hpp │ │ │ ├── PublicHelloWorldService.cpp │ │ │ └── PublicHelloWorldService.hpp │ │ ├── pubclients/ │ │ │ └── src/ │ │ │ └── main.cpp │ │ ├── pubservice/ │ │ │ └── src/ │ │ │ ├── PublicServiceComponent.cpp │ │ │ ├── PublicServiceComponent.hpp │ │ │ └── main.cpp │ │ ├── pubsvcmesh/ │ │ │ └── src/ │ │ │ └── main.cpp │ │ └── services/ │ │ ├── LocalHelloWorld.siml │ │ ├── PublicHelloWorld.siml │ │ └── SystemShutdown.siml │ ├── 17_pubtraffic/ │ │ ├── 17_generated.vcxproj │ │ ├── 17_generated.vcxproj.filters │ │ ├── 17_pubclient.vcxproj │ │ ├── 17_pubclient.vcxproj.filters │ │ ├── 17_pubservice.vcxproj │ │ ├── 17_pubservice.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── common/ │ │ │ └── NECommon.hpp │ │ ├── pubclient/ │ │ │ └── src/ │ │ │ ├── TrafficLightClient.cpp │ │ │ ├── TrafficLightClient.hpp │ │ │ └── main.cpp │ │ ├── pubservice/ │ │ │ └── src/ │ │ │ ├── TrafficLightService.cpp │ │ │ ├── TrafficLightService.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ └── SimpleTrafficLight.siml │ ├── 18_pubworker/ │ │ ├── 18_common.vcxproj │ │ ├── 18_common.vcxproj.filters │ │ ├── 18_generated.vcxproj │ │ ├── 18_generated.vcxproj.filters │ │ ├── 18_pubclient.vcxproj │ │ ├── 18_pubclient.vcxproj.filters │ │ ├── 18_pubservice.vcxproj │ │ ├── 18_pubservice.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── common/ │ │ │ ├── NECommon.hpp │ │ │ └── PatientInfoEvent.hpp │ │ ├── pubclient/ │ │ │ └── src/ │ │ │ ├── HardwareWorkerConsumer.cpp │ │ │ ├── HardwareWorkerConsumer.hpp │ │ │ ├── PatientClient.cpp │ │ │ ├── PatientClient.hpp │ │ │ └── main.cpp │ │ ├── pubservice/ │ │ │ └── src/ │ │ │ ├── PatientService.cpp │ │ │ ├── PatientService.hpp │ │ │ ├── PatientServiceWorkerConsumer.cpp │ │ │ ├── PatientServiceWorkerConsumer.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ └── PatientInformation.siml │ ├── 19_pubfsm/ │ │ ├── 19_generated.vcxproj │ │ ├── 19_generated.vcxproj.filters │ │ ├── 19_pubclient.vcxproj │ │ ├── 19_pubclient.vcxproj.filters │ │ ├── 19_pubservice.vcxproj │ │ ├── 19_pubservice.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── common/ │ │ │ └── NECommon.hpp │ │ ├── pubclient/ │ │ │ └── src/ │ │ │ ├── TrafficLightClient.cpp │ │ │ ├── TrafficLightClient.hpp │ │ │ └── main.cpp │ │ ├── pubservice/ │ │ │ └── src/ │ │ │ ├── IETrafficLightActionHandler.cpp │ │ │ ├── IETrafficLightActionHandler.hpp │ │ │ ├── NETrafficLightFSM.cpp │ │ │ ├── NETrafficLightFSM.hpp │ │ │ ├── PowerControllerClient.cpp │ │ │ ├── PowerControllerClient.hpp │ │ │ ├── TrafficLightFSM.cpp │ │ │ ├── TrafficLightFSM.hpp │ │ │ ├── TrafficLightService.cpp │ │ │ ├── TrafficLightService.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ ├── PowerManager.siml │ │ └── TrafficController.siml │ ├── 20_winchat/ │ │ ├── 20_chatter.vcxproj │ │ ├── 20_chatter.vcxproj.filters │ │ ├── 20_generated.vcxproj │ │ ├── 20_generated.vcxproj.filters │ │ ├── 20_register.vcxproj │ │ ├── 20_register.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── chatter/ │ │ │ ├── DistrbutedApp.cpp │ │ │ ├── DistrbutedApp.hpp │ │ │ ├── NEDistributedApp.cpp │ │ │ ├── NEDistributedApp.hpp │ │ │ ├── res/ │ │ │ │ ├── chatter.rc │ │ │ │ ├── chatter.rc2 │ │ │ │ ├── resource.h │ │ │ │ ├── stdafx.cpp │ │ │ │ ├── stdafx.h │ │ │ │ └── targetver.h │ │ │ ├── services/ │ │ │ │ ├── CentralMessaging.cpp │ │ │ │ ├── CentralMessaging.hpp │ │ │ │ ├── ChatParticipantService.cpp │ │ │ │ ├── ChatParticipantService.hpp │ │ │ │ ├── ChatPrticipantHandler.cpp │ │ │ │ ├── ChatPrticipantHandler.hpp │ │ │ │ ├── ConnectionHandler.cpp │ │ │ │ ├── ConnectionHandler.hpp │ │ │ │ ├── ConnectionList.cpp │ │ │ │ ├── ConnectionList.hpp │ │ │ │ ├── ConnectionService.cpp │ │ │ │ ├── ConnectionService.hpp │ │ │ │ ├── DirectChatService.cpp │ │ │ │ ├── DirectChatService.hpp │ │ │ │ ├── DirectConnectionClient.cpp │ │ │ │ ├── DirectConnectionClient.hpp │ │ │ │ ├── DirectConnectionService.cpp │ │ │ │ ├── DirectConnectionService.hpp │ │ │ │ ├── DirectMessagingClient.cpp │ │ │ │ ├── DirectMessagingClient.hpp │ │ │ │ ├── NetworkSetup.cpp │ │ │ │ └── NetworkSetup.hpp │ │ │ └── ui/ │ │ │ ├── DistributedDialog.cpp │ │ │ ├── DistributedDialog.hpp │ │ │ ├── PageChat.cpp │ │ │ ├── PageChat.hpp │ │ │ ├── PageConnections.cpp │ │ │ ├── PageConnections.hpp │ │ │ ├── PageMessaging.cpp │ │ │ ├── PageMessaging.hpp │ │ │ ├── PageNetworkSetup.cpp │ │ │ └── PageNetworkSetup.hpp │ │ ├── common/ │ │ │ └── NECommon.hpp │ │ ├── register/ │ │ │ ├── CentralApp.cpp │ │ │ ├── CentralApp.hpp │ │ │ ├── NECentralApp.cpp │ │ │ ├── NECentralApp.hpp │ │ │ ├── res/ │ │ │ │ ├── register.rc │ │ │ │ ├── register.rc2 │ │ │ │ ├── resource.h │ │ │ │ ├── stdafx.cpp │ │ │ │ ├── stdafx.h │ │ │ │ └── targetver.h │ │ │ ├── services/ │ │ │ │ ├── ConnectionManager.cpp │ │ │ │ └── ConnectionManager.hpp │ │ │ └── ui/ │ │ │ ├── CentralDialog.cpp │ │ │ ├── CentralDialog.hpp │ │ │ ├── PageBrokerSetup.cpp │ │ │ ├── PageBrokerSetup.hpp │ │ │ ├── PageConnections.cpp │ │ │ └── PageConnections.hpp │ │ └── services/ │ │ ├── CentralMessager.siml │ │ ├── ConnectionManager.siml │ │ ├── DirectConnection.siml │ │ └── DirectMessager.siml │ ├── 21_locwatchdog/ │ │ ├── 21_generated.vcxproj │ │ ├── 21_generated.vcxproj.filters │ │ ├── 21_locservice.vcxproj │ │ ├── 21_locservice.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── locservice/ │ │ │ └── src/ │ │ │ ├── ServiceClient.cpp │ │ │ ├── ServiceClient.hpp │ │ │ ├── ServicingComponent.cpp │ │ │ ├── ServicingComponent.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ └── HelloWatchdog.siml │ ├── 22_pubwatchdog/ │ │ ├── 22_generated.vcxproj │ │ ├── 22_generated.vcxproj.filters │ │ ├── 22_pubclient.vcxproj │ │ ├── 22_pubclient.vcxproj.filters │ │ ├── 22_pubservice.vcxproj │ │ ├── 22_pubservice.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── common/ │ │ │ └── NECommon.hpp │ │ ├── pubclient/ │ │ │ └── src/ │ │ │ ├── ServiceClient.cpp │ │ │ ├── ServiceClient.hpp │ │ │ └── main.cpp │ │ ├── pubservice/ │ │ │ └── src/ │ │ │ ├── ServicingComponent.cpp │ │ │ ├── ServicingComponent.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ └── HelloWatchdog.siml │ ├── 23_pubdatarate/ │ │ ├── 23_generated.vcxproj │ │ ├── 23_generated.vcxproj.filters │ │ ├── 23_pubclient.vcxproj │ │ ├── 23_pubclient.vcxproj.filters │ │ ├── 23_pubservice.vcxproj │ │ ├── 23_pubservice.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── common/ │ │ │ ├── NELargeData.hpp │ │ │ └── SimpleBitmap.hpp │ │ ├── pubclient/ │ │ │ └── src/ │ │ │ ├── ServiceClient.cpp │ │ │ ├── ServiceClient.hpp │ │ │ └── main.cpp │ │ ├── pubservice/ │ │ │ └── src/ │ │ │ ├── NEUtilities.cpp │ │ │ ├── NEUtilities.hpp │ │ │ ├── ServicingComponent.cpp │ │ │ ├── ServicingComponent.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ └── LargeData.siml │ ├── 24_pubunblock/ │ │ ├── 24_generated.vcxproj │ │ ├── 24_generated.vcxproj.filters │ │ ├── 24_pubclient.vcxproj │ │ ├── 24_pubclient.vcxproj.filters │ │ ├── 24_pubservice.vcxproj │ │ ├── 24_pubservice.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── pubclient/ │ │ │ └── src/ │ │ │ ├── ServiceClient.cpp │ │ │ ├── ServiceClient.hpp │ │ │ └── main.cpp │ │ ├── pubservice/ │ │ │ └── src/ │ │ │ ├── ServiceComponent.cpp │ │ │ ├── ServiceComponent.hpp │ │ │ └── main.cpp │ │ └── services/ │ │ └── HelloUnblock.siml │ ├── 25_pubsub/ │ │ ├── 25_generated.vcxproj │ │ ├── 25_generated.vcxproj.filters │ │ ├── 25_publisher.vcxproj │ │ ├── 25_publisher.vcxproj.filters │ │ ├── 25_subscriber.vcxproj │ │ ├── 25_subscriber.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── publisher/ │ │ │ └── src/ │ │ │ ├── Publisher.cpp │ │ │ ├── Publisher.hpp │ │ │ └── main.cpp │ │ ├── services/ │ │ │ └── PubSub.siml │ │ └── subscriber/ │ │ └── src/ │ │ ├── Subscriber.cpp │ │ ├── Subscriber.hpp │ │ └── main.cpp │ ├── 26_pubsubmix/ │ │ ├── 26_common.vcxproj │ │ ├── 26_common.vcxproj.filters │ │ ├── 26_generated.vcxproj │ │ ├── 26_generated.vcxproj.filters │ │ ├── 26_pubsubctrl.vcxproj │ │ ├── 26_pubsubctrl.vcxproj.filters │ │ ├── 26_pubsubdyn.vcxproj │ │ ├── 26_pubsubdyn.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── common/ │ │ │ └── src/ │ │ │ ├── NECommon.cpp │ │ │ ├── NECommon.hpp │ │ │ ├── PubSubMixed.cpp │ │ │ ├── PubSubMixed.hpp │ │ │ ├── Publisher.cpp │ │ │ ├── Publisher.hpp │ │ │ ├── Subscriber.cpp │ │ │ └── Subscriber.hpp │ │ ├── pubsubctrl/ │ │ │ └── src/ │ │ │ ├── PubSubController.cpp │ │ │ ├── PubSubController.hpp │ │ │ └── main.cpp │ │ ├── pubsubdyn/ │ │ │ └── src/ │ │ │ └── main.cpp │ │ └── services/ │ │ └── PubSubMix.siml │ ├── 27_pubsubmulti/ │ │ ├── 27_generated.vcxproj │ │ ├── 27_generated.vcxproj.filters │ │ ├── 27_publisher.vcxproj │ │ ├── 27_publisher.vcxproj.filters │ │ ├── 27_subscribermulti.vcxproj │ │ ├── 27_subscribermulti.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ ├── publisher/ │ │ │ └── src/ │ │ │ ├── Publisher.cpp │ │ │ ├── Publisher.hpp │ │ │ └── main.cpp │ │ ├── services/ │ │ │ └── PubSub.siml │ │ └── subscribermulti/ │ │ └── src/ │ │ ├── NECommon.hpp │ │ ├── Subscriber.cpp │ │ ├── Subscriber.hpp │ │ ├── SubscriberBase.cpp │ │ ├── SubscriberBase.hpp │ │ ├── SubscriberSecond.cpp │ │ ├── SubscriberSecond.hpp │ │ └── main.cpp │ ├── 28_stlsync/ │ │ ├── 28_stlsync.vcxproj │ │ ├── 28_stlsync.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ └── main.cpp │ ├── 29_syncevent/ │ │ ├── 29_syncevent.vcxproj │ │ ├── 29_syncevent.vcxproj.filters │ │ ├── CMakeLists.txt │ │ ├── ReadMe.md │ │ └── src/ │ │ └── main.cpp │ ├── CMakeLists.txt │ ├── README.md │ ├── dummy/ │ │ ├── dummy.cpp │ │ ├── dummy.vcxproj │ │ └── dummy.vcxproj.filters │ └── examples_generate.bat ├── framework/ │ ├── CMakeLists.txt │ ├── README.md │ ├── areg/ │ │ ├── CMakeLists.txt │ │ ├── Readme.md │ │ ├── appbase/ │ │ │ ├── Application.hpp │ │ │ ├── NEApplication.hpp │ │ │ └── private/ │ │ │ ├── Application.cpp │ │ │ ├── CMakeLists.txt │ │ │ ├── NEApplication.cpp │ │ │ ├── configure.cpp │ │ │ ├── configure.hpp │ │ │ ├── posix/ │ │ │ │ └── ApplicationPosix.cpp │ │ │ └── win32/ │ │ │ └── ApplicationWin32.cpp │ │ ├── base/ │ │ │ ├── BufferStreamBase.hpp │ │ │ ├── Containers.hpp │ │ │ ├── DateTime.hpp │ │ │ ├── File.hpp │ │ │ ├── FileBase.hpp │ │ │ ├── FileBuffer.hpp │ │ │ ├── GEGlobal.h │ │ │ ├── GEMacros.h │ │ │ ├── GESwitches.h │ │ │ ├── GETypes.h │ │ │ ├── IEByteBuffer.hpp │ │ │ ├── IECursorPosition.hpp │ │ │ ├── IEGenericObject.hpp │ │ │ ├── IEIOStream.hpp │ │ │ ├── IESyncObject.hpp │ │ │ ├── IEThreadConsumer.hpp │ │ │ ├── Identifier.hpp │ │ │ ├── NECommon.hpp │ │ │ ├── NEMath.hpp │ │ │ ├── NEMemory.hpp │ │ │ ├── NESocket.hpp │ │ │ ├── NEString.hpp │ │ │ ├── NEUtilities.hpp │ │ │ ├── Object.hpp │ │ │ ├── Process.hpp │ │ │ ├── RemoteMessage.hpp │ │ │ ├── RuntimeClassID.hpp │ │ │ ├── RuntimeObject.hpp │ │ │ ├── SharedBuffer.hpp │ │ │ ├── Socket.hpp │ │ │ ├── SocketAccepted.hpp │ │ │ ├── SocketClient.hpp │ │ │ ├── SocketServer.hpp │ │ │ ├── String.hpp │ │ │ ├── SyncObjects.hpp │ │ │ ├── TEArrayList.hpp │ │ │ ├── TEFixedArray.hpp │ │ │ ├── TEHashMap.hpp │ │ │ ├── TELinkedList.hpp │ │ │ ├── TEMap.hpp │ │ │ ├── TEProperty.hpp │ │ │ ├── TEResourceListMap.hpp │ │ │ ├── TEResourceMap.hpp │ │ │ ├── TERingStack.hpp │ │ │ ├── TERuntimeResourceMap.hpp │ │ │ ├── TESortedLinkedList.hpp │ │ │ ├── TEStack.hpp │ │ │ ├── TEString.hpp │ │ │ ├── TETemplateBase.hpp │ │ │ ├── Thread.hpp │ │ │ ├── ThreadAddress.hpp │ │ │ ├── ThreadLocalStorage.hpp │ │ │ ├── Version.hpp │ │ │ ├── WideString.hpp │ │ │ └── private/ │ │ │ ├── BufferPosition.cpp │ │ │ ├── BufferPosition.hpp │ │ │ ├── BufferStreamBase.cpp │ │ │ ├── CMakeLists.txt │ │ │ ├── Containers.cpp │ │ │ ├── DateTime.cpp │ │ │ ├── File.cpp │ │ │ ├── FileBase.cpp │ │ │ ├── FileBuffer.cpp │ │ │ ├── GEGlobal.cpp │ │ │ ├── IEByteBuffer.cpp │ │ │ ├── IECursorPosition.cpp │ │ │ ├── IEGenericObject.cpp │ │ │ ├── IEIOStream.cpp │ │ │ ├── IESyncObject.cpp │ │ │ ├── IEThreadConsumer.cpp │ │ │ ├── Identifier.cpp │ │ │ ├── NECommon.cpp │ │ │ ├── NEDebug.cpp │ │ │ ├── NEDebug.hpp │ │ │ ├── NEMath.cpp │ │ │ ├── NEMemory.cpp │ │ │ ├── NESocket.cpp │ │ │ ├── NEString.cpp │ │ │ ├── NEUtilities.cpp │ │ │ ├── Object.cpp │ │ │ ├── Process.cpp │ │ │ ├── ReadConverter.cpp │ │ │ ├── ReadConverter.hpp │ │ │ ├── RemoteMessage.cpp │ │ │ ├── RuntimeBase.cpp │ │ │ ├── RuntimeBase.hpp │ │ │ ├── RuntimeClassID.cpp │ │ │ ├── RuntimeObject.cpp │ │ │ ├── SharedBuffer.cpp │ │ │ ├── Socket.cpp │ │ │ ├── SocketAccepted.cpp │ │ │ ├── SocketClient.cpp │ │ │ ├── SocketServer.cpp │ │ │ ├── String.cpp │ │ │ ├── SyncObjects.cpp │ │ │ ├── Thread.cpp │ │ │ ├── ThreadAddress.cpp │ │ │ ├── ThreadLocalStorage.cpp │ │ │ ├── Version.cpp │ │ │ ├── WideString.cpp │ │ │ ├── WriteConverter.cpp │ │ │ ├── WriteConverter.hpp │ │ │ ├── posix/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CriticalSectionIX.cpp │ │ │ │ ├── CriticalSectionIX.hpp │ │ │ │ ├── FilePosix.cpp │ │ │ │ ├── IESyncObjectBaseIX.cpp │ │ │ │ ├── IESyncObjectBaseIX.hpp │ │ │ │ ├── IEWaitableBaseIX.cpp │ │ │ │ ├── IEWaitableBaseIX.hpp │ │ │ │ ├── MutexIX.cpp │ │ │ │ ├── MutexIX.hpp │ │ │ │ ├── NEDebugPosix.cpp │ │ │ │ ├── NESocketPosix.cpp │ │ │ │ ├── NESyncTypesIX.hpp │ │ │ │ ├── NEUtilitiesPosix.cpp │ │ │ │ ├── ProcessPosix.cpp │ │ │ │ ├── SpinLockIX.cpp │ │ │ │ ├── SpinLockIX.hpp │ │ │ │ ├── SyncLockAndWaitIX.cpp │ │ │ │ ├── SyncLockAndWaitIX.hpp │ │ │ │ ├── SyncObjectsPosix.cpp │ │ │ │ ├── ThreadPosix.cpp │ │ │ │ ├── WaitableEventIX.cpp │ │ │ │ ├── WaitableEventIX.hpp │ │ │ │ ├── WaitableMutexIX.cpp │ │ │ │ ├── WaitableMutexIX.hpp │ │ │ │ ├── WaitableSemaphoreIX.cpp │ │ │ │ ├── WaitableSemaphoreIX.hpp │ │ │ │ ├── WaitableTimerIX.cpp │ │ │ │ └── WaitableTimerIX.hpp │ │ │ └── win32/ │ │ │ ├── CMakeLists.txt │ │ │ ├── FileWin32.cpp │ │ │ ├── NEDebugWin32.cpp │ │ │ ├── NESocketWin32.cpp │ │ │ ├── NEUtilitiesWin32.cpp │ │ │ ├── ProcessWin32.cpp │ │ │ ├── SpinLockWin32.cpp │ │ │ ├── SpinLockWin32.hpp │ │ │ ├── SyncObjectsWin32.cpp │ │ │ └── ThreadWin32.cpp │ │ ├── component/ │ │ │ ├── Channel.hpp │ │ │ ├── Component.hpp │ │ │ ├── ComponentAddress.hpp │ │ │ ├── ComponentLoader.hpp │ │ │ ├── ComponentThread.hpp │ │ │ ├── DispatcherThread.hpp │ │ │ ├── Event.hpp │ │ │ ├── EventData.hpp │ │ │ ├── EventDataStream.hpp │ │ │ ├── EventDispatcher.hpp │ │ │ ├── IEEventConsumer.hpp │ │ │ ├── IEEventRouter.hpp │ │ │ ├── IEProxyListener.hpp │ │ │ ├── IERemoteEventConsumer.hpp │ │ │ ├── IETimerConsumer.hpp │ │ │ ├── IEWorkerThreadConsumer.hpp │ │ │ ├── NERegistry.hpp │ │ │ ├── NEService.hpp │ │ │ ├── NotificationEvent.hpp │ │ │ ├── ProxyAddress.hpp │ │ │ ├── ProxyBase.hpp │ │ │ ├── ProxyEvent.hpp │ │ │ ├── RemoteEventFactory.hpp │ │ │ ├── RequestEvents.hpp │ │ │ ├── ResponseEvents.hpp │ │ │ ├── ServiceAddress.hpp │ │ │ ├── ServiceItem.hpp │ │ │ ├── ServiceRequestEvent.hpp │ │ │ ├── ServiceResponseEvent.hpp │ │ │ ├── StreamableEvent.hpp │ │ │ ├── StubAddress.hpp │ │ │ ├── StubBase.hpp │ │ │ ├── StubEvent.hpp │ │ │ ├── TEEvent.hpp │ │ │ ├── Timer.hpp │ │ │ ├── TimerBase.hpp │ │ │ ├── WorkerThread.hpp │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Channel.cpp │ │ │ ├── ClientInfo.cpp │ │ │ ├── ClientInfo.hpp │ │ │ ├── ClientList.cpp │ │ │ ├── ClientList.hpp │ │ │ ├── Component.cpp │ │ │ ├── ComponentAddress.cpp │ │ │ ├── ComponentInfo.cpp │ │ │ ├── ComponentInfo.hpp │ │ │ ├── ComponentLoader.cpp │ │ │ ├── ComponentThread.cpp │ │ │ ├── DispatcherThread.cpp │ │ │ ├── Event.cpp │ │ │ ├── EventConsumerMap.cpp │ │ │ ├── EventConsumerMap.hpp │ │ │ ├── EventData.cpp │ │ │ ├── EventDataStream.cpp │ │ │ ├── EventDispatcher.cpp │ │ │ ├── EventDispatcherBase.cpp │ │ │ ├── EventDispatcherBase.hpp │ │ │ ├── EventQueue.cpp │ │ │ ├── EventQueue.hpp │ │ │ ├── ExitEvent.cpp │ │ │ ├── ExitEvent.hpp │ │ │ ├── IEEventConsumer.cpp │ │ │ ├── IEEventDispatcher.cpp │ │ │ ├── IEEventDispatcher.hpp │ │ │ ├── IEEventRouter.cpp │ │ │ ├── IEProxyListener.cpp │ │ │ ├── IEQueueListener.cpp │ │ │ ├── IEQueueListener.hpp │ │ │ ├── IERemoteEventConsumer.cpp │ │ │ ├── IETimerConsumer.cpp │ │ │ ├── IEWorkerThreadConsumer.cpp │ │ │ ├── NERegistry.cpp │ │ │ ├── NEService.cpp │ │ │ ├── NotificationEvent.cpp │ │ │ ├── ProxyAddress.cpp │ │ │ ├── ProxyBase.cpp │ │ │ ├── ProxyConnectEvent.cpp │ │ │ ├── ProxyConnectEvent.hpp │ │ │ ├── ProxyEvent.cpp │ │ │ ├── RemoteEventFactory.cpp │ │ │ ├── RequestEvents.cpp │ │ │ ├── ResponseEvents.cpp │ │ │ ├── ServerInfo.cpp │ │ │ ├── ServerInfo.hpp │ │ │ ├── ServerList.cpp │ │ │ ├── ServerList.hpp │ │ │ ├── ServiceAddress.cpp │ │ │ ├── ServiceItem.cpp │ │ │ ├── ServiceManager.cpp │ │ │ ├── ServiceManager.hpp │ │ │ ├── ServiceManagerEventProcessor.cpp │ │ │ ├── ServiceManagerEventProcessor.hpp │ │ │ ├── ServiceManagerEvents.cpp │ │ │ ├── ServiceManagerEvents.hpp │ │ │ ├── ServiceRequestEvent.cpp │ │ │ ├── ServiceResponseEvent.cpp │ │ │ ├── SortedEventStack.cpp │ │ │ ├── SortedEventStack.hpp │ │ │ ├── StreamableEvent.cpp │ │ │ ├── StubAddress.cpp │ │ │ ├── StubBase.cpp │ │ │ ├── StubConnectEvent.cpp │ │ │ ├── StubConnectEvent.hpp │ │ │ ├── StubEvent.cpp │ │ │ ├── TEEvent.cpp │ │ │ ├── Timer.cpp │ │ │ ├── TimerBase.cpp │ │ │ ├── TimerEventData.cpp │ │ │ ├── TimerEventData.hpp │ │ │ ├── TimerManager.cpp │ │ │ ├── TimerManager.hpp │ │ │ ├── TimerManagerBase.cpp │ │ │ ├── TimerManagerBase.hpp │ │ │ ├── TimerManagerEvent.cpp │ │ │ ├── TimerManagerEvent.hpp │ │ │ ├── Watchdog.cpp │ │ │ ├── Watchdog.hpp │ │ │ ├── WatchdogManager.cpp │ │ │ ├── WatchdogManager.hpp │ │ │ ├── WorkerThread.cpp │ │ │ ├── posix/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── TimerBasePosix.cpp │ │ │ │ ├── TimerManagerPosix.cpp │ │ │ │ ├── TimerPosix.cpp │ │ │ │ ├── TimerPosix.hpp │ │ │ │ └── WatchdogManagerPosix.cpp │ │ │ └── win32/ │ │ │ ├── CMakeLists.txt │ │ │ ├── TimerBaseWin32.cpp │ │ │ ├── TimerManagerWin32.cpp │ │ │ └── WatchdogManagerWin32.cpp │ │ ├── ipc/ │ │ │ ├── ClientConnection.hpp │ │ │ ├── ConnectionConfiguration.hpp │ │ │ ├── IERemoteMessageHandler.hpp │ │ │ ├── IEServiceConnectionConsumer.hpp │ │ │ ├── IEServiceConnectionProvider.hpp │ │ │ ├── IEServiceRegisterConsumer.hpp │ │ │ ├── IEServiceRegisterProvider.hpp │ │ │ ├── NERemoteService.hpp │ │ │ ├── SendMessageEvent.hpp │ │ │ ├── ServerConnectionBase.hpp │ │ │ ├── ServiceClientConnectionBase.hpp │ │ │ ├── ServiceEvent.hpp │ │ │ ├── ServiceEventConsumerBase.hpp │ │ │ ├── SocketConnectionBase.hpp │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ClientConnection.cpp │ │ │ ├── ClientReceiveThread.cpp │ │ │ ├── ClientReceiveThread.hpp │ │ │ ├── ClientSendThread.cpp │ │ │ ├── ClientSendThread.hpp │ │ │ ├── ConnectionConfiguration.cpp │ │ │ ├── IERemoteMessageHandler.cpp │ │ │ ├── IEServiceConnectionConsumer.cpp │ │ │ ├── IEServiceConnectionProvider.cpp │ │ │ ├── IEServiceRegisterConsumer.cpp │ │ │ ├── IEServiceRegisterProvider.cpp │ │ │ ├── NEConnection.cpp │ │ │ ├── NEConnection.hpp │ │ │ ├── NERemoteService.cpp │ │ │ ├── RouterClient.cpp │ │ │ ├── RouterClient.hpp │ │ │ ├── SendMessageEvent.cpp │ │ │ ├── ServerConnectionBase.cpp │ │ │ ├── ServiceClientConnectionBase.cpp │ │ │ ├── ServiceEvent.cpp │ │ │ ├── ServiceEventConsumerBase.cpp │ │ │ └── SocketConnectionBase.cpp │ │ ├── logging/ │ │ │ ├── GELog.h │ │ │ ├── IELogDatabaseEngine.hpp │ │ │ ├── LogConfiguration.hpp │ │ │ ├── LogScope.hpp │ │ │ ├── NELogging.hpp │ │ │ ├── ScopeMessage.hpp │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── DatabaseLogger.cpp │ │ │ ├── DatabaseLogger.hpp │ │ │ ├── DebugOutputLogger.cpp │ │ │ ├── DebugOutputLogger.hpp │ │ │ ├── FileLogger.cpp │ │ │ ├── FileLogger.hpp │ │ │ ├── IELogDatabaseEngine.cpp │ │ │ ├── LayoutManager.cpp │ │ │ ├── LayoutManager.hpp │ │ │ ├── Layouts.cpp │ │ │ ├── Layouts.hpp │ │ │ ├── LogConfiguration.cpp │ │ │ ├── LogEventProcessor.cpp │ │ │ ├── LogEventProcessor.hpp │ │ │ ├── LogManager.cpp │ │ │ ├── LogManager.hpp │ │ │ ├── LogMessage.cpp │ │ │ ├── LogMessage.hpp │ │ │ ├── LogScope.cpp │ │ │ ├── LoggerBase.cpp │ │ │ ├── LoggerBase.hpp │ │ │ ├── LoggingEvent.cpp │ │ │ ├── LoggingEvent.hpp │ │ │ ├── NELogOptions.cpp │ │ │ ├── NELogOptions.hpp │ │ │ ├── NELogging.cpp │ │ │ ├── NetTcpLogger.cpp │ │ │ ├── NetTcpLogger.hpp │ │ │ ├── ScopeController.cpp │ │ │ ├── ScopeController.hpp │ │ │ ├── ScopeMessage.cpp │ │ │ ├── ScopeNodeBase.cpp │ │ │ ├── ScopeNodeBase.hpp │ │ │ ├── ScopeNodes.cpp │ │ │ └── ScopeNodes.hpp │ │ ├── persist/ │ │ │ ├── ConfigManager.hpp │ │ │ ├── IEConfigurationListener.hpp │ │ │ ├── IEDatabaseEngine.hpp │ │ │ ├── NEPersistence.hpp │ │ │ ├── Property.hpp │ │ │ ├── PropertyKey.hpp │ │ │ ├── PropertyValue.hpp │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ConfigManager.cpp │ │ │ ├── IEConfigurationListener.cpp │ │ │ ├── IEDatabaseEngine.cpp │ │ │ ├── NEPersistence.cpp │ │ │ ├── Property.cpp │ │ │ ├── PropertyKey.cpp │ │ │ └── PropertyValue.cpp │ │ ├── resources/ │ │ │ ├── areg.init │ │ │ ├── areg.rc │ │ │ ├── areg_post_build.bat │ │ │ └── resource.h │ │ └── system/ │ │ ├── GEPlatform.h │ │ ├── posix/ │ │ │ └── GEPosix.h │ │ └── windows/ │ │ └── GEWindows.h │ ├── areg.vcxproj │ ├── areg.vcxproj.filters │ ├── aregextend/ │ │ ├── CMakeLists.txt │ │ ├── Readme.md │ │ ├── console/ │ │ │ ├── Console.hpp │ │ │ ├── OptionParser.hpp │ │ │ ├── SystemServiceConsole.hpp │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Console.cpp │ │ │ ├── OptionParser.cpp │ │ │ ├── SystemServiceConsole.cpp │ │ │ ├── ansi/ │ │ │ │ └── ConsoleAnsi.cpp │ │ │ ├── ncurses/ │ │ │ │ └── ConsoleNcurses.cpp │ │ │ └── win32/ │ │ │ └── ConsoleWin32.cpp │ │ ├── db/ │ │ │ ├── LogSqliteDatabase.hpp │ │ │ ├── SqliteDatabase.hpp │ │ │ ├── SqliteRow.hpp │ │ │ ├── SqliteStatement.hpp │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── LogSqliteDatabase.cpp │ │ │ ├── SqliteDatabase.cpp │ │ │ ├── SqliteRow.cpp │ │ │ └── SqliteStatement.cpp │ │ ├── resources/ │ │ │ ├── aregextend.rc │ │ │ └── resource.h │ │ └── service/ │ │ ├── DataRateHelper.hpp │ │ ├── IEServiceConnectionHandler.hpp │ │ ├── NESystemService.hpp │ │ ├── ServerConnection.hpp │ │ ├── ServiceApplicationBase.hpp │ │ ├── ServiceCommunicatonBase.hpp │ │ ├── SystemServiceBase.hpp │ │ └── private/ │ │ ├── CMakeLists.txt │ │ ├── DataRateHelper.cpp │ │ ├── IEServiceConnectionHandler.cpp │ │ ├── NESystemService.cpp │ │ ├── ServerConnection.cpp │ │ ├── ServerReceiveThread.cpp │ │ ├── ServerReceiveThread.hpp │ │ ├── ServerSendThread.cpp │ │ ├── ServerSendThread.hpp │ │ ├── ServiceApplicationBase.cpp │ │ ├── ServiceCommunicatonBase.cpp │ │ ├── SystemServiceBase.cpp │ │ ├── posix/ │ │ │ └── ServiceApplicationBasePosix.cpp │ │ └── win32/ │ │ └── ServiceApplicationBaseWin32.cpp │ ├── aregextend.vcxproj │ ├── aregextend.vcxproj.filters │ ├── areglogger/ │ │ ├── CMakeLists.txt │ │ ├── Readme.md │ │ ├── client/ │ │ │ ├── LogObserverApi.h │ │ │ ├── LogObserverBase.hpp │ │ │ ├── LogObserverSwitches.h │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── LogObserverApi.cpp │ │ │ ├── LogObserverBase.cpp │ │ │ ├── LoggerClient.cpp │ │ │ ├── LoggerClient.hpp │ │ │ ├── ObserverMessageProcessor.cpp │ │ │ └── ObserverMessageProcessor.hpp │ │ └── resources/ │ │ ├── areglogger.def │ │ ├── areglogger.rc │ │ └── resource.h │ ├── areglogger.vcxproj │ ├── areglogger.vcxproj.filters │ ├── logcollector/ │ │ ├── CMakeLists.txt │ │ ├── Readme.md │ │ ├── app/ │ │ │ ├── LogCollector.hpp │ │ │ ├── NELogCollectorSettings.hpp │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── LogCollector.cpp │ │ │ ├── LogCollectorConsoleService.cpp │ │ │ ├── LogCollectorConsoleService.hpp │ │ │ ├── NELogCollectorSettings.cpp │ │ │ ├── posix/ │ │ │ │ └── LogCollectorPosix.cpp │ │ │ └── win32/ │ │ │ └── LogCollectorWin32.cpp │ │ ├── resources/ │ │ │ ├── Readme.md │ │ │ ├── logcollector.rc │ │ │ ├── logcollector.service │ │ │ ├── logcollector.service.install.bat │ │ │ ├── logcollector.service.uninstall.bat │ │ │ ├── logcollector_post_build.bat │ │ │ ├── resource.h │ │ │ ├── targetver.h │ │ │ └── tech.areg.logcollector.plist │ │ └── service/ │ │ ├── LogCollectorServerService.hpp │ │ └── private/ │ │ ├── CMakeLists.txt │ │ ├── LogCollectorMessageProcessor.cpp │ │ ├── LogCollectorMessageProcessor.hpp │ │ └── LogCollectorServerService.cpp │ ├── logcollector.vcxproj │ ├── logcollector.vcxproj.filters │ ├── logobserver/ │ │ ├── CMakeLists.txt │ │ ├── Readme.md │ │ ├── app/ │ │ │ ├── LogObserver.hpp │ │ │ ├── NELogObserverSettings.hpp │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── LogObserver.cpp │ │ │ ├── NELogObserverSettings.cpp │ │ │ ├── posix/ │ │ │ │ └── LogObserverPosix.cpp │ │ │ └── win32/ │ │ │ └── LogObserverWin32.cpp │ │ └── resources/ │ │ ├── logobserver.rc │ │ ├── resource.h │ │ └── targetver.h │ ├── logobserver.vcxproj │ ├── logobserver.vcxproj.filters │ ├── mtrouter/ │ │ ├── CMakeLists.txt │ │ ├── Readme.md │ │ ├── app/ │ │ │ ├── MultitargetRouter.hpp │ │ │ ├── NEMultitargetRouterSettings.hpp │ │ │ └── private/ │ │ │ ├── CMakeLists.txt │ │ │ ├── MultitargetRouter.cpp │ │ │ ├── NEMultitargetRouterSettings.cpp │ │ │ ├── RouterConsoleService.cpp │ │ │ ├── RouterConsoleService.hpp │ │ │ ├── posix/ │ │ │ │ └── MultitargetRouterPosix.cpp │ │ │ └── win32/ │ │ │ └── MultitargetRouterWin32.cpp │ │ ├── resources/ │ │ │ ├── Readme.md │ │ │ ├── mtrouter.rc │ │ │ ├── mtrouter.service │ │ │ ├── mtrouter.service.install.bat │ │ │ ├── mtrouter.service.uninstall.bat │ │ │ ├── mtrouter_post_build.bat │ │ │ ├── resource.h │ │ │ ├── targetver.h │ │ │ └── tech.areg.mtrouter.plist │ │ └── service/ │ │ ├── RouterServerService.hpp │ │ └── private/ │ │ ├── CMakeLists.txt │ │ ├── ListServiceProxies.cpp │ │ ├── ListServiceProxies.hpp │ │ ├── RouterServerService.cpp │ │ ├── ServiceProxy.cpp │ │ ├── ServiceProxy.hpp │ │ ├── ServiceRegistry.cpp │ │ ├── ServiceRegistry.hpp │ │ ├── ServiceStub.cpp │ │ └── ServiceStub.hpp │ ├── mtrouter.vcxproj │ └── mtrouter.vcxproj.filters ├── msvc_setup.props ├── nuget.config ├── tests/ │ ├── CMakeLists.txt │ ├── areg-unit-tests.vcxproj │ ├── areg-unit-tests.vcxproj.filters │ ├── packages.config │ └── units/ │ ├── CMakeLists.txt │ ├── DateTimeTest.cpp │ ├── FileTest.cpp │ ├── GUnitTest.cpp │ ├── GUnitTest.hpp │ ├── LogScopesTest.cpp │ ├── NEStringTest.cpp │ ├── OptionParserTest.cpp │ ├── StringUtilsTest.cpp │ ├── TEArrayListTest.cpp │ ├── TEFixedArrayTest.cpp │ ├── TEHashMapTest.cpp │ ├── TELinkedListTest.cpp │ ├── TEMapTest.cpp │ ├── TEPropertyTest.cpp │ ├── TERingStackTest.cpp │ ├── TESortedLinkedListTest.cpp │ ├── TEStackTest.cpp │ └── UnitTestUtilities.hpp ├── thirdparty/ │ ├── CMakeLists.txt │ ├── sqlite3/ │ │ ├── CMakeLists.txt │ │ ├── LICENSE.txt │ │ ├── Readme.md │ │ └── amalgamation/ │ │ ├── shell.c │ │ ├── sqlite3.c │ │ ├── sqlite3.h │ │ └── sqlite3ext.h │ ├── sqlite3.vcxproj │ └── sqlite3.vcxproj.filters └── tools/ ├── README.md ├── codegen.jar ├── codegenerate.bat ├── codegenerate.sh ├── setup-project.bat └── setup-project.sh