Copy disabled (too large)
Download .txt
Showing preview only (19,249K chars total). Download the full file to get everything.
Repository: aregtech/areg-sdk
Branch: master
Commit: 78be212621a2
Files: 1112
Total size: 18.1 MB
Directory structure:
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
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: aregtech
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior.
- It would be very helpful to get a running example.
- If bug is obvious without an example, please be clear like
1. Open the file '...'
2. Go to line '...'
3. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop or embedded (please complete the following information):**
- OS: [e.g. Ubuntu Linux]
- Version [e.g. 22]
- Hardware [e.g. x86]
- Compiler [e.g. g++]
- AREG SDK version [e.g. 1.0.1]
**Additional context**
Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: aregtech
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
================================================
FILE: .github/config.yml
================================================
# DCO Bot Configuration
dco:
enabled: true
require:
- pull_request
token: ${{ secrets.GITHUB_TOKEN }}
================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
- package-ecosystem: "github-actions" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "monthly"
groups:
github-actions:
patterns:
- "*"
================================================
FILE: .github/pull_request_template.md
================================================
## Summary
<!-- One or two sentences explaining the purpose of this PR. -->
## Changes
<!-- Key updates, fixes, or features. -->
## Testing
<!-- Optional: steps to verify the behavior. -->
## Notes
<!-- Optional: extra context for reviewers. -->
## Checklist
Please check the box ( `[x]` ) and sign-off the this PR:
[ ] I have read CONTRIBUTING.md
Signed-off-by: Your Name or GitHub ID (optional email)
================================================
FILE: .github/workflows/accessibility-bot.yml
================================================
name: Accessibility-alt-text-bot
on:
issues:
types: [opened, edited]
pull_request:
types: [opened, edited]
issue_comment:
types: [created, edited]
discussion:
types: [created, edited]
discussion_comment:
types: [created, edited]
permissions:
issues: write
pull-requests: write
discussions: write
jobs:
accessibility_alt_text_bot:
name: Check alt text is set on issue or pull requests
runs-on: ubuntu-latest
if: ${{ github.event.issue || github.event.pull_request || github.event.discussion }}
steps:
- name: Get action 'github/accessibility-alt-text-bot'
uses: github/accessibility-alt-text-bot@v1.7.2 # Set to latest
================================================
FILE: .github/workflows/cmake.yml
================================================
name: CMake
on:
push: # Keep empty to run on each branch when push the code. Otherwise use branches: [ master ]
branches: [ master ]
pull_request: # Set to master to run only when merge with master branch
branches: [ master ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Linux.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
jobs:
build-tests:
name: ${{matrix.config.name}}
runs-on: ${{matrix.config.os}}
strategy:
fail-fast: false
matrix:
config: # Create matrix with combinations
# compile Areg engine as a shared library with GNU g++ / gcc on Ubuntu Linux, enable Areg extensions and logs
- { name : linux-gnu-shared-ext-log,
os : ubuntu-latest,
lib : shared,
family: gnu,
cxx : g++,
cc : gcc,
extend: ON,
logs : ON,
test : OFF
}
# compile Areg engine as a shared library with GNU g++ / gcc on Ubuntu Linux, enable Areg extensions and no logs
- { name : linux-gnu-shared-ext-nolog,
os : ubuntu-latest,
lib : shared,
family: gnu,
cxx : g++,
cc : gcc,
extend: ON,
logs : OFF,
test : OFF
}
# compile Areg engine as a static library with GNU g++ / gcc on Ubuntu Linux, enable Areg extensions, logs, examples and tests
- { name : linux-gnu-static-all-test,
os : ubuntu-latest,
lib : static,
family: gnu,
cxx : g++,
cc : gcc,
extend: ON,
logs : ON,
test: ON
}
# compile Areg engine as a shared library with GNU g++ / gcc on Ubuntu Linux, enable Areg extensions, logs, examples and tests
- { name : linux-gnu-shared-all-test,
os : ubuntu-latest,
lib : shared,
family: gnu,
cxx : g++,
cc : gcc,
extend: ON,
logs : ON,
test : ON
}
# compile Areg engine as a shared library with GNU g++ / gcc on Ubuntu Linux, disable Areg extensions and no logs
- { name : linux-gnu-shared-noext-nolog,
os : ubuntu-latest,
lib : shared,
family: gnu,
cxx : g++,
cc : gcc,
extend: OFF,
logs : OFF,
test : OFF
}
# compile Areg engine as a shared library with clang on Ubuntu Linux, enable Areg extensions and logs
- { name : linux-clang-shared-ext-log,
os : ubuntu-latest,
lib : shared,
family: llvm,
cxx : clang++,
cc : clang,
extend: ON,
logs : ON,
test : OFF
}
# compile Areg engine as a shared library with clang on Ubuntu Linux, enable Areg extensions and no logs
- { name : linux-clang-shared-ext-nolog,
os : ubuntu-latest,
lib : shared,
family: llvm,
cxx : clang++,
cc : clang,
extend: ON,
logs : OFF,
test : OFF
}
# compile Areg engine as a static library with clang on Ubuntu Linux, enable Areg extensions, logs, examples and tests
- { name : linux-clang-static-all-test,
os : ubuntu-latest,
lib : static,
family: llvm,
cxx : clang++,
cc : clang,
extend: ON,
logs : ON,
test : ON
}
# compile Areg engine as a static library with clang on Ubuntu Linux, enable Areg extensions, logs, examples and tests
- { name : linux-clang-shared-all-test,
os : ubuntu-latest,
lib : shared,
family: llvm,
cxx : clang++,
cc : clang,
extend: ON,
logs : ON,
test : ON
}
# compile Areg engine as a shared library with clang on Ubuntu Linux, disable Areg extensions and no logs
- { name : linux-clang-shared-noext-nolog,
os : ubuntu-latest,
lib : shared,
family: llvm,
cxx : clang++,
cc : clang,
extend: OFF,
logs : OFF,
test : OFF
}
# compile Areg engine as a shared library with clang on macOS, enable logs and tests, disable Areg extensions
- { name : macos-clang-shared-noext,
os : macos-latest,
lib : shared,
family: llvm,
cxx : clang++,
cc : clang,
extend: OFF,
logs : ON,
test : ON
}
# compile Areg engine as a shared library with clang on macOS, enable tests, disable Areg extensions and no logs
- { name : macos-clang-shared-noext-nolog,
os : macos-latest,
lib : shared,
family: llvm,
cxx : clang++,
cc : clang,
extend: OFF,
logs : OFF,
test : ON
}
# compile Areg engine as a shared library with clang on macOS, enable tests, disable Areg extensions and no logs
- { name : macos-clang-shared-noext-nolog-notest,
os : macos-latest,
lib : shared,
family: llvm,
cxx : clang++,
cc : clang,
extend: OFF,
logs : OFF,
test : OFF
}
# compile Areg engine as a static library with clang on macOS, enable logs and tests, disable Areg extensions
- { name : macos-clang-static-noext,
os : macos-latest,
lib : static,
family: llvm,
cxx : clang++,
cc : clang,
extend: OFF,
logs : ON,
test : ON
}
# compile Areg engine as a static library with clang on macOS, enable tests, disable Areg extensions and no logs
- { name : macos-clang-static-noext-nolog,
os : macos-latest,
lib : static,
family: llvm,
cxx : clang++,
cc : clang,
extend: OFF,
logs : OFF,
test : ON
}
# compile Areg engine as a static library with clang on macOS, enable tests, disable Areg extensions and no logs
- { name : macos-clang-static-noext-nolog-notest,
os : macos-latest,
lib : static,
family: llvm,
cxx : clang++,
cc : clang,
extend: OFF,
logs : OFF,
test : OFF
}
# compile Areg engine as a shared with CYGWIN g++ / gcc on Windows, enable Areg extensions and logs
- { name : win-cygwin-shared-ext-log,
os : windows-latest,
lib : shared,
family: cygwin,
cxx : g++,
cc : gcc,
extend: ON,
logs : ON,
test : OFF}
# compile Areg engine as a shared with CYGWIN g++ / gcc on Windows, enable Areg extensions and no logs
- { name : win-cygwin-shared-ext-nolog,
os : windows-latest,
lib : shared,
family: cygwin,
cxx : g++,
cc : gcc,
extend: ON,
logs : OFF,
test : OFF
}
# compile Areg engine as a static with CYGWIN g++ / gcc on Windows, enable Areg extensions, logs, examples and tests
- { name : win-cygwin-static-all-test,
os : windows-latest,
lib : static,
family: cygwin,
cxx : g++,
cc : gcc,
extend: ON,
logs : ON,
test : ON
}
# compile Areg engine as a static with CYGWIN g++ / gcc on Windows, enable Areg extensions, logs, examples and tests
- { name : win-cygwin-shared-all-test,
os : windows-latest,
lib : shared,
family: cygwin,
cxx : g++,
cc : gcc,
extend: ON,
logs : ON,
test : ON
}
# compile Areg engine as a shared with CYGWIN g++ / gcc on Windows, disable Areg extensions and no logs
- { name : win-cygwin-shared-noext-nolog,
os : windows-latest,
lib : shared,
family: cygwin,
cxx : g++,
cc : gcc,
extend: OFF,
logs : OFF,
test : OFF
}
# compile Areg engine as a shared library with clang on Windows, enable Areg extensions and logs
- { name : win-clang-shared-ext-log,
os : windows-latest,
lib : shared,
family: llvm,
cxx : clang-cl,
cc : clang-cl,
extend: ON,
logs : ON,
test : OFF
}
# compile Areg engine as a shared library with clang on Windows, enable Areg extensions and no logs
- { name : win-clang-shared-ext-nolog,
os : windows-latest,
lib : shared,
family: llvm,
cxx : clang-cl,
cc : clang-cl,
extend: ON,
logs : OFF,
test : OFF
}
# compile Areg engine as a static library with clang on Windows, enable Areg extensions, logs, examples and tests
- { name : win-clang-static-all-test,
os : windows-latest,
lib : static,
family: llvm,
cxx : clang-cl,
cc : clang-cl,
extend: ON,
logs : ON,
test : ON
}
# compile Areg engine as a static library with clang on Windows, enable Areg extensions, logs, examples and tests
- { name : win-clang-shared-all-test,
os : windows-latest,
lib : shared,
family: llvm,
cxx : clang-cl,
cc : clang-cl,
extend: ON,
logs : ON,
test : ON
}
# compile Areg engine as a shared library with clang on Windows, disable Areg extensions and no logs
- { name : win-clang-shared-noext-nolog,
os : windows-latest,
lib : shared,
family: llvm,
cxx : clang-cl,
cc : clang-cl,
extend: OFF,
logs : OFF,
test : OFF
}
# compile Areg engine as a shared with MSVC on Windows, enable Areg extensions and logs
- { name : win-msvc-shared-ext-log,
os : windows-latest,
lib : shared,
family: msvc,
cxx : cl,
cc : cl,
extend: ON,
logs : ON,
test : OFF
}
# compile Areg engine as a shared with MSVC on Windows, enable Areg extensions and no logs
- { name : win-msvc-shared-ext-nolog,
os : windows-latest,
lib : shared,
family: msvc,
cxx : cl,
cc : cl,
extend: ON,
logs : OFF,
test : OFF
}
# compile Areg engine as a static with MSVC on Windows, enable Areg extensions, logs, examples and tests
- { name : win-msvc-static-all-test,
os : windows-latest,
lib : static,
family: msvc,
cxx : cl,
cc : cl,
extend: ON,
logs : ON,
test : ON
}
# compile Areg engine as a static with MSVC on Windows, enable Areg extensions, logs, examples and tests
- { name : win-msvc-shared-all-test,
os : windows-latest,
lib : shared,
family: msvc,
cxx : cl,
cc : cl,
extend: ON,
logs : ON,
test : ON
}
# compile Areg engine as a shared with MSVC on Windows, enable Areg extensions and logs
- { name : win-msvc-shared-noext-log,
os : windows-latest,
lib : shared,
family: msvc,
cxx : cl,
cc : cl,
extend: OFF,
logs : ON,
test : OFF
}
# compile Areg engine as a shared with MSVC on Windows, enable Areg extensions and no logs
- { name : win-msvc-shared-noext-nolog,
os : windows-latest,
lib : shared,
family: msvc,
cxx : cl,
cc : cl,
extend: OFF,
logs : OFF,
test : OFF
}
steps:
- name: Checkout Areg SDK source codes
uses: actions/checkout@v6
- name: Setup Java JDK to run code generator
uses: actions/setup-java@v5.2.0
with:
java-version: 17
java-package: jre
distribution: temurin
- name: Set cmake cache destination for Linux
if: matrix.config.os == 'ubuntu-latest'
run: |
echo "CACHE_DEST=./product/cache/${{matrix.config.family}}-${{matrix.config.cxx}}" >> "$GITHUB_ENV"
echo "BUILD_DEST=./product/build/${{matrix.config.family}}-${{matrix.config.cxx}}/linux-64-x86_64-release-${{matrix.config.lib}}" >> "$GITHUB_ENV"
echo "INSTALL_DEST=./product/install/${{matrix.config.family}}-${{matrix.config.cxx}}" >> "$GITHUB_ENV"
- name: Set cmake cache destination for macOS
if: matrix.config.os == 'macos-latest'
run: |
ARCH=$(uname -m)
echo "CACHE_DEST=./product/cache/${{matrix.config.family}}-${{matrix.config.cxx}}" >> "$GITHUB_ENV"
echo "BUILD_DEST=./product/build/${{matrix.config.family}}-${{matrix.config.cxx}}/darwin-64-${ARCH}-release-${{matrix.config.lib}}" >> "$GITHUB_ENV"
echo "INSTALL_DEST=./product/install/${{matrix.config.family}}-${{matrix.config.cxx}}" >> "$GITHUB_ENV"
- name: Set cmake cache destination for Windows
if: matrix.config.os == 'windows-latest'
run: |
echo "CACHE_DEST=./product/cache/${{matrix.config.family}}-${{matrix.config.cxx}}" >> $env:GITHUB_ENV
echo "BUILD_DEST=./product/build/${{matrix.config.family}}-${{matrix.config.cxx}}/windows-64-amd64-release-${{matrix.config.lib}}" >> $env:GITHUB_ENV
echo "INSTALL_DEST=./product/install/${{matrix.config.family}}-${{matrix.config.cxx}}" >> $env:GITHUB_ENV
- name: Ensure Xcode CLI Tools
if: matrix.config.os == 'macos-latest'
run: sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
- name: Set Windows PATH environment variable
if: matrix.config.os == 'windows-latest' && matrix.config.family == 'cygwin'
run: echo "PATH=C:\cygwin;C:\cygwin\bin;C:\cygwin\lib;%SYSTEMROOT%\system32;%PATH%" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install cygwin on Windows
if: matrix.config.os == 'windows-latest' && matrix.config.family == 'cygwin'
uses: cygwin/cygwin-install-action@v6
with:
packages: cmake, dos2unix, flexdll, gcc-g++, git, libncurses-devel, make
install-dir: 'C:\cygwin'
add-to-path: false
work-vol: 'C:'
- name: create build and product directories
working-directory: ${{github.workspace}}
run: |
mkdir build
mkdir product
- name: Configure CMake by selecting compiler family
if: matrix.config.extend == 'ON'
working-directory: ${{github.workspace}}
run: |
cmake -B ${{env.CACHE_DEST}} -DAREG_COMPILER_FAMILY=${{matrix.config.family}} -DAREG_BUILD_TYPE=${{env.BUILD_TYPE}} -DAREG_BINARY=${{matrix.config.lib}} -DAREG_EXTENDED:BOOL=${{matrix.config.extend}} -DAREG_LOGS:BOOL=${{matrix.config.logs}} -DAREG_BUILD_EXAMPLES:BOOL=${{matrix.config.test}} -DAREG_BUILD_TESTS:BOOL=${{matrix.config.test}} -DAREG_INSTALL:BOOL=ON -DAREG_INSTALL_PATH:PATH="${{env.INSTALL_DEST}}"
- name: Configure CMake by selecting compiler name
if: matrix.config.extend == 'OFF'
working-directory: ${{github.workspace}}
run: |
cmake -B ${{env.CACHE_DEST}} -DAREG_COMPILER=${{matrix.config.cc}} -DAREG_BUILD_TYPE=${{env.BUILD_TYPE}} -DAREG_BINARY=${{matrix.config.lib}} -DAREG_EXTENDED:BOOL=${{matrix.config.extend}} -DAREG_LOGS:BOOL=${{matrix.config.logs}} -DAREG_BUILD_EXAMPLES:BOOL=${{matrix.config.test}} -DAREG_BUILD_TESTS:BOOL=${{matrix.config.test}} -DAREG_INSTALL:BOOL=ON -DAREG_INSTALL_PATH:PATH="${{env.INSTALL_DEST}}"
- name: Build with CMake
working-directory: ${{github.workspace}}
# Build your program with the given configuration
run: cmake --build ${{env.CACHE_DEST}} --config Release -j 16
- name: Install with CMake
working-directory: ${{github.workspace}}
# Install the binaries and headers
run: cmake --install ${{env.CACHE_DEST}}
- name: Run Unit Tests. Ignore if unit tests are not compiled
if: matrix.config.test == 'ON'
working-directory: ${{github.workspace}}
run: ctest --test-dir ${{env.CACHE_DEST}} --output-on-failure --output-junit test_results.xml
- name: Copy test artifacts if unit tests fail. Ignore if unit tests are not compiled
if: failure() && matrix.config.test == 'ON'
working-directory: ${{github.workspace}}
shell: bash
run: |
mkdir ./${{matrix.config.name}}/
cp -R ./${{env.BUILD_DEST}}/bin/ ./${{matrix.config.name}}/
cp -R ./${{env.INSTALL_DEST}}/ ./${{matrix.config.name}}/
- name: Upload artifacts if tests fail. Ignore if unit tests are not compiled
if: failure() && matrix.config.test == 'ON'
uses: actions/upload-artifact@v6
with:
name: ${{matrix.config.name}}
path: ./${{matrix.config.name}}/
================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '32 22 * * 1'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'cpp' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Java JDK to run code generator
uses: actions/setup-java@v5.2.0
with:
java-version: 17
java-package: jre
distribution: temurin
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v4
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
================================================
FILE: .github/workflows/msbuild.yml
================================================
name: MSBuild
on:
push: # Keep empty to run on each branch when push the code. Otherwise, use branches: [ master ]
branches: [ master ]
pull_request:
branches: [ master ]
env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: .
# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
BUILD_CONFIGURATION: Release
permissions:
contents: read
jobs:
build-tests:
name: ${{matrix.config.name}}
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
config: # Create matrix with combinations
# Compile for 32-bit platform, enabled Areg extensions and logs
- {name: MSBuild-Win32-ext-log, platform: Win32, extend: 1, logs: 1}
# Compile for 32-bit platform, enabled Areg extensions and no logs
- {name: MSBuild-Win32-ext-nolog, platform: Win32, extend: 1, logs: 0}
# Compile for 32-bit platform, disable Areg extensions and logs
- {name: MSBuild-Win32-noext-log, platform: Win32, extend: 0, logs: 1}
# Compile for 32-bit platform, disable Areg extensions and no logs
- {name: MSBuild-Win32-noext-nolog, platform: Win32, extend: 0, logs: 0}
# Compile for 32-bit platform, enabled Areg extensions and logs
- {name: MSBuild-x64-ext-log, platform: x64, extend: 1, logs: 1}
# Compile for 32-bit platform, enabled Areg extensions and no logs
- {name: MSBuild-x64-ext-nolog, platform: x64, extend: 1, logs: 0}
# Compile for 32-bit platform, disable Areg extensions and logs
- {name: MSBuild-x64-noext-log, platform: x64, extend: 0, logs: 1}
# Compile for 32-bit platform, disable Areg extensions and no logs
- {name: MSBuild-x64-noext-nolog, platform: x64, extend: 0, logs: 0}
steps:
- name: Checkout Areg engine (Areg SDK) source codes
uses: actions/checkout@v6
- name: Setup Java JDK to run code generator
uses: actions/setup-java@v5.2.0
with:
java-version: 17
java-package: jre
distribution: temurin
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Restore NuGet packages
working-directory: ${{github.workspace}}
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
- name: Build areg-sdk solution.
working-directory: ${{github.workspace}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /property:Configuration=${{env.BUILD_CONFIGURATION}} /property:Platform=${{matrix.config.platform}} /property:AregExtended=${{matrix.config.extend}} /property:AregLogs=${{matrix.config.logs}} ${{env.SOLUTION_FILE_PATH}} -t:restore,build -p:RestorePackagesConfig=true
================================================
FILE: .github/workflows/validate-pr.yml
================================================
name: PR Validation
on:
pull_request:
types: [opened, edited, reopened, synchronize]
jobs:
pr-check:
runs-on: ubuntu-latest
steps:
- name: Verify PR Checklist
uses: actions/github-script@v8
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const prBody = context.payload.pull_request.body || '';
const errors = [];
if (!prBody.includes('[x] I have read CONTRIBUTING.md')) {
errors.push('Please check the box confirming you have read CONTRIBUTING.md.');
}
if (!prBody.includes('Signed-off-by:')) {
errors.push('Missing "Signed-off-by:" line in PR.');
}
if (errors.length > 0) {
core.setFailed(errors.join('\n'));
}
================================================
FILE: .gitignore
================================================
*.aps
*.opensdf
*.suo
*.sdf
*.user
*.o
*.obj
*.log
*.stackdump
*.d
*.diff
.git
.metadata
.vs
.vscode
build/*
out/*
product/*
tools/*.zip
areg-sdk.code-workspace
Debug
Release
framework/*/Debug
framework/*/Release
framework/*/.settings
framework/*/.gitignore
examples/*/.gitignore
examples/*/.settings
examples/*/Debug
examples/*/Release
examples/*/*/.gitignore
examples/*/*/.settings
examples/*/*/Debug
examples/*/*/Release
examples/*/*/*/.gitignore
examples/*/*/*/.settings
examples/*/*/*/Debug
examples/*/*/*/Release
CMakeSettings.json
================================================
FILE: CMakeLists.txt
================================================
# ###########################################################################
# CMake options of Areg SDK
# Copyright 2022-2026 Aregtech
# ###########################################################################
cmake_minimum_required(VERSION 3.20.0)
# Areg root directory
set(AREG_SDK_ROOT "${CMAKE_CURRENT_LIST_DIR}")
set(AREG_CMAKE_CONFIG_DIR "${AREG_SDK_ROOT}/conf/cmake")
# Set 'AREG_SDK_ROOT' and optional 'AREG_CMAKE_CONFIG_DIR' variables
# before 'setup.cmake', and include 'setup.cmake'
# before 'project' call.
include(${AREG_CMAKE_CONFIG_DIR}/setup.cmake)
# set CMake tool settings
set(CMAKE_BUILD_TYPE ${AREG_BUILD_TYPE} CACHE STRING "Configuration Type" FORCE)
# Areg SDK project name and version
set(AREG_PROJECT_NAME "areg-sdk")
set(AREG_PROJECT_VERSION "1.9.99.111")
# Project's properties
set(PROJECT_NAME ${AREG_PROJECT_NAME})
set(PROJECT_VERSION ${AREG_PROJECT_VERSION})
project("${PROJECT_NAME}"
VERSION "${PROJECT_VERSION}"
DESCRIPTION "Areg Communication Framework and Tools"
HOMEPAGE_URL "https://areg.tech"
LANGUAGES CXX C)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)# The 'common.cmake' file should be included after 'project' call
include(${AREG_CMAKE_CONFIG_DIR}/common.cmake)
# add a custom command to create output build folders if they are not existing.
# create a dummy project to add as a dependency in all other projects.
# this ensures that the commands to create directories are called first.
add_custom_target(areg-dummy ALL COMMAND ${CMAKE_COMMAND} VERBATIM)
add_custom_command( TARGET areg-dummy PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}"
VERBATIM)
include_directories(${AREG_FRAMEWORK})
include_directories(${AREG_THIRDPARTY})
# build Areg Framework thirdparty software
include(${AREG_THIRDPARTY}/CMakeLists.txt)
if (NOT AREG_SQLITE_FOUND)
add_dependencies(aregsqlite3 areg-dummy)
endif()
# build Areg Framework software
include(${AREG_FRAMEWORK}/CMakeLists.txt)
add_dependencies(areg areg-dummy)
# build optional Areg project examples, if required
if(AREG_BUILD_EXAMPLES)
include(${AREG_EXAMPLES}/CMakeLists.txt)
endif()
# build optional Areg Framework unit tests, if required
if(AREG_BUILD_TESTS)
include(${AREG_TESTS}/CMakeLists.txt)
if (NOT AREG_GTEST_FOUND)
# Set dependency of 'areg-dummy' to make sure
# the build directories are created before the
# 'gtest' libraries are built
add_dependencies(areg-unit-tests areg-dummy)
endif()
else()
option(AREG_GTEST_PACKAGE "Use GTest package" FALSE)
option(AREG_GTEST_FOUND "GTest package found flag" FALSE)
endif()
if (AREG_INSTALL)
include(${AREG_CMAKE_CONFIG_DIR}/install.cmake)
endif()
# Print the configuration status
printAregConfigStatus(
TRUE
"Areg"
"----------------------> Areg project CMake Status Report Begin <-----------------------"
"-----------------------> Areg project CMake Status Report End <------------------------"
)
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
**artak[at]areg.tech**.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
================================================
FILE: CONTRIBUTING.md
================================================
# CONTRIBUTING TO Areg SDK
Thank you for your interest in contributing to Areg SDK.
We welcome developers, companies, researchers, and hobbyists who want to help improve the framework.
This guide explains how to contribute, how copyrights work, and what you need to do so your contribution can be accepted.
---
## 1. Code Licensing
All contributions are licensed under:
**Apache License, Version 2.0**
By submitting a pull request or commit, you agree that your contribution is provided under Apache 2.0.
---
## 2. Developer Certificate of Origin (DCO)
To contribute, you must confirm that you have the right to submit the code.
Areg SDK uses the **Developer Certificate of Origin (DCO)**. It is a simple and widely adopted alternative to contributor license agreements.
Every commit must include a `Signed-off-by` line:
```
Signed-off-by: Your Name [email@example.com](mailto:email@example.com)
```
Most Git tools can add this automatically:
```
git commit -s
```
By signing off, you state that your contribution is your original work or that you have permission to submit it.
More information can be found at https://developercertificate.org/
---
## 3. Copyright Headers
You may add a copyright header if you want your name or organization to appear in the source file.
If you prefer not to add a header, the project may include a default header for clarity and consistent licensing.
This does not affect your ownership or your rights in any way.
Example of an optional header:
```cpp
/************************************************************************
* This file is part of the Areg SDK core engine.
* Areg SDK is dual licensed under Apache 2.0 and commercial licenses.
*
* \copyright (c) 2017-2026 Your Name or Aregtech UG
* \file path/to/YourFile.hpp
* \ingroup Areg SDK
* \author Your Full Name or GitHub ID
* \brief Brief description
************************************************************************/
```
Minor edits such as typo fixes, grammar corrections, formatting cleanup, comment updates, CMake changes, and YAML updates do not require contributor copyright headers.
---
## 4. Contribution Guidelines
### a. Reporting Bugs
When reporting an issue, please include:
* steps to reproduce
* expected and actual behavior
* platform and compiler information
### b. Submitting Code
Pull requests should follow these rules:
* one clear improvement per pull request
* keep the existing code style
* include tests when possible
* include a `Signed-off-by` line in every commit
### c. Documentation
Improvements to guides, examples, comments, and general documentation are welcome.
Small corrections only require a Signed-off-by line.
---
## 5. Areas Where Help Is Needed
1. C++17 development such as core framework, features, and services
2. Unit tests and example applications
3. Build systems and cross compilation setups
4. UI and UX improvements for the Areg SDK Tools
5. Technical writing including documentation and guides
---
## 6. Dual Licensing and Commercial Use
Areg SDK is licensed under the Apache License 2.0.
You retain ownership of your contribution, which will always remain available under Apache 2.0.
Project maintainers may also offer Areg SDK under separate commercial terms.
By contributing under the DCO and Apache 2.0, you grant the maintainers an irrevocable right to use, modify, sublicense, and distribute your contribution as part of both the open-source and any commercial editions of Areg SDK.
---
## 7. Code of Conduct
Always communicate respectfully and constructively.
We strive to maintain a welcoming community for everyone.
---
## 8. Questions
If you have any questions about licensing, rights, or the contribution process, open an issue or start a discussion.
We are happy to help you get started.
================================================
FILE: LICENSE.txt
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
Copyright 2017-2026 Aregtech, UG
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
<h1 align="center" style="font-size:2.5em; font-weight:bold; margin:1em 0;">
<a href="https://www.areg.tech">
<img
src="./docs/img/areg-sdk-1280x360px-logo.png"
alt="Areg SDK - C++ Middleware and Framework for RPC and IPC"
title="Areg SDK - Lightweight Cross-Platform C++ Framework and Middleware for RPC, IPC, and Distributed Systems"
style="width:100%;height:auto"
/>
</a>
</h1>
[](https://github.com/aregtech/areg-sdk/releases/tag/v1.5.0)
[](https://github.com/aregtech/areg-sdk/compare/v1.5.0...master)
[](https://github.com/aregtech/areg-sdk/stargazers)
[](./docs/wiki/README.md)
⭐ **If you find Areg SDK useful, give us a star - it helps the project grow!**
---
Most C++ projects don't fail on algorithms. They fail on **threads, IPC, and brittle integration code**. Areg SDK eliminates this complexity using **Object RPC** to automate communication, unifying async RPC, Pub/Sub, and service discovery. Its self-managed service mesh enables scalable systems across threads, processes, and devices with no manual wiring and no fragile glue code.
*Named after the ancient Armenian word for "Sun", Areg creates a star network where services orbit around a central router - enabling automatic discovery, seamless communication, and fault-tolerant distributed computing.*
---
## Project Status[](#project-status)
<table class="no-border">
<tr>
<td><a href="https://github.com/aregtech/areg-sdk/actions/workflows/cmake.yml"><img src="https://github.com/aregtech/areg-sdk/actions/workflows/cmake.yml/badge.svg" alt="CMake build"/></a></td>
<td><a href="https://github.com/aregtech/areg-sdk/actions/workflows/msbuild.yml"><img src="https://github.com/aregtech/areg-sdk/actions/workflows/msbuild.yml/badge.svg" alt="MS Build"/></a></td>
<td><a href="https://github.com/aregtech/areg-sdk/actions/workflows/codeql-analysis.yml"><img src="https://github.com/aregtech/areg-sdk/actions/workflows/codeql-analysis.yml/badge.svg" alt="CodeQL"/></a></td>
</tr>
<tr>
<td><img src="https://img.shields.io/badge/Solution-C++17-blue.svg?style=flat&logo=c%2B%2B&logoColor=b0c0c0&labelColor=363D44" alt="C++ solution"/></td>
<td><img src="https://img.shields.io/badge/OS-Linux%20%7C%20macOS%20%7C%20Windows-blue?style=flat&logo=Linux&logoColor=b0c0c0&labelColor=363D44" alt="Operating systems"/></td>
<td><img src="https://img.shields.io/badge/CPU-x86%20%7C%20x86__64%20%7C%20arm32%20%7C%20arm64-blue?style=flat&logo=amd&logoColor=b0c0c0&labelColor=363D44" alt="CPU Architectures"/></td>
</tr>
</table>
---
## Table of Contents[](#table-of-contents)
- [Why Areg SDK](#why-areg-sdk)
- [What is Areg SDK](#what-is-areg-sdk)
- [Getting Started in 5 Minutes](#getting-started-in-5-minutes)
- [Architecture and Core Concepts](#architecture-and-core-concepts)
- [Real-World Use Cases](#real-world-use-cases)
- [Roadmap](#roadmap)
- [Documentation](#documentation)
- [License](#license)
- [Community and Contribution](#community-and-contribution)
> [!IMPORTANT]
> Complete technical documentation, build guides, and integration patterns are available in the [Wiki](./docs/wiki/).
---
## Why Areg SDK[](#why-areg-sdk)
### The Real Cost of Distributed C++
Every C++ developer knows the frustration: threading bugs that appear only in production, race conditions that vanish under debuggers, and IPC code that requires weeks of careful integration. Your algorithms work perfectly, but the scaffolding around them is fragile, time-consuming, and error-prone.
**Ask yourself these 5 questions:**
- [ ] Do threading and synchronization issues slow your development velocity?
- [ ] Does debugging across threads, processes, or devices consume excessive time?
- [ ] Is setting up communication between components complex and error-prone?
- [ ] Do remote failures and reconnections create cascading delays?
- [ ] Would location-transparent services simplify your architecture?
💡 **If you answered "Yes" to 3 or more**, Areg SDK will accelerate your development.
---
### How Areg SDK Solves This
Areg SDK eliminates infrastructure complexity with five core capabilities:
**1. Automated Threading Management**
Thread creation, lifecycle, and message dispatch are fully managed by the framework. You define components and their dependencies - the framework handles threading, synchronization, and safe message passing between threads.
**2. Location-Transparent Services**
Services work identically whether local (same thread), IPC (same machine), or remote (network). Change deployment without changing code.
**3. Self-Managing Service Mesh**
Automatic discovery and routing across threads, processes, and devices. Services find each other with no configuration files, no manual wiring.
**4. Built-In Fault Tolerance**
Components can join or leave dynamically. Watchdogs automatically restart failed threads. Systems stay operational under failure.
**5. Native Observability**
Integrated distributed logging with visual analysis. Per-method execution timing enables performance profiling without external tools.
💡 **Best for:** Embedded to enterprise C++ applications on Linux, macOS and Windows, scaling from resource-constrained devices to high-performance server systems.
⚠️ **Not for:** RTOS (planned), web services, or non-C++ ecosystems.
---
### Areg SDK vs. Alternatives
| Feature | Areg SDK | gRPC / DDS / ZeroMQ |
|-----------------------|----------------------------------|------------------------------------------------------|
| **Setup Complexity** | ✅ Automated, zero boilerplate | ⚠️ Manual configuration, [verbose setup](https://www.innoq.com/en/blog/2024/06/grpc/#whataresomechallengesofworkingwithgrpc) |
| **Threading** | ✅ Automated threading | ⚠️ Manual threading and synchronization |
| **Code Generation** | ✅ Full ORPC automation | ⚠️ [Stubs only](https://grpc.io/docs/what-is-grpc/introduction/#overview), manual dispatch |
| **Service Discovery** | ✅ Built-in mesh management | ✅ DDS: [native](https://opendds.readthedocs.io/en/latest-release/devguide/introduction_to_dds.html#discovery-matching-and-association), ⚠️ gRPC/ZeroMQ: [external](https://stackoverflow.com/questions/59398556/grpc-equivalent-of-wcf-service-discovery) |
| **Fault Recovery** | ✅ Watchdog auto-restart | ✅ DDS: [QoS policies](https://opendds.readthedocs.io/en/latest-release/devguide/quality_of_service.html), ⚠️ gRPC/ZeroMQ: [manual](https://grpc.io/docs/guides/retry/) |
| **Request-Reply** | ✅ Native Object RPC | ✅ gRPC: [RPC calls](https://grpc.io/docs/what-is-grpc/core-concepts/#overview), ⚠️ DDS/ZeroMQ: [topic/pattern](https://zguide.zeromq.org/docs/chapter3/) |
| **Pub/Sub** | ✅ Native Attributes | ✅ DDS: [topics](https://opendds.readthedocs.io/en/latest-release/devguide/built_in_topics.html), ⚠️ gRPC/ZeroMQ: add-ons |
| **API Consistency** | ✅ Identical for threads and IPC | ⚠️ Different APIs for local vs. remote |
| **Logging System** | ✅ Distributed logs + viewer | ⚠️ [Vendor-specific](https://community.rti.com/static/documentation/connext-dds/current/doc/manuals/addon_products/observability/telemetry_data/logs.html) or external tools |
| **Developer Speed** | ✅ Faster via automation | ⚠️ Slower, more boilerplate |
🔹 **Key Differentiators:**
- **Complete automation** - Not just transport, but threading, dispatch, and lifecycle
- **True location transparency** - Same interface whether thread, process, or network
- **Zero configuration** - Services auto-discover, no manual registry setup
- **Integrated stack** - Framework + Router + Tools + Logging in one cohesive SDK
<div align="right"><kbd><a href="#table-of-contents">↑ Back to top ↑</a></kbd></div>
---
## What is Areg SDK[](#what-is-areg-sdk)
**Areg SDK** is a complete toolkit for building service-oriented C++ systems, centered around the **Areg Framework** - a runtime that automates threading, IPC, and service orchestration using **interface-centric Object RPC (ORPC)**.
### The ORPC Model
Unlike traditional RPC that treats remote calls as simple functions, Areg's Object RPC represents services as **stateful objects** with:
- **Methods** - Request-reply interactions
- **Attributes** - Publish-subscribe data with automatic update notifications
- **Events** - Asynchronous notifications across service boundaries
This enables true **service-oriented architecture** where services are logical entities independent of physical location.
---
### What's Inside the SDK
**Core Runtime:**
🔹 **Areg Framework** (`areg`) - The engine that automates threading, IPC, and service mesh
🔹 **Multitarget Router** (`mtrouter`) - Central message router for inter-process and network communication
**Development Tools:**
🔹 **Code Generator** (`codegen.jar`) - Eliminates boilerplate, generates service stubs from interfaces
🔹 **[Lusan GUI](https://github.com/aregtech/areg-sdk-tools)** - Visual service designer and distributed log viewer
**Monitoring & Debug:**
🔹 **Log Collector** (`logcollector`) + **Observer** (`logobserver`) - Distributed logging and real-time analysis
🔹 **Areg Extend** - Additional utilities and extensions
> 📦 **All components** work together seamlessly with no integration glue required.
---
### How Location Transparency Works
With Areg SDK, you:
1. Define service interfaces (methods, attributes, events)
2. Run code generator to create base classes
3. Implement your business logic
4. Load services via model configuration
**The same service code runs:**
- **Multithreaded** - Components in different threads, same process
- **Multiprocess** - Components in different processes, same machine (requires `mtrouter`)
- **Multi-device** - Components across network devices (requires `mtrouter`)
**No code changes required** - just configuration. Example: [`03_helloservice`](./examples/03_helloservice) demonstrates this flexibility.
<div align="right"><kbd><a href="#table-of-contents">↑ Back to top ↑</a></kbd></div>
---
## Getting Started in 5 Minutes[](#getting-started-in-5-minutes)
### Prerequisites
- **C++17 compiler**: GCC, Clang, MSVC, or MinGW
- **CMake 3.20+**
- **Java 17+** (for code generation)
- **OS:** Linux, macOS or Windows
- **Hardware:** x86, x86_64, ARM, AArch64 / arm64
See [CMake Configuration Guide](./docs/wiki/02d-cmake-config.md) for detailed setup and troubleshooting.
---
### Quick Build
```bash
git clone https://github.com/aregtech/areg-sdk.git
cd areg-sdk
cmake -B build
cmake --build build -j20
```
> [!TIP]
> These commands work in Linux or macOS Terminal, Windows CMD, or PowerShell.
---
### Run Your First Example
The [`01_minimalrpc`](./examples/01_minimalrpc/) example demonstrates automated multithreading:
**Example location after build:**
```bash
# Linux:
./product/build/gnu-g++/linux-64-x86_64-release-shared/bin/01_minimalrpc
# macOS:
./product/build/llvm-clang++/macos-64-arm64-release-shared/bin/01_minimalrpc
# Windows (adjust for compiler):
.\product\build\msvc-cl\windows-64-amd64-release-shared\bin\01_minimalrpc.exe
```
**What happens:**
- Service **Consumer** and **Provider** run in separate threads
- Consumer calls Provider's method asynchronously
- Communication is fully automated with zero manual wiring
**Message flow:**
```
🟢 main() → 🏗 load model → 🔗 auto-connect → 📤 Consumer request → 🖨 Provider prints → ✅ exit
```
---
### Understanding the Code
**1. Service Provider (responds to requests):**
```cpp
class ServiceProvider : public Component, protected HelloServiceStub {
public:
ServiceProvider(const NERegistry::ComponentEntry& entry, ComponentThread& owner)
: Component(entry, owner), HelloServiceStub(static_cast<Component&>(*this)) {}
void requestHelloService() override {
std::cout << "'Hello Service!'" << std::endl;
Application::signalAppQuit();
}
};
```
**2. Service Consumer (initiates requests):**
```cpp
class ServiceConsumer : public Component, protected HelloServiceClientBase {
public:
ServiceConsumer(const NERegistry::ComponentEntry& entry, ComponentThread& owner)
: Component(entry, owner)
, HelloServiceClientBase(entry.mDependencyServices[0].mRoleName, owner) {}
bool serviceConnected(NEService::eServiceConnection status, ProxyBase& proxy) override {
HelloServiceClientBase::serviceConnected(status, proxy);
if (NEService::isServiceConnected(status))
requestHelloService(); // Service found, call it now
return true;
}
};
```
**3. Model (defines threads and dependencies):**
```cpp
BEGIN_MODEL("ServiceModel")
BEGIN_REGISTER_THREAD("Thread1")
BEGIN_REGISTER_COMPONENT("ServiceProvider", ServiceProvider)
REGISTER_IMPLEMENT_SERVICE(NEHelloService::ServiceName, NEHelloService::InterfaceVersion)
END_REGISTER_COMPONENT("ServiceProvider")
END_REGISTER_THREAD("Thread1")
BEGIN_REGISTER_THREAD("Thread2")
BEGIN_REGISTER_COMPONENT("ServiceClient", ServiceConsumer)
REGISTER_DEPENDENCY("ServiceProvider")
END_REGISTER_COMPONENT("ServiceClient")
END_REGISTER_THREAD("Thread2")
END_MODEL("ServiceModel")
```
**4. Main function (loads model and runs):**
```cpp
int main() {
Application::initApplication();
Application::loadModel("ServiceModel");
Application::waitAppQuit(NECommon::WAIT_INFINITE);
Application::releaseApplication();
return 0;
}
```
📄 **Full source:** [examples/01_minimalrpc/src/main.cpp](./examples/01_minimalrpc/src/main.cpp)
---
### Learning Path
Follow this progression to master Areg SDK:
1. **[01_minimalrpc](examples/01_minimalrpc/)** - Start here: minimal RPC between components
2. **[02_minimalipc](examples/02_minimalipc/)** - IPC across processes (**requires `mtrouter`**)
3. **[03_helloservice](examples/03_helloservice/)** - Location transparency: same code, different deployment
4. **[23_pubdatarate](examples/23_pubdatarate/)** - High-throughput benchmark
5. **[More Examples](examples/README.md)** - Advanced patterns and features
6. **[Areg and Edge AI](https://github.com/aregtech/areg-edgeai)** - Real-world AI integration
> [!IMPORTANT]
> **IPC examples** require `mtrouter` to be running. See [mtrouter documentation](./docs/wiki/05a-mtrouter.md).
---
### Create Your Own Project
Use the project setup script to bootstrap a new Areg-based application:
**On Linux or macOS:**
```bash
./areg-sdk/tools/setup-project.sh
```
**On Windows:**
```bash
.\areg-sdk\tools\setup-project.bat
```
The script will:
- Prompt for project name and location
- Ask whether to create multithreaded or multiprocess architecture
- Generate ready-to-build project with CMake files
- Create "Hello Service" example as starting point
After generation, build with:
```bash
cd <your_project>
cmake -B build
cmake --build build -j20
```
For multiprocess projects, ensure `mtrouter` is running to enable Service Consumer-Provider communication.
---
### Integration Options
- **CMake FetchContent:** [Integration Guide](./docs/wiki/02b-cmake-integrate.md)
- **Demo Project:** [areg-sdk-demo](https://github.com/aregtech/areg-sdk-demo)
- **Qt Tools (Lusan):** [areg-sdk-tools](https://github.com/aregtech/areg-sdk-tools)
- **Edge AI Use Cases:** [areg-edgeai](https://github.com/aregtech/areg-edgeai)
> 💡 **Advanced builds** (IDE setup, cross-compilation, custom configurations) - see the [Wiki](./docs/wiki/).
<div align="right"><kbd><a href="#table-of-contents">↑ Back to top ↑</a></kbd></div>
---
## Architecture and Core Concepts[](#architecture-and-core-concepts)
### Modules Overview
| Module | Purpose | When Required |
|--------|---------|---------------|
| **[Areg Library](./docs/HelloService.md)**<br/>(`areg`) | Core framework automating Object RPC, threading,<br/>IPC routing, and fault recovery | ✅ Always |
| **[Code Generator](./docs/wiki/03a-code-generator.md)**<br/>(`codegen.jar`) | Generates service stubs from interface definitions,<br/>eliminating boilerplate | ✅ Build-time |
| **[Multitarget Router](./docs/wiki/05a-mtrouter.md)**<br/>(`mtrouter`) | Central message router for inter-process and<br/>network communication | ⚠️ IPC/Network only |
| **[Log Collector](./docs/wiki/04d-logcollector.md)**<br/>(`logcollector`) | Aggregates distributed logs for monitoring<br/>and debugging | ❌ Optional |
| **[Lusan GUI](https://github.com/aregtech/areg-sdk-tools)**<br/>(`lusan`) | Visual service designer and log analysis tool | ❌ Optional |
| **[Examples](./examples/README.md)** | Sample projects demonstrating SDK features | ❌ Optional |
---
### Interface-Centric Architecture
Areg's **Object RPC (ORPC)** model treats services as **stateful objects** rather than simple function calls. Applications expose **Service Providers** and interact via **Service Consumers**, with the **Multitarget Router** handling inter-process and network communication.
<div align="center"><a href="https://github.com/aregtech/areg-sdk/blob/master/docs/img/interface-centric.png"><img src="./docs/img/interface-centric.png" alt="Interface-centric communication diagram" style="width:50%;height:50%"/></a></div>
**Key architectural patterns:**
- **Request-Reply** - Traditional RPC method calls
- **Publish-Subscribe** - Automatic attribute updates across all subscribers
- **Event Broadcasting** - Asynchronous notifications to interested parties
This architecture supports **multithreading**, **multiprocessing**, and **multi-device** systems with consistent low-latency characteristics.
---
### Lusan Development Tool
**Lusan** streamlines service-oriented development with two core capabilities: **visual service design** and **distributed log analysis**.
#### Service Interface Designer
The visual designer enables rapid, error-free service definition with automatic code generation. Define methods, attributes, and events graphically - Lusan generates production-ready C++ code for both providers and consumers.
<div align="center"><a href="./docs/img/lusan-service-if-general.png"><img src="./docs/img/lusan-service-if-general.png" alt="Lusan Service Interface Designer" style="width:80%;height:80%"/></a></div>
**Benefits:**
- Visual clarity prevents interface design errors
- Consistent code generation eliminates manual mistakes
- Integrated documentation in the design process
📄 **Learn more:** [Service Interface Design Guide](./docs/wiki/06d-setup-lusan.md)
#### Live and Offline Log Viewer
Lusan's log viewer aggregates logs from multiple processes, supporting both **real-time monitoring** and **offline analysis** of recorded sessions.
**Key capabilities:**
- Real-time log aggregation across processes and devices
- Dynamic scope filtering and priority control at runtime
- Offline session replay for post-mortem debugging
- Performance profiling with per-method execution timing
<div align="center"><a href="./docs/img/lusan-live-log-scope-prio.png"><img src="./docs/img/lusan-live-log-scope-prio.png" alt="Lusan Log Viewer" style="width:80%;height:80%"/></a></div>
📄 **Documentation:**
- [Live Log Viewer Guide](./docs/wiki/06f-lusan-live-logging.md) - Real-time monitoring
- [Offline Log Viewer Guide](./docs/wiki/06g-lusan-offline-logging.md) - Session analysis
**In summary**, Lusan unifies service design and runtime observability, accelerating development cycles and enabling safer development of service-oriented systems.
<div align="right"><kbd><a href="#table-of-contents">↑ Back to top ↑</a></kbd></div>
---
## Real-World Use Cases[](#real-world-use-cases)
### Embedded and Edge AI Systems
AI-powered edge devices require coordinating multiple concurrent processes: data acquisition, preprocessing, inference, decision-making, monitoring, and connectivity. Areg SDK lets each stage run as an **independent service** with event-driven communication and automatic thread management.
<div align="center"><a href="https://github.com/aregtech/areg-sdk/blob/master/docs/img/areg-for-embedded-ai.png"><img src="./docs/img/areg-for-embedded-ai.png" alt="Modular AI pipeline architecture" style="width:40%;height:40%"/></a></div>
**Benefits:**
- **Modular pipelines** - Each AI stage (capture, preprocess, infer, decide) is isolated
- **Automatic concurrency** - Framework handles threading and synchronization
- **Real-time responsiveness** - Non-blocking architecture for fast control loops
- **Scalable orchestration** - Distribute AI workloads across devices seamlessly
> [!TIP]
> **See it in action:** [areg-edgeai](https://github.com/aregtech/areg-edgeai) - Real-world Edge AI integration examples
---
### IoT: Mist-to-Cloud Architecture
Traditional IoT architectures stream raw sensor data to distant cloud servers, creating latency, network congestion, and privacy concerns. With Areg SDK, devices form a **mist network** - a mesh of micro-services that process and aggregate data locally before sending refined insights to the cloud.
<div align="center"><a href="https://github.com/aregtech/areg-sdk/blob/master/docs/img/mist-network.png"><img src="./docs/img/mist-network.png" alt="Mist-to-Cloud network topology" style="width:70%;height:70%"/></a></div>
**Benefits:**
- **Low-latency processing** - Data analyzed at the edge, not in distant datacenters
- **Autonomous operation** - Edge mesh continues working during network outages
- **Enhanced privacy** - Sensitive data stays on-device; only insights leave the edge
- **Reduced cloud costs** - Less data transmission and cloud compute needed
---
### Simulation and Testing Environments
Validating service-oriented systems traditionally requires expensive hardware and complex test environments. Areg SDK enables **Data Layer simulation** in external applications, providing realistic test environments without physical devices. Services appear **location-transparent** to higher layers - tests can't distinguish simulated from real hardware.
<div align="center"><a href="https://github.com/aregtech/areg-sdk/blob/master/docs/img/software-layers.png"><img src="./docs/img/software-layers.png" alt="Software layer architecture with simulated Data Layer" style="width:70%;height:70%"/></a></div>
**Benefits:**
- **Hardware-independent testing** - Test logic layer without physical devices
- **Continuous integration** - Automated testing without hardware dependencies
- **Fault injection** - Safely simulate failures and test recovery mechanisms
- **Cost reduction** - Eliminate expensive test hardware and lab time
---
### Driverless Device Architecture
Traditional device drivers are slow to develop, complex to maintain, and platform-specific. Areg SDK lets you **expose hardware as portable services**, making devices platform-independent and network-accessible.
<div align="center"><a href="https://github.com/aregtech/areg-sdk/blob/master/docs/img/driverless-solution.png"><img src="./docs/img/driverless-solution.png" alt="Service-enabled driverless device architecture" style="width:70%;height:70%"/></a></div>
**Benefits:**
- **Faster development** - Accelerates prototyping and iteration
- **Platform independence** - Hardware abstracted as services
- **Network accessibility** - Devices accessible from anywhere on network
- **Early validation** - Test hardware integration before driver implementation
---
### Industry 4.0: Smart Manufacturing Systems
Traditional industrial automation relies on proprietary protocols and rigid architectures that make factory reconfiguration expensive and time-consuming. When production lines change, entire systems often require reprogramming. Areg SDK transforms factory components into **modular services** that communicate seamlessly, enabling flexible manufacturing systems that adapt to changing production needs.
<div align="center"><a href="https://github.com/aregtech/areg-sdk/blob/master/docs/img/areg-services.png"><img src="./docs/img/areg-services.png" alt="Service types and message flow" style="width:70%;height:70%"/></a></div>
**Service types:**
- **Local Services** - Confined within a single process, protecting sensitive data from external access
- **Public Services** - Accessible across processes and devices within the network created by `mtrouter`
**Benefits:**
- **Flexible reconfiguration** - Add or replace equipment without reprogramming entire production lines
- **Protocol independence** - Abstract proprietary industrial protocols behind unified service interfaces
- **Digital twin integration** - Services work identically on physical equipment and simulation environments
- **Predictive maintenance** - Distributed logging enables real-time equipment health monitoring
- **Reduced integration costs** - Modular services eliminate expensive custom integration code
**Typical applications:**
- Coordinating robotic cells with conveyor systems and quality inspection stations
- Integrating edge gateways with modern MES and SCADA systems
- Building reconfigurable production lines for small-batch manufacturing
- Creating digital twins for production optimization and operator training
<div align="right"><kbd><a href="#table-of-contents">↑ Back to top ↑</a></kbd></div>
---
## Roadmap[](#roadmap)
Areg SDK evolves continuously for desktop and embedded platforms, focusing on automation, reliability, platform expansion, and developer experience.
**2026 Priorities:**
🎯 **Multi-channel support** - Multiplexed communications for higher throughput
🎯 **Enhanced security** - Encryption, authentication, and authorization
🎯 **RTOS support (Zephyr OS)** - Real-time embedded environments
🎯 **Lusan improvements** - Enhanced performance and usability ([Areg SDK Tools](https://github.com/aregtech/areg-sdk-tools))
🎯 **Expanded documentation** - More tutorials and real-world examples
🎯 **Performance optimization** - Profiling tools and benchmark suite
**Future Vision:**
🔮 Cross-language bindings (Python, Rust, etc.)
🔮 Cloud integration patterns and deployment guides
🔮 Container orchestration (Kubernetes, Docker Compose)
🔮 Advanced debugging and profiling tools
> [!TIP]
> Influence the roadmap: Join [discussions](https://github.com/aregtech/areg-sdk/discussions) or contribute via [issues](https://github.com/aregtech/areg-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22).
<div align="right"><kbd><a href="#table-of-contents">↑ Back to top ↑</a></kbd></div>
---
## Documentation[](#documentation)
- **[Installation and Build](./docs/wiki/README.md#1-installation-and-build)** - Cross-platform builds, toolchains, CMake integration
- **[Build Options and Integrations](./docs/wiki/README.md#2-build-options-and-integrations)** - FetchContent, packaging, embedding
- **[Networking and Communication](./docs/wiki/README.md#3-networking-and-communication)** - Router setup, IPC, low-latency messaging
- **[Logging and Monitoring](./docs/wiki/README.md#4-logging-and-monitoring)** - Distributed logging for debugging
- **[Persistence](./docs/wiki/README.md#5-persistence)** - Local data storage
- **[Development and Testing Tools](./docs/wiki/README.md#6-development-and-testing-tools)** - Code generator, Lusan, testing utilities
- **[Troubleshooting](./docs/wiki/README.md#7-troubleshooting)** - Common issues and solutions
- **[Examples and Tests](./docs/wiki/README.md#8-examples-and-tests)** - Sample projects catalog
- **[HOWTO Guide](docs/HOWTO.md)** - Practical development tasks
<div align="right"><kbd><a href="#table-of-contents">↑ Back to top ↑</a></kbd></div>
---
## License[](#license)
Areg SDK is released under the **[Apache License 2.0](LICENSE.txt)** - a permissive license suitable for both open-source and commercial use.
**Commercial support:** Enterprise licensing, training, and dedicated support available. Visit **[areg.tech](https://www.areg.tech/)** or email **info[at]areg[dot]tech**.
<div align="right"><kbd><a href="#table-of-contents">↑ Back to top ↑</a></kbd></div>
---
## Community and Contribution[](#community-and-contribution)
🚀 **Join the Areg SDK community** and help shape the future of service-oriented C++ development:
- 🛠️ [Contribute to open issues](https://github.com/aregtech/areg-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) - Review [contribution guidelines](CONTRIBUTING.md) first
- 💡 Share ideas or request features via [issues](https://github.com/aregtech/areg-sdk/issues) or [discussions](https://github.com/aregtech/areg-sdk/discussions)
- 🔀 Submit pull requests following [contribution guidelines](CONTRIBUTING.md)
- ⭐ **Give us a star** if you find Areg SDK useful - it helps others discover the project
- 🌍 **Showcase your project** - Building with Areg SDK? [Share your work](https://github.com/aregtech/areg-sdk/discussions/new?category=show-and-tell)!
**Add this badge to projects built with Areg SDK:**
```markdown
[](https://github.com/aregtech/areg-sdk)
```
<div align="right"><kbd><a href="#table-of-contents">↑ Back to top ↑</a></kbd></div>
---
**Follow Us:**
[](https://x.com/aregtech?lang=en)
[](https://www.linkedin.com/company/aregtech)
[](https://gitter.im/areg-sdk/community)
---
================================================
FILE: Releases.md
================================================
# Release Notes
```
This document contains the release notes of Areg SDK project.
Copyright © Aregtech UG, 2021-2026
Contact: info[at]areg.tech
```
## Version 1.5.0
Release date: 15.06.2023
### New Features
- Build with CMake
- Compilation with CYGWIN
- Compilation with VSCode
- Service Watchdog
- Areg extended objects (Console)
- GTest integration for unit tests
- More examples
### Bugs fixes
- Application crash on exit (#96)
- Unexpected update notifications (#107)
### Documentation
- Wiki pages:
* Clone source codes
* Software build
* Preprocessor define symbols
* Compile with WSL
* Areg Logging System
* Areg Multitarget Router
* Persistence Syntax
### Deprecated
- Eclipse build support
---
## Version 1.0.0
Release date: 11.11.2021
### New Features
- Areg interface-centric framework
- Build with MSVC
- Build with Makefile
- Build with Eclipse
---
================================================
FILE: areg-sdk.sln
================================================
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.2.32616.157
MinimumVisualStudioVersion = 16.0.0
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "areg", "framework\areg.vcxproj", "{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mtrouter", "framework\mtrouter.vcxproj", "{24A4F250-C09B-40BF-A6F2-25BD8ABBED6F}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{FD549A95-E734-4E26-A5B2-2330FC310C8D}"
ProjectSection(SolutionItems) = preProject
areg.cmake = areg.cmake
CMakeLists.txt = CMakeLists.txt
CODE_OF_CONDUCT.md = CODE_OF_CONDUCT.md
CONTRIBUTING.md = CONTRIBUTING.md
LICENSE.txt = LICENSE.txt
msvc_setup.props = msvc_setup.props
nuget.config = nuget.config
README.md = README.md
Releases.md = Releases.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{7D57975F-814D-4F13-9F2F-87B667937FC7}"
ProjectSection(SolutionItems) = preProject
tools\codegen.jar = tools\codegen.jar
tools\codegenerate.bat = tools\codegenerate.bat
tools\codegenerate.sh = tools\codegenerate.sh
tools\README.md = tools\README.md
tools\setup-project.bat = tools\setup-project.bat
tools\setup-project.sh = tools\setup-project.sh
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{1D3709F1-9915-4CEA-A9F6-4D3FDFD79965}"
ProjectSection(SolutionItems) = preProject
docs\DEVELOP.md = docs\DEVELOP.md
docs\HelloService.md = docs\HelloService.md
docs\HelloService.siml = docs\HelloService.siml
docs\HOWTO.md = docs\HOWTO.md
docs\POSIX.md = docs\POSIX.md
docs\README.md = docs\README.md
docs\Sample.siml = docs\Sample.siml
docs\Sample.xsd = docs\Sample.xsd
docs\ServiceInterface.md = docs\ServiceInterface.md
docs\USECASES.md = docs\USECASES.md
docs\WIN32.md = docs\WIN32.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "conf", "conf", "{A9875C78-1248-4693-9310-5C46C73DDCEB}"
ProjectSection(SolutionItems) = preProject
conf\README.md = conf\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "msvc", "msvc", "{C0125346-EA97-4FE0-ABC8-592A556B3481}"
ProjectSection(SolutionItems) = preProject
conf\msvc\compile.props = conf\msvc\compile.props
conf\msvc\project.props = conf\msvc\project.props
conf\msvc\project_defaults.props = conf\msvc\project_defaults.props
conf\msvc\user.props = conf\msvc\user.props
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "img", "img", "{7BD2AAAA-FA5E-4895-837F-4A24C85A851A}"
ProjectSection(SolutionItems) = preProject
docs\img\areg-for-embedded-ai.png = docs\img\areg-for-embedded-ai.png
docs\img\areg-sdk-1280x360px-logo.png = docs\img\areg-sdk-1280x360px-logo.png
docs\img\areg-sdk-1280x640px-light.png = docs\img\areg-sdk-1280x640px-light.png
docs\img\areg-sdk-features.png = docs\img\areg-sdk-features.png
docs\img\areg-sdk-media-1280x640.png = docs\img\areg-sdk-media-1280x640.png
docs\img\areg-services.png = docs\img\areg-services.png
docs\img\back-to-top.png = docs\img\back-to-top.png
docs\img\contributors.svg = docs\img\contributors.svg
docs\img\driver-solution.png = docs\img\driver-solution.png
docs\img\driverless-solution.png = docs\img\driverless-solution.png
docs\img\generated-sources.png = docs\img\generated-sources.png
docs\img\interface-centric.png = docs\img\interface-centric.png
docs\img\logo-aregtech.png = docs\img\logo-aregtech.png
docs\img\logo-aregtech.svg = docs\img\logo-aregtech.svg
docs\img\lusan-app.png = docs\img\lusan-app.png
docs\img\lusan-live-log-columns.png = docs\img\lusan-live-log-columns.png
docs\img\lusan-live-log-config.png = docs\img\lusan-live-log-config.png
docs\img\lusan-live-log-connect.png = docs\img\lusan-live-log-connect.png
docs\img\lusan-live-log-connected-apps.png = docs\img\lusan-live-log-connected-apps.png
docs\img\lusan-live-log-duration.png = docs\img\lusan-live-log-duration.png
docs\img\lusan-live-log-gen.png = docs\img\lusan-live-log-gen.png
docs\img\lusan-live-log-message-prio.png = docs\img\lusan-live-log-message-prio.png
docs\img\lusan-live-log-scope-analyzes.png = docs\img\lusan-live-log-scope-analyzes.png
docs\img\lusan-live-log-scope-log-prio.png = docs\img\lusan-live-log-scope-log-prio.png
docs\img\lusan-live-log-scope-prio.png = docs\img\lusan-live-log-scope-prio.png
docs\img\lusan-navigation-logs.png = docs\img\lusan-navigation-logs.png
docs\img\lusan-offline-log-gen.png = docs\img\lusan-offline-log-gen.png
docs\img\lusan-offline-log-scope-prio.png = docs\img\lusan-offline-log-scope-prio.png
docs\img\lusan-offline-log-scopes.png = docs\img\lusan-offline-log-scopes.png
docs\img\lusan-option-logcollector.png = docs\img\lusan-option-logcollector.png
docs\img\lusan-option-workspace-dirs.png = docs\img\lusan-option-workspace-dirs.png
docs\img\lusan-option-workspace-list.png = docs\img\lusan-option-workspace-list.png
docs\img\lusan-service-if-attributes.png = docs\img\lusan-service-if-attributes.png
docs\img\lusan-service-if-constants.png = docs\img\lusan-service-if-constants.png
docs\img\lusan-service-if-data-types.png = docs\img\lusan-service-if-data-types.png
docs\img\lusan-service-if-general.png = docs\img\lusan-service-if-general.png
docs\img\lusan-service-if-includes.png = docs\img\lusan-service-if-includes.png
docs\img\lusan-service-if-methods.png = docs\img\lusan-service-if-methods.png
docs\img\lusan-service-if-new-doc.png = docs\img\lusan-service-if-new-doc.png
docs\img\lusan-service-if-overview.png = docs\img\lusan-service-if-overview.png
docs\img\lusan-si-start-app.png = docs\img\lusan-si-start-app.png
docs\img\lusan-workspace-setup.png = docs\img\lusan-workspace-setup.png
docs\img\mist-network.png = docs\img\mist-network.png
docs\img\pin.svg = docs\img\pin.svg
docs\img\software-layers.png = docs\img\software-layers.png
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cmake", "cmake", "{5E95D089-DBB0-467A-BC0A-B00B9297023A}"
ProjectSection(SolutionItems) = preProject
conf\cmake\clang.cmake = conf\cmake\clang.cmake
conf\cmake\common.cmake = conf\cmake\common.cmake
conf\cmake\functions.cmake = conf\cmake\functions.cmake
conf\cmake\gnu.cmake = conf\cmake\gnu.cmake
conf\cmake\install.cmake = conf\cmake\install.cmake
conf\cmake\msvc.cmake = conf\cmake\msvc.cmake
conf\cmake\setup.cmake = conf\cmake\setup.cmake
conf\cmake\user.cmake = conf\cmake\user.cmake
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{07BFF46A-D4BC-4FAD-9727-D959755BFBAC}"
ProjectSection(SolutionItems) = preProject
examples\CMakeLists.txt = examples\CMakeLists.txt
examples\examples_generate.bat = examples\examples_generate.bat
examples\README.md = examples\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03_helloservice", "03_helloservice", "{2DF9C20F-08BB-475B-8901-C1A64D88BA8A}"
ProjectSection(SolutionItems) = preProject
examples\03_helloservice\CMakeLists.txt = examples\03_helloservice\CMakeLists.txt
examples\03_helloservice\ReadMe.md = examples\03_helloservice\ReadMe.md
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03_generated", "examples\03_helloservice\03_generated.vcxproj", "{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{5B537BA4-4245-4E64-93E9-E35738AB22B3}"
ProjectSection(SolutionItems) = preProject
examples\03_helloservice\services\HelloService.siml = examples\03_helloservice\services\HelloService.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03_onethread", "examples\03_helloservice\03_onethread.vcxproj", "{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9} = {92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03_twothreads", "examples\03_helloservice\03_twothreads.vcxproj", "{CF1C33CA-6F11-4B5C-B92B-F0138B90B956}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9} = {92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03_serviceproc", "examples\03_helloservice\03_serviceproc.vcxproj", "{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9} = {92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "03_clientproc", "examples\03_helloservice\03_clientproc.vcxproj", "{7F508C90-D49D-4E26-B7B0-3CBCA677A272}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9} = {92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04_hellothread", "examples\04_hellothread\04_hellothread.vcxproj", "{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "05_buffer", "examples\05_buffer\05_buffer.vcxproj", "{5B49EFBF-FC6B-4016-BC84-77784BF37944}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "06_file", "examples\06_file\06_file.vcxproj", "{13E221EB-7446-49CB-8150-2575425667BF}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07_logging", "examples\07_logging\07_logging.vcxproj", "{18F81610-018F-4FE9-9B33-D2060E0F2CB6}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "08_timer", "examples\08_timer\08_timer.vcxproj", "{09DBC624-4CBA-4345-B8F1-A2786F00A615}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "09_threads", "examples\09_threads\09_threads.vcxproj", "{CEFC6857-FA75-4334-AB78-F3AC6CB54942}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "10_sync", "examples\10_sync\10_sync.vcxproj", "{0450B090-2EAA-4454-944E-ABD6CFFD26F9}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "11_service", "examples\11_service\11_service.vcxproj", "{ABEE2F20-BB60-434F-92D8-75DB71020E01}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "12_svcmulti", "examples\12_svcmulti\12_svcmulti.vcxproj", "{88DC6432-0356-43A9-821B-2444C564BDF2}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "13_locsvc", "13_locsvc", "{F99F67DA-37F9-46DD-A416-64C930758DE5}"
ProjectSection(SolutionItems) = preProject
examples\13_locsvc\CMakeLists.txt = examples\13_locsvc\CMakeLists.txt
examples\13_locsvc\ReadMe.md = examples\13_locsvc\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{B3924215-AD6D-45DA-81D7-FE5D406A677B}"
ProjectSection(SolutionItems) = preProject
examples\13_locsvc\services\HelloWorld.siml = examples\13_locsvc\services\HelloWorld.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "13_generated", "examples\13_locsvc\13_generated.vcxproj", "{4056956C-7E12-4432-86F8-D900A52866A4}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "13_locservice", "examples\13_locsvc\13_locservice.vcxproj", "{8273239C-C5A8-4752-9DFC-E1678222C36E}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{4056956C-7E12-4432-86F8-D900A52866A4} = {4056956C-7E12-4432-86F8-D900A52866A4}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "14_locmesh", "14_locmesh", "{35133FDA-2CD3-4BAD-9C54-145DC4DC787A}"
ProjectSection(SolutionItems) = preProject
examples\14_locmesh\CMakeLists.txt = examples\14_locmesh\CMakeLists.txt
examples\14_locmesh\ReadMe.md = examples\14_locmesh\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{FBEE67BE-BFF5-43BB-A9DB-2E8A65734B3D}"
ProjectSection(SolutionItems) = preProject
examples\14_locmesh\services\HelloWorld.siml = examples\14_locmesh\services\HelloWorld.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "14_generated", "examples\14_locmesh\14_generated.vcxproj", "{1D3A6135-F0EE-4531-B682-55270B70B699}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "14_localmesh", "examples\14_locmesh\14_localmesh.vcxproj", "{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323}"
ProjectSection(ProjectDependencies) = postProject
{1D3A6135-F0EE-4531-B682-55270B70B699} = {1D3A6135-F0EE-4531-B682-55270B70B699}
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "15_pubsvc", "15_pubsvc", "{13F637CA-7D9B-4218-8B55-D415897B8DE0}"
ProjectSection(SolutionItems) = preProject
examples\15_pubsvc\CMakeLists.txt = examples\15_pubsvc\CMakeLists.txt
examples\15_pubsvc\ReadMe.md = examples\15_pubsvc\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{9235A909-A2F2-4C90-977A-DA514B76BBE5}"
ProjectSection(SolutionItems) = preProject
examples\15_pubsvc\services\HelloWorld.siml = examples\15_pubsvc\services\HelloWorld.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15_generated", "examples\15_pubsvc\15_generated.vcxproj", "{CCBBF424-D22D-480F-A13E-28095E33827C}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15_pubclient", "examples\15_pubsvc\15_pubclient.vcxproj", "{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{CCBBF424-D22D-480F-A13E-28095E33827C} = {CCBBF424-D22D-480F-A13E-28095E33827C}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "15_pubservice", "examples\15_pubsvc\15_pubservice.vcxproj", "{D20E2DBD-4224-479D-9608-5BC062A48BE4}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{CCBBF424-D22D-480F-A13E-28095E33827C} = {CCBBF424-D22D-480F-A13E-28095E33827C}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "16_pubmesh", "16_pubmesh", "{BB26B4E2-9A39-4CD5-8BE0-A14BA7BE2D5D}"
ProjectSection(SolutionItems) = preProject
examples\16_pubmesh\CMakeLists.txt = examples\16_pubmesh\CMakeLists.txt
examples\16_pubmesh\ReadMe.md = examples\16_pubmesh\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{08364AF0-D407-4FEC-A759-A4499EE45A59}"
ProjectSection(SolutionItems) = preProject
examples\16_pubmesh\services\LocalHelloWorld.siml = examples\16_pubmesh\services\LocalHelloWorld.siml
examples\16_pubmesh\services\PublicHelloWorld.siml = examples\16_pubmesh\services\PublicHelloWorld.siml
examples\16_pubmesh\services\SystemShutdown.siml = examples\16_pubmesh\services\SystemShutdown.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "16_generated", "examples\16_pubmesh\16_generated.vcxproj", "{D708316F-7E34-4E09-A782-4021C5500C0D}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "16_pubclients", "examples\16_pubmesh\16_pubclients.vcxproj", "{CC971823-8685-4102-B7E6-E56E31C02370}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7} = {5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}
{D708316F-7E34-4E09-A782-4021C5500C0D} = {D708316F-7E34-4E09-A782-4021C5500C0D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "16_pubsvcmesh", "examples\16_pubmesh\16_pubsvcmesh.vcxproj", "{2600865C-8A10-4404-B05D-8F3CAE3FC417}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7} = {5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}
{D708316F-7E34-4E09-A782-4021C5500C0D} = {D708316F-7E34-4E09-A782-4021C5500C0D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "16_pubservice", "examples\16_pubmesh\16_pubservice.vcxproj", "{61FF9AD1-F474-4990-9DE5-FA30260B9D39}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7} = {5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}
{D708316F-7E34-4E09-A782-4021C5500C0D} = {D708316F-7E34-4E09-A782-4021C5500C0D}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "17_pubtraffic", "17_pubtraffic", "{5EB605B1-44A1-4C33-B5BA-23AFEA531487}"
ProjectSection(SolutionItems) = preProject
examples\17_pubtraffic\CMakeLists.txt = examples\17_pubtraffic\CMakeLists.txt
examples\17_pubtraffic\ReadMe.md = examples\17_pubtraffic\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{0AC9ECDD-CCF4-4E61-BAD3-EF379002EDCE}"
ProjectSection(SolutionItems) = preProject
examples\17_pubtraffic\services\SimpleTrafficLight.siml = examples\17_pubtraffic\services\SimpleTrafficLight.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "17_generated", "examples\17_pubtraffic\17_generated.vcxproj", "{5B38C49F-3C26-43CD-B457-75806BFE69EC}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "17_pubclient", "examples\17_pubtraffic\17_pubclient.vcxproj", "{28F7BC4C-5CAD-457D-B208-9E92759910E7}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{5B38C49F-3C26-43CD-B457-75806BFE69EC} = {5B38C49F-3C26-43CD-B457-75806BFE69EC}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "17_pubservice", "examples\17_pubtraffic\17_pubservice.vcxproj", "{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{5B38C49F-3C26-43CD-B457-75806BFE69EC} = {5B38C49F-3C26-43CD-B457-75806BFE69EC}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "18_pubworker", "18_pubworker", "{5EE61717-AD86-46E4-B4D0-5AA9280B0E09}"
ProjectSection(SolutionItems) = preProject
examples\18_pubworker\CMakeLists.txt = examples\18_pubworker\CMakeLists.txt
examples\18_pubworker\ReadMe.md = examples\18_pubworker\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{8B53447D-2482-4219-93DA-D33C2F899B71}"
ProjectSection(SolutionItems) = preProject
examples\18_pubworker\services\PatientInformation.siml = examples\18_pubworker\services\PatientInformation.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "18_generated", "examples\18_pubworker\18_generated.vcxproj", "{68C8AE77-005B-4F81-8876-5A87A69823E3}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "18_pubclient", "examples\18_pubworker\18_pubclient.vcxproj", "{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{68C8AE77-005B-4F81-8876-5A87A69823E3} = {68C8AE77-005B-4F81-8876-5A87A69823E3}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "18_pubservice", "examples\18_pubworker\18_pubservice.vcxproj", "{4FF0146F-F69B-4566-8679-A190632A0958}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{68C8AE77-005B-4F81-8876-5A87A69823E3} = {68C8AE77-005B-4F81-8876-5A87A69823E3}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "19_pubfsm", "19_pubfsm", "{7955A5EE-8C1E-4BE2-BE4F-55839EDC4E3C}"
ProjectSection(SolutionItems) = preProject
examples\19_pubfsm\CMakeLists.txt = examples\19_pubfsm\CMakeLists.txt
examples\19_pubfsm\ReadMe.md = examples\19_pubfsm\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{58982601-1D8A-4F81-A69E-1D148C667937}"
ProjectSection(SolutionItems) = preProject
examples\19_pubfsm\services\PowerManager.siml = examples\19_pubfsm\services\PowerManager.siml
examples\19_pubfsm\services\TrafficController.siml = examples\19_pubfsm\services\TrafficController.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "19_generated", "examples\19_pubfsm\19_generated.vcxproj", "{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "19_pubclient", "examples\19_pubfsm\19_pubclient.vcxproj", "{C23BA253-475E-49DD-A92E-616C2A93831A}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B} = {AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "19_pubservice", "examples\19_pubfsm\19_pubservice.vcxproj", "{57693047-C0E4-4183-91B5-8BCAB76F1B7D}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B} = {AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "20_winchat", "20_winchat", "{503FAC02-04F9-466D-B783-4608413BDFBA}"
ProjectSection(SolutionItems) = preProject
examples\20_winchat\CMakeLists.txt = examples\20_winchat\CMakeLists.txt
examples\20_winchat\ReadMe.md = examples\20_winchat\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{DF308E31-0D12-4B57-93CE-770B2D538DB1}"
ProjectSection(SolutionItems) = preProject
examples\20_winchat\services\CentralMessager.siml = examples\20_winchat\services\CentralMessager.siml
examples\20_winchat\services\ConnectionManager.siml = examples\20_winchat\services\ConnectionManager.siml
examples\20_winchat\services\DirectConnection.siml = examples\20_winchat\services\DirectConnection.siml
examples\20_winchat\services\DirectMessager.siml = examples\20_winchat\services\DirectMessager.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "20_generated", "examples\20_winchat\20_generated.vcxproj", "{BAD5F8A5-B916-4E76-8594-78B003C1155B}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "20_chatter", "examples\20_winchat\20_chatter.vcxproj", "{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{BAD5F8A5-B916-4E76-8594-78B003C1155B} = {BAD5F8A5-B916-4E76-8594-78B003C1155B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "20_register", "examples\20_winchat\20_register.vcxproj", "{B8884358-CC9D-41DB-A352-9EDA045DFD7A}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{BAD5F8A5-B916-4E76-8594-78B003C1155B} = {BAD5F8A5-B916-4E76-8594-78B003C1155B}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "21_locwatchdog", "21_locwatchdog", "{83821483-D719-475B-88E3-F548C267E3AB}"
ProjectSection(SolutionItems) = preProject
examples\21_locwatchdog\CMakeLists.txt = examples\21_locwatchdog\CMakeLists.txt
examples\21_locwatchdog\ReadMe.md = examples\21_locwatchdog\ReadMe.md
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "21_generated", "examples\21_locwatchdog\21_generated.vcxproj", "{38A88D1E-B86C-48E2-9B9E-68F672388734}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "21_locservice", "examples\21_locwatchdog\21_locservice.vcxproj", "{766E4B9C-F428-4289-8975-DC3D22EEDBF6}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{38A88D1E-B86C-48E2-9B9E-68F672388734} = {38A88D1E-B86C-48E2-9B9E-68F672388734}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "22_pubwatchdog", "22_pubwatchdog", "{E5D433F5-DBA3-45D5-8A7A-32A10566AA8E}"
ProjectSection(SolutionItems) = preProject
examples\22_pubwatchdog\CMakeLists.txt = examples\22_pubwatchdog\CMakeLists.txt
examples\22_pubwatchdog\ReadMe.md = examples\22_pubwatchdog\ReadMe.md
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "22_generated", "examples\22_pubwatchdog\22_generated.vcxproj", "{F6570975-AE13-41EB-8465-066A6766C211}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "22_pubclient", "examples\22_pubwatchdog\22_pubclient.vcxproj", "{7ECC4BF9-45A4-4774-869B-239E3B152E05}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{F6570975-AE13-41EB-8465-066A6766C211} = {F6570975-AE13-41EB-8465-066A6766C211}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "22_pubservice", "examples\22_pubwatchdog\22_pubservice.vcxproj", "{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{F6570975-AE13-41EB-8465-066A6766C211} = {F6570975-AE13-41EB-8465-066A6766C211}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "23_pubdatarate", "23_pubdatarate", "{840A1C6C-5940-4464-AF58-DBA24484C64F}"
ProjectSection(SolutionItems) = preProject
examples\23_pubdatarate\CMakeLists.txt = examples\23_pubdatarate\CMakeLists.txt
examples\23_pubdatarate\ReadMe.md = examples\23_pubdatarate\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "multiprocess", "multiprocess", "{9DFC39D1-06B5-4E91-972D-1749CE02ED7F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "onethread", "onethread", "{9563EACE-4C0C-49D2-8DC7-37261B140F7A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "twothreads", "twothreads", "{A635554F-60C0-4415-A6BD-A5A47C0D9221}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "23_generated", "examples\23_pubdatarate\23_generated.vcxproj", "{B8900569-8956-47AF-A2E7-50EB1DD788DD}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "23_pubclient", "examples\23_pubdatarate\23_pubclient.vcxproj", "{70307B6F-61D5-4015-8578-E0E3549B7AB9}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{B8900569-8956-47AF-A2E7-50EB1DD788DD} = {B8900569-8956-47AF-A2E7-50EB1DD788DD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "23_pubservice", "examples\23_pubdatarate\23_pubservice.vcxproj", "{2F18E4B1-966E-4A8D-B91E-8F216186A6E3}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{B8900569-8956-47AF-A2E7-50EB1DD788DD} = {B8900569-8956-47AF-A2E7-50EB1DD788DD}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{C8E80B4D-FE97-48F9-A056-F916E6897CE4}"
ProjectSection(SolutionItems) = preProject
examples\21_locwatchdog\services\HelloWatchdog.siml = examples\21_locwatchdog\services\HelloWatchdog.siml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{5DF9E173-0D3F-4D4B-A838-37ED95A093FC}"
ProjectSection(SolutionItems) = preProject
examples\22_pubwatchdog\services\HelloWatchdog.siml = examples\22_pubwatchdog\services\HelloWatchdog.siml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{5EBF83AB-0028-4075-AA32-CA3EBEA4B7A0}"
ProjectSection(SolutionItems) = preProject
examples\23_pubdatarate\services\LargeData.siml = examples\23_pubdatarate\services\LargeData.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "16_common", "examples\16_pubmesh\16_common.vcxproj", "{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}"
ProjectSection(ProjectDependencies) = postProject
{D708316F-7E34-4E09-A782-4021C5500C0D} = {D708316F-7E34-4E09-A782-4021C5500C0D}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "24_pubunblock", "24_pubunblock", "{967610F9-FBB0-4793-9E76-F500C4167FCE}"
ProjectSection(SolutionItems) = preProject
examples\24_pubunblock\CMakeLists.txt = examples\24_pubunblock\CMakeLists.txt
examples\24_pubunblock\ReadMe.md = examples\24_pubunblock\ReadMe.md
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "24_generated", "examples\24_pubunblock\24_generated.vcxproj", "{EB228067-EA4D-452C-91FC-91DB3B445C31}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "24_pubclient", "examples\24_pubunblock\24_pubclient.vcxproj", "{A09D9D20-FBB8-4C1A-8628-3071AC7903DA}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{EB228067-EA4D-452C-91FC-91DB3B445C31} = {EB228067-EA4D-452C-91FC-91DB3B445C31}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "24_pubservice", "examples\24_pubunblock\24_pubservice.vcxproj", "{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{EB228067-EA4D-452C-91FC-91DB3B445C31} = {EB228067-EA4D-452C-91FC-91DB3B445C31}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{93F005FC-C82E-41C7-AD15-C2F7C8287BFF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "units", "units", "{48E60088-F431-4FFB-A170-31DAF8EC2DC8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "areg-unit-tests", "tests\areg-unit-tests.vcxproj", "{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1}"
ProjectSection(ProjectDependencies) = postProject
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{C485A89F-A149-4893-A023-253593403974}"
ProjectSection(SolutionItems) = preProject
examples\24_pubunblock\services\HelloUnblock.siml = examples\24_pubunblock\services\HelloUnblock.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "logcollector", "framework\logcollector.vcxproj", "{0A2D4D13-6AC2-4602-BF8F-DA73133C1974}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aregextend", "framework\aregextend.vcxproj", "{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "25_generated", "examples\25_pubsub\25_generated.vcxproj", "{73EC875E-F233-4FA9-B3AF-E2981EA59B3A}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "25_pubsub", "25_pubsub", "{285E5D8D-7561-4FA9-9B90-89054E8EE93F}"
ProjectSection(SolutionItems) = preProject
examples\25_pubsub\CMakeLists.txt = examples\25_pubsub\CMakeLists.txt
examples\25_pubsub\ReadMe.md = examples\25_pubsub\ReadMe.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{29121F55-3BA7-4701-9C44-2B1BA5103A5F}"
ProjectSection(SolutionItems) = preProject
examples\25_pubsub\services\PubSub.siml = examples\25_pubsub\services\PubSub.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "25_publisher", "examples\25_pubsub\25_publisher.vcxproj", "{DFA66387-8E95-4745-9DEB-AC4A82165F9A}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A} = {73EC875E-F233-4FA9-B3AF-E2981EA59B3A}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "25_subscriber", "examples\25_pubsub\25_subscriber.vcxproj", "{2AC5EE08-C6FC-4224-8250-F3586B81E2E5}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A} = {73EC875E-F233-4FA9-B3AF-E2981EA59B3A}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "26_pubsubmix", "26_pubsubmix", "{5CB52248-C396-4985-BB18-266DACF7838C}"
ProjectSection(SolutionItems) = preProject
examples\26_pubsubmix\CMakeLists.txt = examples\26_pubsubmix\CMakeLists.txt
examples\26_pubsubmix\ReadMe.md = examples\26_pubsubmix\ReadMe.md
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "26_generated", "examples\26_pubsubmix\26_generated.vcxproj", "{D6A76B16-C1F9-4FCC-B625-74471FA47BD6}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "26_pubsubctrl", "examples\26_pubsubmix\26_pubsubctrl.vcxproj", "{175B6636-9885-40EF-8748-37136DEB5122}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9} = {6C5C01FA-1F9B-4132-881C-14C18EC15FA9}
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6} = {D6A76B16-C1F9-4FCC-B625-74471FA47BD6}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "26_pubsubdyn", "examples\26_pubsubmix\26_pubsubdyn.vcxproj", "{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9} = {6C5C01FA-1F9B-4132-881C-14C18EC15FA9}
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6} = {D6A76B16-C1F9-4FCC-B625-74471FA47BD6}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{E74A499A-2B19-4EC5-ADCC-549565C9F2A9}"
ProjectSection(SolutionItems) = preProject
examples\26_pubsubmix\services\PubSubMix.siml = examples\26_pubsubmix\services\PubSubMix.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "26_common", "examples\26_pubsubmix\26_common.vcxproj", "{6C5C01FA-1F9B-4132-881C-14C18EC15FA9}"
ProjectSection(ProjectDependencies) = postProject
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6} = {D6A76B16-C1F9-4FCC-B625-74471FA47BD6}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "27_pubsubmulti", "27_pubsubmulti", "{7B7FB883-C82B-45F1-BCEA-0E97E8BAD476}"
ProjectSection(SolutionItems) = preProject
examples\27_pubsubmulti\CMakeLists.txt = examples\27_pubsubmulti\CMakeLists.txt
examples\27_pubsubmulti\ReadMe.md = examples\27_pubsubmulti\ReadMe.md
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "27_generated", "examples\27_pubsubmulti\27_generated.vcxproj", "{76479E1B-8BD5-4143-897F-F1E93DC1C64B}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "27_publisher", "examples\27_pubsubmulti\27_publisher.vcxproj", "{383F6294-1771-4E78-B5CB-61B04F6BD660}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{76479E1B-8BD5-4143-897F-F1E93DC1C64B} = {76479E1B-8BD5-4143-897F-F1E93DC1C64B}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "27_subscribermulti", "examples\27_pubsubmulti\27_subscribermulti.vcxproj", "{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{76479E1B-8BD5-4143-897F-F1E93DC1C64B} = {76479E1B-8BD5-4143-897F-F1E93DC1C64B}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "areglogger", "framework\areglogger.vcxproj", "{B29F438E-904C-4929-903C-F4673182A417}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5} = {A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "logobserver", "framework\logobserver.vcxproj", "{6941F2A7-F0C7-4293-8646-AF68A7E35183}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{B29F438E-904C-4929-903C-F4673182A417} = {B29F438E-904C-4929-903C-F4673182A417}
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3} = {FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aregsqlite3", "thirdparty\sqlite3.vcxproj", "{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "thirdparty", "thirdparty", "{BB98F00E-A26C-48A8-AE2A-CEECB9E3FFB1}"
ProjectSection(SolutionItems) = preProject
thirdparty\CMakeLists.txt = thirdparty\CMakeLists.txt
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dummy", "examples\dummy\dummy.vcxproj", "{98743716-82FC-4B02-96AF-E6F649403A0A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "github-workflows", "github-workflows", "{85EF9AE6-92A6-4DD9-833C-455EEAEA186D}"
ProjectSection(SolutionItems) = preProject
.github\workflows\accessibility-bot.yml = .github\workflows\accessibility-bot.yml
.github\workflows\cmake.yml = .github\workflows\cmake.yml
.github\workflows\codeql-analysis.yml = .github\workflows\codeql-analysis.yml
.github\workflows\msbuild.yml = .github\workflows\msbuild.yml
.github\workflows\validate-pr.yml = .github\workflows\validate-pr.yml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{11AEF28F-83CA-493A-B507-F271FCB35DBA}"
ProjectSection(SolutionItems) = preProject
examples\27_pubsubmulti\services\PubSub.siml = examples\27_pubsubmulti\services\PubSub.siml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "exports", "exports", "{60EE7204-7D44-4087-8880-900D00536202}"
ProjectSection(SolutionItems) = preProject
conf\exports\areg.pc.in = conf\exports\areg.pc.in
conf\exports\aregextend.pc.in = conf\exports\aregextend.pc.in
conf\exports\areglogger.pc.in = conf\exports\areglogger.pc.in
conf\exports\config.cmake.in = conf\exports\config.cmake.in
conf\exports\logcollector.service.in = conf\exports\logcollector.service.in
conf\exports\logcollector.service.install.bat.in = conf\exports\logcollector.service.install.bat.in
conf\exports\logcollector.service.install.sh.in = conf\exports\logcollector.service.install.sh.in
conf\exports\logcollector.service.uninstall.bat.in = conf\exports\logcollector.service.uninstall.bat.in
conf\exports\logcollector.service.uninstall.sh.in = conf\exports\logcollector.service.uninstall.sh.in
conf\exports\mtrouter.service.in = conf\exports\mtrouter.service.in
conf\exports\mtrouter.service.install.bat.in = conf\exports\mtrouter.service.install.bat.in
conf\exports\mtrouter.service.install.sh.in = conf\exports\mtrouter.service.install.sh.in
conf\exports\mtrouter.service.uninstall.bat.in = conf\exports\mtrouter.service.uninstall.bat.in
conf\exports\mtrouter.service.uninstall.sh.in = conf\exports\mtrouter.service.uninstall.sh.in
conf\exports\tech.areg.logcollector.plist.in = conf\exports\tech.areg.logcollector.plist.in
conf\exports\tech.areg.mtrouter.plist.in = conf\exports\tech.areg.mtrouter.plist.in
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "example", "example", "{31AB3D1E-3F6C-4415-B3A5-BB8AA449A1E2}"
ProjectSection(SolutionItems) = preProject
conf\exports\example\CMakeLists.txt = conf\exports\example\CMakeLists.txt
conf\exports\example\example.cpp = conf\exports\example\example.cpp
conf\exports\example\README.md = conf\exports\example\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "wiki", "wiki", "{C33D0DF1-A5DB-4F6E-A526-6AA2B3C31AD3}"
ProjectSection(SolutionItems) = preProject
docs\wiki\01a-areg-package.md = docs\wiki\01a-areg-package.md
docs\wiki\01b-cmake-build.md = docs\wiki\01b-cmake-build.md
docs\wiki\01c-msvc-build.md = docs\wiki\01c-msvc-build.md
docs\wiki\01d-wsl-build.md = docs\wiki\01d-wsl-build.md
docs\wiki\02a-quick-project-setup.md = docs\wiki\02a-quick-project-setup.md
docs\wiki\02b-cmake-integrate.md = docs\wiki\02b-cmake-integrate.md
docs\wiki\02c-msvc-integrate.md = docs\wiki\02c-msvc-integrate.md
docs\wiki\02d-cmake-config.md = docs\wiki\02d-cmake-config.md
docs\wiki\02e-cmake-functions.md = docs\wiki\02e-cmake-functions.md
docs\wiki\02f-preprocessor-definitions.md = docs\wiki\02f-preprocessor-definitions.md
docs\wiki\03a-mtrouter.md = docs\wiki\03a-mtrouter.md
docs\wiki\04a-logging-config.md = docs\wiki\04a-logging-config.md
docs\wiki\04b-logging-develop.md = docs\wiki\04b-logging-develop.md
docs\wiki\04c-logobserver.md = docs\wiki\04c-logobserver.md
docs\wiki\04d-logcollector.md = docs\wiki\04d-logcollector.md
docs\wiki\05a-persistence-syntax.md = docs\wiki\05a-persistence-syntax.md
docs\wiki\06a-areg-sdk-tools.md = docs\wiki\06a-areg-sdk-tools.md
docs\wiki\06b-code-generator.md = docs\wiki\06b-code-generator.md
docs\wiki\06c-build-lusan.md = docs\wiki\06c-build-lusan.md
docs\wiki\06d-setup-lusan.md = docs\wiki\06d-setup-lusan.md
docs\wiki\06e-lusan-service-interface.md = docs\wiki\06e-lusan-service-interface.md
docs\wiki\06f-lusan-live-logging.md = docs\wiki\06f-lusan-live-logging.md
docs\wiki\06g-lusan-offline-logging.md = docs\wiki\06g-lusan-offline-logging.md
docs\wiki\07a-troubleshooting-wsl-update.md = docs\wiki\07a-troubleshooting-wsl-update.md
docs\wiki\07b-troubleshooting-cmake-linux-builds.md = docs\wiki\07b-troubleshooting-cmake-linux-builds.md
docs\wiki\07c-troubleshooting-integration.md = docs\wiki\07c-troubleshooting-integration.md
docs\wiki\08a-examples-and-tests.md = docs\wiki\08a-examples-and-tests.md
docs\wiki\README.md = docs\wiki\README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02_minimalipc", "02_minimalipc", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
ProjectSection(SolutionItems) = preProject
examples\02_minimalipc\CMakeLists.txt = examples\02_minimalipc\CMakeLists.txt
examples\02_minimalipc\ReadMe.md = examples\02_minimalipc\ReadMe.md
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02_consumeripc", "examples\02_minimalipc\02_consumeripc.vcxproj", "{BD9615AA-7202-4D22-8C0E-78160756D9D4}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5} = {7F864438-F4C3-463A-B5CE-CB1DB5847FB5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02_generated", "examples\02_minimalipc\02_generated.vcxproj", "{7F864438-F4C3-463A-B5CE-CB1DB5847FB5}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02_provideripc", "examples\02_minimalipc\02_provideripc.vcxproj", "{FD299611-3D51-49AD-995D-37CF39E10A81}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5} = {7F864438-F4C3-463A-B5CE-CB1DB5847FB5}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01_minimalrpc", "01_minimalrpc", "{B7A439E5-E0F9-4BD3-9668-76DC4C398045}"
ProjectSection(SolutionItems) = preProject
examples\01_minimalrpc\CMakeLists.txt = examples\01_minimalrpc\CMakeLists.txt
examples\01_minimalrpc\ReadMe.md = examples\01_minimalrpc\ReadMe.md
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01_generated", "examples\01_minimalrpc\01_generated.vcxproj", "{ECE372F3-6511-4EDB-BEFC-18E5675093E2}"
ProjectSection(ProjectDependencies) = postProject
{98743716-82FC-4B02-96AF-E6F649403A0A} = {98743716-82FC-4B02-96AF-E6F649403A0A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01_minimalrpc", "examples\01_minimalrpc\01_minimalrpc.vcxproj", "{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
{ECE372F3-6511-4EDB-BEFC-18E5675093E2} = {ECE372F3-6511-4EDB-BEFC-18E5675093E2}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{27B2554D-B2F0-45C6-9F42-76F6BDEA4916}"
ProjectSection(SolutionItems) = preProject
examples\01_minimalrpc\services\HelloService.siml = examples\01_minimalrpc\services\HelloService.siml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{49BD1BA3-692A-48DC-85F9-4F31415132C7}"
ProjectSection(SolutionItems) = preProject
examples\02_minimalipc\services\HelloService.siml = examples\02_minimalipc\services\HelloService.siml
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "28_stlsync", "examples\28_stlsync\28_stlsync.vcxproj", "{57D67BC9-C172-47F0-A379-6DA93E845202}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "29_syncevent", "examples\29_syncevent\29_syncevent.vcxproj", "{E5605BA4-CC97-4635-B9B6-E73F10A8704F}"
ProjectSection(ProjectDependencies) = postProject
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5} = {2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "toolchains", "toolchains", "{E653E5C4-D807-4A3A-993A-C797E915E56A}"
ProjectSection(SolutionItems) = preProject
conf\exports\example\toolchains\clang-linux-arm32.cmake = conf\exports\example\toolchains\clang-linux-arm32.cmake
conf\exports\example\toolchains\clang-linux-arm64.cmake = conf\exports\example\toolchains\clang-linux-arm64.cmake
conf\exports\example\toolchains\clang-linux-x64.cmake = conf\exports\example\toolchains\clang-linux-x64.cmake
conf\exports\example\toolchains\clang-linux-x86.cmake = conf\exports\example\toolchains\clang-linux-x86.cmake
conf\exports\example\toolchains\clang-macos-arm64.cmake = conf\exports\example\toolchains\clang-macos-arm64.cmake
conf\exports\example\toolchains\clang-macos-x64.cmake = conf\exports\example\toolchains\clang-macos-x64.cmake
conf\exports\example\toolchains\clang-win-x64.cmake = conf\exports\example\toolchains\clang-win-x64.cmake
conf\exports\example\toolchains\clang-win-x86.cmake = conf\exports\example\toolchains\clang-win-x86.cmake
conf\exports\example\toolchains\gnu-linux-arm32.cmake = conf\exports\example\toolchains\gnu-linux-arm32.cmake
conf\exports\example\toolchains\gnu-linux-arm64.cmake = conf\exports\example\toolchains\gnu-linux-arm64.cmake
conf\exports\example\toolchains\gnu-linux-x64.cmake = conf\exports\example\toolchains\gnu-linux-x64.cmake
conf\exports\example\toolchains\gnu-linux-x86.cmake = conf\exports\example\toolchains\gnu-linux-x86.cmake
conf\exports\example\toolchains\msvc-win-x64.cmake = conf\exports\example\toolchains\msvc-win-x64.cmake
conf\exports\example\toolchains\msvc-win-x86.cmake = conf\exports\example\toolchains\msvc-win-x86.cmake
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}.Debug|Win32.ActiveCfg = Debug|Win32
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}.Debug|Win32.Build.0 = Debug|Win32
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}.Debug|x64.ActiveCfg = Debug|x64
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}.Debug|x64.Build.0 = Debug|x64
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}.Release|Win32.ActiveCfg = Release|Win32
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}.Release|Win32.Build.0 = Release|Win32
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}.Release|x64.ActiveCfg = Release|x64
{2DF8165C-EDE2-4F76-8D2C-2FFE82CB6CE5}.Release|x64.Build.0 = Release|x64
{24A4F250-C09B-40BF-A6F2-25BD8ABBED6F}.Debug|Win32.ActiveCfg = Debug|Win32
{24A4F250-C09B-40BF-A6F2-25BD8ABBED6F}.Debug|Win32.Build.0 = Debug|Win32
{24A4F250-C09B-40BF-A6F2-25BD8ABBED6F}.Debug|x64.ActiveCfg = Debug|x64
{24A4F250-C09B-40BF-A6F2-25BD8ABBED6F}.Debug|x64.Build.0 = Debug|x64
{24A4F250-C09B-40BF-A6F2-25BD8ABBED6F}.Release|Win32.ActiveCfg = Release|Win32
{24A4F250-C09B-40BF-A6F2-25BD8ABBED6F}.Release|Win32.Build.0 = Release|Win32
{24A4F250-C09B-40BF-A6F2-25BD8ABBED6F}.Release|x64.ActiveCfg = Release|x64
{24A4F250-C09B-40BF-A6F2-25BD8ABBED6F}.Release|x64.Build.0 = Release|x64
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}.Debug|Win32.ActiveCfg = Debug|Win32
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}.Debug|Win32.Build.0 = Debug|Win32
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}.Debug|x64.ActiveCfg = Debug|x64
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}.Debug|x64.Build.0 = Debug|x64
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}.Release|Win32.ActiveCfg = Release|Win32
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}.Release|Win32.Build.0 = Release|Win32
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}.Release|x64.ActiveCfg = Release|x64
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9}.Release|x64.Build.0 = Release|x64
{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D}.Debug|Win32.ActiveCfg = Debug|Win32
{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D}.Debug|Win32.Build.0 = Debug|Win32
{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D}.Debug|x64.ActiveCfg = Debug|x64
{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D}.Debug|x64.Build.0 = Debug|x64
{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D}.Release|Win32.ActiveCfg = Release|Win32
{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D}.Release|Win32.Build.0 = Release|Win32
{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D}.Release|x64.ActiveCfg = Release|x64
{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D}.Release|x64.Build.0 = Release|x64
{CF1C33CA-6F11-4B5C-B92B-F0138B90B956}.Debug|Win32.ActiveCfg = Debug|Win32
{CF1C33CA-6F11-4B5C-B92B-F0138B90B956}.Debug|Win32.Build.0 = Debug|Win32
{CF1C33CA-6F11-4B5C-B92B-F0138B90B956}.Debug|x64.ActiveCfg = Debug|x64
{CF1C33CA-6F11-4B5C-B92B-F0138B90B956}.Debug|x64.Build.0 = Debug|x64
{CF1C33CA-6F11-4B5C-B92B-F0138B90B956}.Release|Win32.ActiveCfg = Release|Win32
{CF1C33CA-6F11-4B5C-B92B-F0138B90B956}.Release|Win32.Build.0 = Release|Win32
{CF1C33CA-6F11-4B5C-B92B-F0138B90B956}.Release|x64.ActiveCfg = Release|x64
{CF1C33CA-6F11-4B5C-B92B-F0138B90B956}.Release|x64.Build.0 = Release|x64
{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4}.Debug|Win32.ActiveCfg = Debug|Win32
{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4}.Debug|Win32.Build.0 = Debug|Win32
{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4}.Debug|x64.ActiveCfg = Debug|x64
{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4}.Debug|x64.Build.0 = Debug|x64
{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4}.Release|Win32.ActiveCfg = Release|Win32
{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4}.Release|Win32.Build.0 = Release|Win32
{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4}.Release|x64.ActiveCfg = Release|x64
{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4}.Release|x64.Build.0 = Release|x64
{7F508C90-D49D-4E26-B7B0-3CBCA677A272}.Debug|Win32.ActiveCfg = Debug|Win32
{7F508C90-D49D-4E26-B7B0-3CBCA677A272}.Debug|Win32.Build.0 = Debug|Win32
{7F508C90-D49D-4E26-B7B0-3CBCA677A272}.Debug|x64.ActiveCfg = Debug|x64
{7F508C90-D49D-4E26-B7B0-3CBCA677A272}.Debug|x64.Build.0 = Debug|x64
{7F508C90-D49D-4E26-B7B0-3CBCA677A272}.Release|Win32.ActiveCfg = Release|Win32
{7F508C90-D49D-4E26-B7B0-3CBCA677A272}.Release|Win32.Build.0 = Release|Win32
{7F508C90-D49D-4E26-B7B0-3CBCA677A272}.Release|x64.ActiveCfg = Release|x64
{7F508C90-D49D-4E26-B7B0-3CBCA677A272}.Release|x64.Build.0 = Release|x64
{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE}.Debug|Win32.ActiveCfg = Debug|Win32
{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE}.Debug|Win32.Build.0 = Debug|Win32
{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE}.Debug|x64.ActiveCfg = Debug|x64
{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE}.Debug|x64.Build.0 = Debug|x64
{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE}.Release|Win32.ActiveCfg = Release|Win32
{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE}.Release|Win32.Build.0 = Release|Win32
{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE}.Release|x64.ActiveCfg = Release|x64
{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE}.Release|x64.Build.0 = Release|x64
{5B49EFBF-FC6B-4016-BC84-77784BF37944}.Debug|Win32.ActiveCfg = Debug|Win32
{5B49EFBF-FC6B-4016-BC84-77784BF37944}.Debug|Win32.Build.0 = Debug|Win32
{5B49EFBF-FC6B-4016-BC84-77784BF37944}.Debug|x64.ActiveCfg = Debug|x64
{5B49EFBF-FC6B-4016-BC84-77784BF37944}.Debug|x64.Build.0 = Debug|x64
{5B49EFBF-FC6B-4016-BC84-77784BF37944}.Release|Win32.ActiveCfg = Release|Win32
{5B49EFBF-FC6B-4016-BC84-77784BF37944}.Release|Win32.Build.0 = Release|Win32
{5B49EFBF-FC6B-4016-BC84-77784BF37944}.Release|x64.ActiveCfg = Release|x64
{5B49EFBF-FC6B-4016-BC84-77784BF37944}.Release|x64.Build.0 = Release|x64
{13E221EB-7446-49CB-8150-2575425667BF}.Debug|Win32.ActiveCfg = Debug|Win32
{13E221EB-7446-49CB-8150-2575425667BF}.Debug|Win32.Build.0 = Debug|Win32
{13E221EB-7446-49CB-8150-2575425667BF}.Debug|x64.ActiveCfg = Debug|x64
{13E221EB-7446-49CB-8150-2575425667BF}.Debug|x64.Build.0 = Debug|x64
{13E221EB-7446-49CB-8150-2575425667BF}.Release|Win32.ActiveCfg = Release|Win32
{13E221EB-7446-49CB-8150-2575425667BF}.Release|Win32.Build.0 = Release|Win32
{13E221EB-7446-49CB-8150-2575425667BF}.Release|x64.ActiveCfg = Release|x64
{13E221EB-7446-49CB-8150-2575425667BF}.Release|x64.Build.0 = Release|x64
{18F81610-018F-4FE9-9B33-D2060E0F2CB6}.Debug|Win32.ActiveCfg = Debug|Win32
{18F81610-018F-4FE9-9B33-D2060E0F2CB6}.Debug|Win32.Build.0 = Debug|Win32
{18F81610-018F-4FE9-9B33-D2060E0F2CB6}.Debug|x64.ActiveCfg = Debug|x64
{18F81610-018F-4FE9-9B33-D2060E0F2CB6}.Debug|x64.Build.0 = Debug|x64
{18F81610-018F-4FE9-9B33-D2060E0F2CB6}.Release|Win32.ActiveCfg = Release|Win32
{18F81610-018F-4FE9-9B33-D2060E0F2CB6}.Release|Win32.Build.0 = Release|Win32
{18F81610-018F-4FE9-9B33-D2060E0F2CB6}.Release|x64.ActiveCfg = Release|x64
{18F81610-018F-4FE9-9B33-D2060E0F2CB6}.Release|x64.Build.0 = Release|x64
{09DBC624-4CBA-4345-B8F1-A2786F00A615}.Debug|Win32.ActiveCfg = Debug|Win32
{09DBC624-4CBA-4345-B8F1-A2786F00A615}.Debug|Win32.Build.0 = Debug|Win32
{09DBC624-4CBA-4345-B8F1-A2786F00A615}.Debug|x64.ActiveCfg = Debug|x64
{09DBC624-4CBA-4345-B8F1-A2786F00A615}.Debug|x64.Build.0 = Debug|x64
{09DBC624-4CBA-4345-B8F1-A2786F00A615}.Release|Win32.ActiveCfg = Release|Win32
{09DBC624-4CBA-4345-B8F1-A2786F00A615}.Release|Win32.Build.0 = Release|Win32
{09DBC624-4CBA-4345-B8F1-A2786F00A615}.Release|x64.ActiveCfg = Release|x64
{09DBC624-4CBA-4345-B8F1-A2786F00A615}.Release|x64.Build.0 = Release|x64
{CEFC6857-FA75-4334-AB78-F3AC6CB54942}.Debug|Win32.ActiveCfg = Debug|Win32
{CEFC6857-FA75-4334-AB78-F3AC6CB54942}.Debug|Win32.Build.0 = Debug|Win32
{CEFC6857-FA75-4334-AB78-F3AC6CB54942}.Debug|x64.ActiveCfg = Debug|x64
{CEFC6857-FA75-4334-AB78-F3AC6CB54942}.Debug|x64.Build.0 = Debug|x64
{CEFC6857-FA75-4334-AB78-F3AC6CB54942}.Release|Win32.ActiveCfg = Release|Win32
{CEFC6857-FA75-4334-AB78-F3AC6CB54942}.Release|Win32.Build.0 = Release|Win32
{CEFC6857-FA75-4334-AB78-F3AC6CB54942}.Release|x64.ActiveCfg = Release|x64
{CEFC6857-FA75-4334-AB78-F3AC6CB54942}.Release|x64.Build.0 = Release|x64
{0450B090-2EAA-4454-944E-ABD6CFFD26F9}.Debug|Win32.ActiveCfg = Debug|Win32
{0450B090-2EAA-4454-944E-ABD6CFFD26F9}.Debug|Win32.Build.0 = Debug|Win32
{0450B090-2EAA-4454-944E-ABD6CFFD26F9}.Debug|x64.ActiveCfg = Debug|x64
{0450B090-2EAA-4454-944E-ABD6CFFD26F9}.Debug|x64.Build.0 = Debug|x64
{0450B090-2EAA-4454-944E-ABD6CFFD26F9}.Release|Win32.ActiveCfg = Release|Win32
{0450B090-2EAA-4454-944E-ABD6CFFD26F9}.Release|Win32.Build.0 = Release|Win32
{0450B090-2EAA-4454-944E-ABD6CFFD26F9}.Release|x64.ActiveCfg = Release|x64
{0450B090-2EAA-4454-944E-ABD6CFFD26F9}.Release|x64.Build.0 = Release|x64
{ABEE2F20-BB60-434F-92D8-75DB71020E01}.Debug|Win32.ActiveCfg = Debug|Win32
{ABEE2F20-BB60-434F-92D8-75DB71020E01}.Debug|Win32.Build.0 = Debug|Win32
{ABEE2F20-BB60-434F-92D8-75DB71020E01}.Debug|x64.ActiveCfg = Debug|x64
{ABEE2F20-BB60-434F-92D8-75DB71020E01}.Debug|x64.Build.0 = Debug|x64
{ABEE2F20-BB60-434F-92D8-75DB71020E01}.Release|Win32.ActiveCfg = Release|Win32
{ABEE2F20-BB60-434F-92D8-75DB71020E01}.Release|Win32.Build.0 = Release|Win32
{ABEE2F20-BB60-434F-92D8-75DB71020E01}.Release|x64.ActiveCfg = Release|x64
{ABEE2F20-BB60-434F-92D8-75DB71020E01}.Release|x64.Build.0 = Release|x64
{88DC6432-0356-43A9-821B-2444C564BDF2}.Debug|Win32.ActiveCfg = Debug|Win32
{88DC6432-0356-43A9-821B-2444C564BDF2}.Debug|Win32.Build.0 = Debug|Win32
{88DC6432-0356-43A9-821B-2444C564BDF2}.Debug|x64.ActiveCfg = Debug|x64
{88DC6432-0356-43A9-821B-2444C564BDF2}.Debug|x64.Build.0 = Debug|x64
{88DC6432-0356-43A9-821B-2444C564BDF2}.Release|Win32.ActiveCfg = Release|Win32
{88DC6432-0356-43A9-821B-2444C564BDF2}.Release|Win32.Build.0 = Release|Win32
{88DC6432-0356-43A9-821B-2444C564BDF2}.Release|x64.ActiveCfg = Release|x64
{88DC6432-0356-43A9-821B-2444C564BDF2}.Release|x64.Build.0 = Release|x64
{4056956C-7E12-4432-86F8-D900A52866A4}.Debug|Win32.ActiveCfg = Debug|Win32
{4056956C-7E12-4432-86F8-D900A52866A4}.Debug|Win32.Build.0 = Debug|Win32
{4056956C-7E12-4432-86F8-D900A52866A4}.Debug|x64.ActiveCfg = Debug|x64
{4056956C-7E12-4432-86F8-D900A52866A4}.Debug|x64.Build.0 = Debug|x64
{4056956C-7E12-4432-86F8-D900A52866A4}.Release|Win32.ActiveCfg = Release|Win32
{4056956C-7E12-4432-86F8-D900A52866A4}.Release|Win32.Build.0 = Release|Win32
{4056956C-7E12-4432-86F8-D900A52866A4}.Release|x64.ActiveCfg = Release|x64
{4056956C-7E12-4432-86F8-D900A52866A4}.Release|x64.Build.0 = Release|x64
{8273239C-C5A8-4752-9DFC-E1678222C36E}.Debug|Win32.ActiveCfg = Debug|Win32
{8273239C-C5A8-4752-9DFC-E1678222C36E}.Debug|Win32.Build.0 = Debug|Win32
{8273239C-C5A8-4752-9DFC-E1678222C36E}.Debug|x64.ActiveCfg = Debug|x64
{8273239C-C5A8-4752-9DFC-E1678222C36E}.Debug|x64.Build.0 = Debug|x64
{8273239C-C5A8-4752-9DFC-E1678222C36E}.Release|Win32.ActiveCfg = Release|Win32
{8273239C-C5A8-4752-9DFC-E1678222C36E}.Release|Win32.Build.0 = Release|Win32
{8273239C-C5A8-4752-9DFC-E1678222C36E}.Release|x64.ActiveCfg = Release|x64
{8273239C-C5A8-4752-9DFC-E1678222C36E}.Release|x64.Build.0 = Release|x64
{1D3A6135-F0EE-4531-B682-55270B70B699}.Debug|Win32.ActiveCfg = Debug|Win32
{1D3A6135-F0EE-4531-B682-55270B70B699}.Debug|Win32.Build.0 = Debug|Win32
{1D3A6135-F0EE-4531-B682-55270B70B699}.Debug|x64.ActiveCfg = Debug|x64
{1D3A6135-F0EE-4531-B682-55270B70B699}.Debug|x64.Build.0 = Debug|x64
{1D3A6135-F0EE-4531-B682-55270B70B699}.Release|Win32.ActiveCfg = Release|Win32
{1D3A6135-F0EE-4531-B682-55270B70B699}.Release|Win32.Build.0 = Release|Win32
{1D3A6135-F0EE-4531-B682-55270B70B699}.Release|x64.ActiveCfg = Release|x64
{1D3A6135-F0EE-4531-B682-55270B70B699}.Release|x64.Build.0 = Release|x64
{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323}.Debug|Win32.ActiveCfg = Debug|Win32
{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323}.Debug|Win32.Build.0 = Debug|Win32
{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323}.Debug|x64.ActiveCfg = Debug|x64
{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323}.Debug|x64.Build.0 = Debug|x64
{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323}.Release|Win32.ActiveCfg = Release|Win32
{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323}.Release|Win32.Build.0 = Release|Win32
{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323}.Release|x64.ActiveCfg = Release|x64
{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323}.Release|x64.Build.0 = Release|x64
{CCBBF424-D22D-480F-A13E-28095E33827C}.Debug|Win32.ActiveCfg = Debug|Win32
{CCBBF424-D22D-480F-A13E-28095E33827C}.Debug|Win32.Build.0 = Debug|Win32
{CCBBF424-D22D-480F-A13E-28095E33827C}.Debug|x64.ActiveCfg = Debug|x64
{CCBBF424-D22D-480F-A13E-28095E33827C}.Debug|x64.Build.0 = Debug|x64
{CCBBF424-D22D-480F-A13E-28095E33827C}.Release|Win32.ActiveCfg = Release|Win32
{CCBBF424-D22D-480F-A13E-28095E33827C}.Release|Win32.Build.0 = Release|Win32
{CCBBF424-D22D-480F-A13E-28095E33827C}.Release|x64.ActiveCfg = Release|x64
{CCBBF424-D22D-480F-A13E-28095E33827C}.Release|x64.Build.0 = Release|x64
{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2}.Debug|Win32.ActiveCfg = Debug|Win32
{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2}.Debug|Win32.Build.0 = Debug|Win32
{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2}.Debug|x64.ActiveCfg = Debug|x64
{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2}.Debug|x64.Build.0 = Debug|x64
{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2}.Release|Win32.ActiveCfg = Release|Win32
{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2}.Release|Win32.Build.0 = Release|Win32
{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2}.Release|x64.ActiveCfg = Release|x64
{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2}.Release|x64.Build.0 = Release|x64
{D20E2DBD-4224-479D-9608-5BC062A48BE4}.Debug|Win32.ActiveCfg = Debug|Win32
{D20E2DBD-4224-479D-9608-5BC062A48BE4}.Debug|Win32.Build.0 = Debug|Win32
{D20E2DBD-4224-479D-9608-5BC062A48BE4}.Debug|x64.ActiveCfg = Debug|x64
{D20E2DBD-4224-479D-9608-5BC062A48BE4}.Debug|x64.Build.0 = Debug|x64
{D20E2DBD-4224-479D-9608-5BC062A48BE4}.Release|Win32.ActiveCfg = Release|Win32
{D20E2DBD-4224-479D-9608-5BC062A48BE4}.Release|Win32.Build.0 = Release|Win32
{D20E2DBD-4224-479D-9608-5BC062A48BE4}.Release|x64.ActiveCfg = Release|x64
{D20E2DBD-4224-479D-9608-5BC062A48BE4}.Release|x64.Build.0 = Release|x64
{D708316F-7E34-4E09-A782-4021C5500C0D}.Debug|Win32.ActiveCfg = Debug|Win32
{D708316F-7E34-4E09-A782-4021C5500C0D}.Debug|Win32.Build.0 = Debug|Win32
{D708316F-7E34-4E09-A782-4021C5500C0D}.Debug|x64.ActiveCfg = Debug|x64
{D708316F-7E34-4E09-A782-4021C5500C0D}.Debug|x64.Build.0 = Debug|x64
{D708316F-7E34-4E09-A782-4021C5500C0D}.Release|Win32.ActiveCfg = Release|Win32
{D708316F-7E34-4E09-A782-4021C5500C0D}.Release|Win32.Build.0 = Release|Win32
{D708316F-7E34-4E09-A782-4021C5500C0D}.Release|x64.ActiveCfg = Release|x64
{D708316F-7E34-4E09-A782-4021C5500C0D}.Release|x64.Build.0 = Release|x64
{CC971823-8685-4102-B7E6-E56E31C02370}.Debug|Win32.ActiveCfg = Debug|Win32
{CC971823-8685-4102-B7E6-E56E31C02370}.Debug|Win32.Build.0 = Debug|Win32
{CC971823-8685-4102-B7E6-E56E31C02370}.Debug|x64.ActiveCfg = Debug|x64
{CC971823-8685-4102-B7E6-E56E31C02370}.Debug|x64.Build.0 = Debug|x64
{CC971823-8685-4102-B7E6-E56E31C02370}.Release|Win32.ActiveCfg = Release|Win32
{CC971823-8685-4102-B7E6-E56E31C02370}.Release|Win32.Build.0 = Release|Win32
{CC971823-8685-4102-B7E6-E56E31C02370}.Release|x64.ActiveCfg = Release|x64
{CC971823-8685-4102-B7E6-E56E31C02370}.Release|x64.Build.0 = Release|x64
{2600865C-8A10-4404-B05D-8F3CAE3FC417}.Debug|Win32.ActiveCfg = Debug|Win32
{2600865C-8A10-4404-B05D-8F3CAE3FC417}.Debug|Win32.Build.0 = Debug|Win32
{2600865C-8A10-4404-B05D-8F3CAE3FC417}.Debug|x64.ActiveCfg = Debug|x64
{2600865C-8A10-4404-B05D-8F3CAE3FC417}.Debug|x64.Build.0 = Debug|x64
{2600865C-8A10-4404-B05D-8F3CAE3FC417}.Release|Win32.ActiveCfg = Release|Win32
{2600865C-8A10-4404-B05D-8F3CAE3FC417}.Release|Win32.Build.0 = Release|Win32
{2600865C-8A10-4404-B05D-8F3CAE3FC417}.Release|x64.ActiveCfg = Release|x64
{2600865C-8A10-4404-B05D-8F3CAE3FC417}.Release|x64.Build.0 = Release|x64
{61FF9AD1-F474-4990-9DE5-FA30260B9D39}.Debug|Win32.ActiveCfg = Debug|Win32
{61FF9AD1-F474-4990-9DE5-FA30260B9D39}.Debug|Win32.Build.0 = Debug|Win32
{61FF9AD1-F474-4990-9DE5-FA30260B9D39}.Debug|x64.ActiveCfg = Debug|x64
{61FF9AD1-F474-4990-9DE5-FA30260B9D39}.Debug|x64.Build.0 = Debug|x64
{61FF9AD1-F474-4990-9DE5-FA30260B9D39}.Release|Win32.ActiveCfg = Release|Win32
{61FF9AD1-F474-4990-9DE5-FA30260B9D39}.Release|Win32.Build.0 = Release|Win32
{61FF9AD1-F474-4990-9DE5-FA30260B9D39}.Release|x64.ActiveCfg = Release|x64
{61FF9AD1-F474-4990-9DE5-FA30260B9D39}.Release|x64.Build.0 = Release|x64
{5B38C49F-3C26-43CD-B457-75806BFE69EC}.Debug|Win32.ActiveCfg = Debug|Win32
{5B38C49F-3C26-43CD-B457-75806BFE69EC}.Debug|Win32.Build.0 = Debug|Win32
{5B38C49F-3C26-43CD-B457-75806BFE69EC}.Debug|x64.ActiveCfg = Debug|x64
{5B38C49F-3C26-43CD-B457-75806BFE69EC}.Debug|x64.Build.0 = Debug|x64
{5B38C49F-3C26-43CD-B457-75806BFE69EC}.Release|Win32.ActiveCfg = Release|Win32
{5B38C49F-3C26-43CD-B457-75806BFE69EC}.Release|Win32.Build.0 = Release|Win32
{5B38C49F-3C26-43CD-B457-75806BFE69EC}.Release|x64.ActiveCfg = Release|x64
{5B38C49F-3C26-43CD-B457-75806BFE69EC}.Release|x64.Build.0 = Release|x64
{28F7BC4C-5CAD-457D-B208-9E92759910E7}.Debug|Win32.ActiveCfg = Debug|Win32
{28F7BC4C-5CAD-457D-B208-9E92759910E7}.Debug|Win32.Build.0 = Debug|Win32
{28F7BC4C-5CAD-457D-B208-9E92759910E7}.Debug|x64.ActiveCfg = Debug|x64
{28F7BC4C-5CAD-457D-B208-9E92759910E7}.Debug|x64.Build.0 = Debug|x64
{28F7BC4C-5CAD-457D-B208-9E92759910E7}.Release|Win32.ActiveCfg = Release|Win32
{28F7BC4C-5CAD-457D-B208-9E92759910E7}.Release|Win32.Build.0 = Release|Win32
{28F7BC4C-5CAD-457D-B208-9E92759910E7}.Release|x64.ActiveCfg = Release|x64
{28F7BC4C-5CAD-457D-B208-9E92759910E7}.Release|x64.Build.0 = Release|x64
{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548}.Debug|Win32.ActiveCfg = Debug|Win32
{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548}.Debug|Win32.Build.0 = Debug|Win32
{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548}.Debug|x64.ActiveCfg = Debug|x64
{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548}.Debug|x64.Build.0 = Debug|x64
{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548}.Release|Win32.ActiveCfg = Release|Win32
{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548}.Release|Win32.Build.0 = Release|Win32
{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548}.Release|x64.ActiveCfg = Release|x64
{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548}.Release|x64.Build.0 = Release|x64
{68C8AE77-005B-4F81-8876-5A87A69823E3}.Debug|Win32.ActiveCfg = Debug|Win32
{68C8AE77-005B-4F81-8876-5A87A69823E3}.Debug|Win32.Build.0 = Debug|Win32
{68C8AE77-005B-4F81-8876-5A87A69823E3}.Debug|x64.ActiveCfg = Debug|x64
{68C8AE77-005B-4F81-8876-5A87A69823E3}.Debug|x64.Build.0 = Debug|x64
{68C8AE77-005B-4F81-8876-5A87A69823E3}.Release|Win32.ActiveCfg = Release|Win32
{68C8AE77-005B-4F81-8876-5A87A69823E3}.Release|Win32.Build.0 = Release|Win32
{68C8AE77-005B-4F81-8876-5A87A69823E3}.Release|x64.ActiveCfg = Release|x64
{68C8AE77-005B-4F81-8876-5A87A69823E3}.Release|x64.Build.0 = Release|x64
{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E}.Debug|Win32.ActiveCfg = Debug|Win32
{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E}.Debug|Win32.Build.0 = Debug|Win32
{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E}.Debug|x64.ActiveCfg = Debug|x64
{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E}.Debug|x64.Build.0 = Debug|x64
{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E}.Release|Win32.ActiveCfg = Release|Win32
{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E}.Release|Win32.Build.0 = Release|Win32
{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E}.Release|x64.ActiveCfg = Release|x64
{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E}.Release|x64.Build.0 = Release|x64
{4FF0146F-F69B-4566-8679-A190632A0958}.Debug|Win32.ActiveCfg = Debug|Win32
{4FF0146F-F69B-4566-8679-A190632A0958}.Debug|Win32.Build.0 = Debug|Win32
{4FF0146F-F69B-4566-8679-A190632A0958}.Debug|x64.ActiveCfg = Debug|x64
{4FF0146F-F69B-4566-8679-A190632A0958}.Debug|x64.Build.0 = Debug|x64
{4FF0146F-F69B-4566-8679-A190632A0958}.Release|Win32.ActiveCfg = Release|Win32
{4FF0146F-F69B-4566-8679-A190632A0958}.Release|Win32.Build.0 = Release|Win32
{4FF0146F-F69B-4566-8679-A190632A0958}.Release|x64.ActiveCfg = Release|x64
{4FF0146F-F69B-4566-8679-A190632A0958}.Release|x64.Build.0 = Release|x64
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}.Debug|Win32.ActiveCfg = Debug|Win32
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}.Debug|Win32.Build.0 = Debug|Win32
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}.Debug|x64.ActiveCfg = Debug|x64
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}.Debug|x64.Build.0 = Debug|x64
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}.Release|Win32.ActiveCfg = Release|Win32
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}.Release|Win32.Build.0 = Release|Win32
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}.Release|x64.ActiveCfg = Release|x64
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B}.Release|x64.Build.0 = Release|x64
{C23BA253-475E-49DD-A92E-616C2A93831A}.Debug|Win32.ActiveCfg = Debug|Win32
{C23BA253-475E-49DD-A92E-616C2A93831A}.Debug|Win32.Build.0 = Debug|Win32
{C23BA253-475E-49DD-A92E-616C2A93831A}.Debug|x64.ActiveCfg = Debug|x64
{C23BA253-475E-49DD-A92E-616C2A93831A}.Debug|x64.Build.0 = Debug|x64
{C23BA253-475E-49DD-A92E-616C2A93831A}.Release|Win32.ActiveCfg = Release|Win32
{C23BA253-475E-49DD-A92E-616C2A93831A}.Release|Win32.Build.0 = Release|Win32
{C23BA253-475E-49DD-A92E-616C2A93831A}.Release|x64.ActiveCfg = Release|x64
{C23BA253-475E-49DD-A92E-616C2A93831A}.Release|x64.Build.0 = Release|x64
{57693047-C0E4-4183-91B5-8BCAB76F1B7D}.Debug|Win32.ActiveCfg = Debug|Win32
{57693047-C0E4-4183-91B5-8BCAB76F1B7D}.Debug|Win32.Build.0 = Debug|Win32
{57693047-C0E4-4183-91B5-8BCAB76F1B7D}.Debug|x64.ActiveCfg = Debug|x64
{57693047-C0E4-4183-91B5-8BCAB76F1B7D}.Debug|x64.Build.0 = Debug|x64
{57693047-C0E4-4183-91B5-8BCAB76F1B7D}.Release|Win32.ActiveCfg = Release|Win32
{57693047-C0E4-4183-91B5-8BCAB76F1B7D}.Release|Win32.Build.0 = Release|Win32
{57693047-C0E4-4183-91B5-8BCAB76F1B7D}.Release|x64.ActiveCfg = Release|x64
{57693047-C0E4-4183-91B5-8BCAB76F1B7D}.Release|x64.Build.0 = Release|x64
{BAD5F8A5-B916-4E76-8594-78B003C1155B}.Debug|Win32.ActiveCfg = Debug|Win32
{BAD5F8A5-B916-4E76-8594-78B003C1155B}.Debug|Win32.Build.0 = Debug|Win32
{BAD5F8A5-B916-4E76-8594-78B003C1155B}.Debug|x64.ActiveCfg = Debug|x64
{BAD5F8A5-B916-4E76-8594-78B003C1155B}.Debug|x64.Build.0 = Debug|x64
{BAD5F8A5-B916-4E76-8594-78B003C1155B}.Release|Win32.ActiveCfg = Release|Win32
{BAD5F8A5-B916-4E76-8594-78B003C1155B}.Release|Win32.Build.0 = Release|Win32
{BAD5F8A5-B916-4E76-8594-78B003C1155B}.Release|x64.ActiveCfg = Release|x64
{BAD5F8A5-B916-4E76-8594-78B003C1155B}.Release|x64.Build.0 = Release|x64
{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD}.Debug|Win32.ActiveCfg = Debug|Win32
{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD}.Debug|Win32.Build.0 = Debug|Win32
{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD}.Debug|x64.ActiveCfg = Debug|x64
{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD}.Debug|x64.Build.0 = Debug|x64
{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD}.Release|Win32.ActiveCfg = Release|Win32
{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD}.Release|Win32.Build.0 = Release|Win32
{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD}.Release|x64.ActiveCfg = Release|x64
{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD}.Release|x64.Build.0 = Release|x64
{B8884358-CC9D-41DB-A352-9EDA045DFD7A}.Debug|Win32.ActiveCfg = Debug|Win32
{B8884358-CC9D-41DB-A352-9EDA045DFD7A}.Debug|Win32.Build.0 = Debug|Win32
{B8884358-CC9D-41DB-A352-9EDA045DFD7A}.Debug|x64.ActiveCfg = Debug|x64
{B8884358-CC9D-41DB-A352-9EDA045DFD7A}.Debug|x64.Build.0 = Debug|x64
{B8884358-CC9D-41DB-A352-9EDA045DFD7A}.Release|Win32.ActiveCfg = Release|Win32
{B8884358-CC9D-41DB-A352-9EDA045DFD7A}.Release|Win32.Build.0 = Release|Win32
{B8884358-CC9D-41DB-A352-9EDA045DFD7A}.Release|x64.ActiveCfg = Release|x64
{B8884358-CC9D-41DB-A352-9EDA045DFD7A}.Release|x64.Build.0 = Release|x64
{38A88D1E-B86C-48E2-9B9E-68F672388734}.Debug|Win32.ActiveCfg = Debug|Win32
{38A88D1E-B86C-48E2-9B9E-68F672388734}.Debug|Win32.Build.0 = Debug|Win32
{38A88D1E-B86C-48E2-9B9E-68F672388734}.Debug|x64.ActiveCfg = Debug|x64
{38A88D1E-B86C-48E2-9B9E-68F672388734}.Debug|x64.Build.0 = Debug|x64
{38A88D1E-B86C-48E2-9B9E-68F672388734}.Release|Win32.ActiveCfg = Release|Win32
{38A88D1E-B86C-48E2-9B9E-68F672388734}.Release|Win32.Build.0 = Release|Win32
{38A88D1E-B86C-48E2-9B9E-68F672388734}.Release|x64.ActiveCfg = Release|x64
{38A88D1E-B86C-48E2-9B9E-68F672388734}.Release|x64.Build.0 = Release|x64
{766E4B9C-F428-4289-8975-DC3D22EEDBF6}.Debug|Win32.ActiveCfg = Debug|Win32
{766E4B9C-F428-4289-8975-DC3D22EEDBF6}.Debug|Win32.Build.0 = Debug|Win32
{766E4B9C-F428-4289-8975-DC3D22EEDBF6}.Debug|x64.ActiveCfg = Debug|x64
{766E4B9C-F428-4289-8975-DC3D22EEDBF6}.Debug|x64.Build.0 = Debug|x64
{766E4B9C-F428-4289-8975-DC3D22EEDBF6}.Release|Win32.ActiveCfg = Release|Win32
{766E4B9C-F428-4289-8975-DC3D22EEDBF6}.Release|Win32.Build.0 = Release|Win32
{766E4B9C-F428-4289-8975-DC3D22EEDBF6}.Release|x64.ActiveCfg = Release|x64
{766E4B9C-F428-4289-8975-DC3D22EEDBF6}.Release|x64.Build.0 = Release|x64
{F6570975-AE13-41EB-8465-066A6766C211}.Debug|Win32.ActiveCfg = Debug|Win32
{F6570975-AE13-41EB-8465-066A6766C211}.Debug|Win32.Build.0 = Debug|Win32
{F6570975-AE13-41EB-8465-066A6766C211}.Debug|x64.ActiveCfg = Debug|x64
{F6570975-AE13-41EB-8465-066A6766C211}.Debug|x64.Build.0 = Debug|x64
{F6570975-AE13-41EB-8465-066A6766C211}.Release|Win32.ActiveCfg = Release|Win32
{F6570975-AE13-41EB-8465-066A6766C211}.Release|Win32.Build.0 = Release|Win32
{F6570975-AE13-41EB-8465-066A6766C211}.Release|x64.ActiveCfg = Release|x64
{F6570975-AE13-41EB-8465-066A6766C211}.Release|x64.Build.0 = Release|x64
{7ECC4BF9-45A4-4774-869B-239E3B152E05}.Debug|Win32.ActiveCfg = Debug|Win32
{7ECC4BF9-45A4-4774-869B-239E3B152E05}.Debug|Win32.Build.0 = Debug|Win32
{7ECC4BF9-45A4-4774-869B-239E3B152E05}.Debug|x64.ActiveCfg = Debug|x64
{7ECC4BF9-45A4-4774-869B-239E3B152E05}.Debug|x64.Build.0 = Debug|x64
{7ECC4BF9-45A4-4774-869B-239E3B152E05}.Release|Win32.ActiveCfg = Release|Win32
{7ECC4BF9-45A4-4774-869B-239E3B152E05}.Release|Win32.Build.0 = Release|Win32
{7ECC4BF9-45A4-4774-869B-239E3B152E05}.Release|x64.ActiveCfg = Release|x64
{7ECC4BF9-45A4-4774-869B-239E3B152E05}.Release|x64.Build.0 = Release|x64
{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B}.Debug|Win32.ActiveCfg = Debug|Win32
{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B}.Debug|Win32.Build.0 = Debug|Win32
{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B}.Debug|x64.ActiveCfg = Debug|x64
{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B}.Debug|x64.Build.0 = Debug|x64
{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B}.Release|Win32.ActiveCfg = Release|Win32
{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B}.Release|Win32.Build.0 = Release|Win32
{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B}.Release|x64.ActiveCfg = Release|x64
{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B}.Release|x64.Build.0 = Release|x64
{B8900569-8956-47AF-A2E7-50EB1DD788DD}.Debug|Win32.ActiveCfg = Debug|Win32
{B8900569-8956-47AF-A2E7-50EB1DD788DD}.Debug|Win32.Build.0 = Debug|Win32
{B8900569-8956-47AF-A2E7-50EB1DD788DD}.Debug|x64.ActiveCfg = Debug|x64
{B8900569-8956-47AF-A2E7-50EB1DD788DD}.Debug|x64.Build.0 = Debug|x64
{B8900569-8956-47AF-A2E7-50EB1DD788DD}.Release|Win32.ActiveCfg = Release|Win32
{B8900569-8956-47AF-A2E7-50EB1DD788DD}.Release|Win32.Build.0 = Release|Win32
{B8900569-8956-47AF-A2E7-50EB1DD788DD}.Release|x64.ActiveCfg = Release|x64
{B8900569-8956-47AF-A2E7-50EB1DD788DD}.Release|x64.Build.0 = Release|x64
{70307B6F-61D5-4015-8578-E0E3549B7AB9}.Debug|Win32.ActiveCfg = Debug|Win32
{70307B6F-61D5-4015-8578-E0E3549B7AB9}.Debug|Win32.Build.0 = Debug|Win32
{70307B6F-61D5-4015-8578-E0E3549B7AB9}.Debug|x64.ActiveCfg = Debug|x64
{70307B6F-61D5-4015-8578-E0E3549B7AB9}.Debug|x64.Build.0 = Debug|x64
{70307B6F-61D5-4015-8578-E0E3549B7AB9}.Release|Win32.ActiveCfg = Release|Win32
{70307B6F-61D5-4015-8578-E0E3549B7AB9}.Release|Win32.Build.0 = Release|Win32
{70307B6F-61D5-4015-8578-E0E3549B7AB9}.Release|x64.ActiveCfg = Release|x64
{70307B6F-61D5-4015-8578-E0E3549B7AB9}.Release|x64.Build.0 = Release|x64
{2F18E4B1-966E-4A8D-B91E-8F216186A6E3}.Debug|Win32.ActiveCfg = Debug|Win32
{2F18E4B1-966E-4A8D-B91E-8F216186A6E3}.Debug|Win32.Build.0 = Debug|Win32
{2F18E4B1-966E-4A8D-B91E-8F216186A6E3}.Debug|x64.ActiveCfg = Debug|x64
{2F18E4B1-966E-4A8D-B91E-8F216186A6E3}.Debug|x64.Build.0 = Debug|x64
{2F18E4B1-966E-4A8D-B91E-8F216186A6E3}.Release|Win32.ActiveCfg = Release|Win32
{2F18E4B1-966E-4A8D-B91E-8F216186A6E3}.Release|Win32.Build.0 = Release|Win32
{2F18E4B1-966E-4A8D-B91E-8F216186A6E3}.Release|x64.ActiveCfg = Release|x64
{2F18E4B1-966E-4A8D-B91E-8F216186A6E3}.Release|x64.Build.0 = Release|x64
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}.Debug|Win32.ActiveCfg = Debug|Win32
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}.Debug|Win32.Build.0 = Debug|Win32
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}.Debug|x64.ActiveCfg = Debug|x64
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}.Debug|x64.Build.0 = Debug|x64
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}.Release|Win32.ActiveCfg = Release|Win32
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}.Release|Win32.Build.0 = Release|Win32
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}.Release|x64.ActiveCfg = Release|x64
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7}.Release|x64.Build.0 = Release|x64
{EB228067-EA4D-452C-91FC-91DB3B445C31}.Debug|Win32.ActiveCfg = Debug|Win32
{EB228067-EA4D-452C-91FC-91DB3B445C31}.Debug|Win32.Build.0 = Debug|Win32
{EB228067-EA4D-452C-91FC-91DB3B445C31}.Debug|x64.ActiveCfg = Debug|x64
{EB228067-EA4D-452C-91FC-91DB3B445C31}.Debug|x64.Build.0 = Debug|x64
{EB228067-EA4D-452C-91FC-91DB3B445C31}.Release|Win32.ActiveCfg = Release|Win32
{EB228067-EA4D-452C-91FC-91DB3B445C31}.Release|Win32.Build.0 = Release|Win32
{EB228067-EA4D-452C-91FC-91DB3B445C31}.Release|x64.ActiveCfg = Release|x64
{EB228067-EA4D-452C-91FC-91DB3B445C31}.Release|x64.Build.0 = Release|x64
{A09D9D20-FBB8-4C1A-8628-3071AC7903DA}.Debug|Win32.ActiveCfg = Debug|Win32
{A09D9D20-FBB8-4C1A-8628-3071AC7903DA}.Debug|Win32.Build.0 = Debug|Win32
{A09D9D20-FBB8-4C1A-8628-3071AC7903DA}.Debug|x64.ActiveCfg = Debug|x64
{A09D9D20-FBB8-4C1A-8628-3071AC7903DA}.Debug|x64.Build.0 = Debug|x64
{A09D9D20-FBB8-4C1A-8628-3071AC7903DA}.Release|Win32.ActiveCfg = Release|Win32
{A09D9D20-FBB8-4C1A-8628-3071AC7903DA}.Release|Win32.Build.0 = Release|Win32
{A09D9D20-FBB8-4C1A-8628-3071AC7903DA}.Release|x64.ActiveCfg = Release|x64
{A09D9D20-FBB8-4C1A-8628-3071AC7903DA}.Release|x64.Build.0 = Release|x64
{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57}.Debug|Win32.ActiveCfg = Debug|Win32
{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57}.Debug|Win32.Build.0 = Debug|Win32
{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57}.Debug|x64.ActiveCfg = Debug|x64
{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57}.Debug|x64.Build.0 = Debug|x64
{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57}.Release|Win32.ActiveCfg = Release|Win32
{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57}.Release|Win32.Build.0 = Release|Win32
{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57}.Release|x64.ActiveCfg = Release|x64
{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57}.Release|x64.Build.0 = Release|x64
{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1}.Debug|Win32.ActiveCfg = Debug|Win32
{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1}.Debug|Win32.Build.0 = Debug|Win32
{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1}.Debug|x64.ActiveCfg = Debug|x64
{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1}.Debug|x64.Build.0 = Debug|x64
{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1}.Release|Win32.ActiveCfg = Release|Win32
{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1}.Release|Win32.Build.0 = Release|Win32
{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1}.Release|x64.ActiveCfg = Release|x64
{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1}.Release|x64.Build.0 = Release|x64
{0A2D4D13-6AC2-4602-BF8F-DA73133C1974}.Debug|Win32.ActiveCfg = Debug|Win32
{0A2D4D13-6AC2-4602-BF8F-DA73133C1974}.Debug|Win32.Build.0 = Debug|Win32
{0A2D4D13-6AC2-4602-BF8F-DA73133C1974}.Debug|x64.ActiveCfg = Debug|x64
{0A2D4D13-6AC2-4602-BF8F-DA73133C1974}.Debug|x64.Build.0 = Debug|x64
{0A2D4D13-6AC2-4602-BF8F-DA73133C1974}.Release|Win32.ActiveCfg = Release|Win32
{0A2D4D13-6AC2-4602-BF8F-DA73133C1974}.Release|Win32.Build.0 = Release|Win32
{0A2D4D13-6AC2-4602-BF8F-DA73133C1974}.Release|x64.ActiveCfg = Release|x64
{0A2D4D13-6AC2-4602-BF8F-DA73133C1974}.Release|x64.Build.0 = Release|x64
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}.Debug|Win32.ActiveCfg = Debug|Win32
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}.Debug|Win32.Build.0 = Debug|Win32
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}.Debug|x64.ActiveCfg = Debug|x64
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}.Debug|x64.Build.0 = Debug|x64
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}.Release|Win32.ActiveCfg = Release|Win32
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}.Release|Win32.Build.0 = Release|Win32
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}.Release|x64.ActiveCfg = Release|x64
{FBC5BEAE-01B9-4943-A5CB-0D3DE2067EB3}.Release|x64.Build.0 = Release|x64
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A}.Debug|Win32.ActiveCfg = Debug|Win32
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A}.Debug|Win32.Build.0 = Debug|Win32
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A}.Debug|x64.ActiveCfg = Debug|x64
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A}.Debug|x64.Build.0 = Debug|x64
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A}.Release|Win32.ActiveCfg = Release|Win32
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A}.Release|Win32.Build.0 = Release|Win32
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A}.Release|x64.ActiveCfg = Release|x64
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A}.Release|x64.Build.0 = Release|x64
{DFA66387-8E95-4745-9DEB-AC4A82165F9A}.Debug|Win32.ActiveCfg = Debug|Win32
{DFA66387-8E95-4745-9DEB-AC4A82165F9A}.Debug|Win32.Build.0 = Debug|Win32
{DFA66387-8E95-4745-9DEB-AC4A82165F9A}.Debug|x64.ActiveCfg = Debug|x64
{DFA66387-8E95-4745-9DEB-AC4A82165F9A}.Debug|x64.Build.0 = Debug|x64
{DFA66387-8E95-4745-9DEB-AC4A82165F9A}.Release|Win32.ActiveCfg = Release|Win32
{DFA66387-8E95-4745-9DEB-AC4A82165F9A}.Release|Win32.Build.0 = Release|Win32
{DFA66387-8E95-4745-9DEB-AC4A82165F9A}.Release|x64.ActiveCfg = Release|x64
{DFA66387-8E95-4745-9DEB-AC4A82165F9A}.Release|x64.Build.0 = Release|x64
{2AC5EE08-C6FC-4224-8250-F3586B81E2E5}.Debug|Win32.ActiveCfg = Debug|Win32
{2AC5EE08-C6FC-4224-8250-F3586B81E2E5}.Debug|Win32.Build.0 = Debug|Win32
{2AC5EE08-C6FC-4224-8250-F3586B81E2E5}.Debug|x64.ActiveCfg = Debug|x64
{2AC5EE08-C6FC-4224-8250-F3586B81E2E5}.Debug|x64.Build.0 = Debug|x64
{2AC5EE08-C6FC-4224-8250-F3586B81E2E5}.Release|Win32.ActiveCfg = Release|Win32
{2AC5EE08-C6FC-4224-8250-F3586B81E2E5}.Release|Win32.Build.0 = Release|Win32
{2AC5EE08-C6FC-4224-8250-F3586B81E2E5}.Release|x64.ActiveCfg = Release|x64
{2AC5EE08-C6FC-4224-8250-F3586B81E2E5}.Release|x64.Build.0 = Release|x64
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6}.Debug|Win32.ActiveCfg = Debug|Win32
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6}.Debug|Win32.Build.0 = Debug|Win32
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6}.Debug|x64.ActiveCfg = Debug|x64
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6}.Debug|x64.Build.0 = Debug|x64
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6}.Release|Win32.ActiveCfg = Release|Win32
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6}.Release|Win32.Build.0 = Release|Win32
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6}.Release|x64.ActiveCfg = Release|x64
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6}.Release|x64.Build.0 = Release|x64
{175B6636-9885-40EF-8748-37136DEB5122}.Debug|Win32.ActiveCfg = Debug|Win32
{175B6636-9885-40EF-8748-37136DEB5122}.Debug|Win32.Build.0 = Debug|Win32
{175B6636-9885-40EF-8748-37136DEB5122}.Debug|x64.ActiveCfg = Debug|x64
{175B6636-9885-40EF-8748-37136DEB5122}.Debug|x64.Build.0 = Debug|x64
{175B6636-9885-40EF-8748-37136DEB5122}.Release|Win32.ActiveCfg = Release|Win32
{175B6636-9885-40EF-8748-37136DEB5122}.Release|Win32.Build.0 = Release|Win32
{175B6636-9885-40EF-8748-37136DEB5122}.Release|x64.ActiveCfg = Release|x64
{175B6636-9885-40EF-8748-37136DEB5122}.Release|x64.Build.0 = Release|x64
{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB}.Debug|Win32.ActiveCfg = Debug|Win32
{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB}.Debug|Win32.Build.0 = Debug|Win32
{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB}.Debug|x64.ActiveCfg = Debug|x64
{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB}.Debug|x64.Build.0 = Debug|x64
{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB}.Release|Win32.ActiveCfg = Release|Win32
{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB}.Release|Win32.Build.0 = Release|Win32
{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB}.Release|x64.ActiveCfg = Release|x64
{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB}.Release|x64.Build.0 = Release|x64
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9}.Debug|Win32.ActiveCfg = Debug|Win32
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9}.Debug|Win32.Build.0 = Debug|Win32
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9}.Debug|x64.ActiveCfg = Debug|x64
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9}.Debug|x64.Build.0 = Debug|x64
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9}.Release|Win32.ActiveCfg = Release|Win32
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9}.Release|Win32.Build.0 = Release|Win32
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9}.Release|x64.ActiveCfg = Release|x64
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9}.Release|x64.Build.0 = Release|x64
{76479E1B-8BD5-4143-897F-F1E93DC1C64B}.Debug|Win32.ActiveCfg = Debug|Win32
{76479E1B-8BD5-4143-897F-F1E93DC1C64B}.Debug|Win32.Build.0 = Debug|Win32
{76479E1B-8BD5-4143-897F-F1E93DC1C64B}.Debug|x64.ActiveCfg = Debug|x64
{76479E1B-8BD5-4143-897F-F1E93DC1C64B}.Debug|x64.Build.0 = Debug|x64
{76479E1B-8BD5-4143-897F-F1E93DC1C64B}.Release|Win32.ActiveCfg = Release|Win32
{76479E1B-8BD5-4143-897F-F1E93DC1C64B}.Release|Win32.Build.0 = Release|Win32
{76479E1B-8BD5-4143-897F-F1E93DC1C64B}.Release|x64.ActiveCfg = Release|x64
{76479E1B-8BD5-4143-897F-F1E93DC1C64B}.Release|x64.Build.0 = Release|x64
{383F6294-1771-4E78-B5CB-61B04F6BD660}.Debug|Win32.ActiveCfg = Debug|Win32
{383F6294-1771-4E78-B5CB-61B04F6BD660}.Debug|Win32.Build.0 = Debug|Win32
{383F6294-1771-4E78-B5CB-61B04F6BD660}.Debug|x64.ActiveCfg = Debug|x64
{383F6294-1771-4E78-B5CB-61B04F6BD660}.Debug|x64.Build.0 = Debug|x64
{383F6294-1771-4E78-B5CB-61B04F6BD660}.Release|Win32.ActiveCfg = Release|Win32
{383F6294-1771-4E78-B5CB-61B04F6BD660}.Release|Win32.Build.0 = Release|Win32
{383F6294-1771-4E78-B5CB-61B04F6BD660}.Release|x64.ActiveCfg = Release|x64
{383F6294-1771-4E78-B5CB-61B04F6BD660}.Release|x64.Build.0 = Release|x64
{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D}.Debug|Win32.ActiveCfg = Debug|Win32
{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D}.Debug|Win32.Build.0 = Debug|Win32
{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D}.Debug|x64.ActiveCfg = Debug|x64
{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D}.Debug|x64.Build.0 = Debug|x64
{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D}.Release|Win32.ActiveCfg = Release|Win32
{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D}.Release|Win32.Build.0 = Release|Win32
{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D}.Release|x64.ActiveCfg = Release|x64
{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D}.Release|x64.Build.0 = Release|x64
{B29F438E-904C-4929-903C-F4673182A417}.Debug|Win32.ActiveCfg = Debug|Win32
{B29F438E-904C-4929-903C-F4673182A417}.Debug|Win32.Build.0 = Debug|Win32
{B29F438E-904C-4929-903C-F4673182A417}.Debug|x64.ActiveCfg = Debug|x64
{B29F438E-904C-4929-903C-F4673182A417}.Debug|x64.Build.0 = Debug|x64
{B29F438E-904C-4929-903C-F4673182A417}.Release|Win32.ActiveCfg = Release|Win32
{B29F438E-904C-4929-903C-F4673182A417}.Release|Win32.Build.0 = Release|Win32
{B29F438E-904C-4929-903C-F4673182A417}.Release|x64.ActiveCfg = Release|x64
{B29F438E-904C-4929-903C-F4673182A417}.Release|x64.Build.0 = Release|x64
{6941F2A7-F0C7-4293-8646-AF68A7E35183}.Debug|Win32.ActiveCfg = Debug|Win32
{6941F2A7-F0C7-4293-8646-AF68A7E35183}.Debug|Win32.Build.0 = Debug|Win32
{6941F2A7-F0C7-4293-8646-AF68A7E35183}.Debug|x64.ActiveCfg = Debug|x64
{6941F2A7-F0C7-4293-8646-AF68A7E35183}.Debug|x64.Build.0 = Debug|x64
{6941F2A7-F0C7-4293-8646-AF68A7E35183}.Release|Win32.ActiveCfg = Release|Win32
{6941F2A7-F0C7-4293-8646-AF68A7E35183}.Release|Win32.Build.0 = Release|Win32
{6941F2A7-F0C7-4293-8646-AF68A7E35183}.Release|x64.ActiveCfg = Release|x64
{6941F2A7-F0C7-4293-8646-AF68A7E35183}.Release|x64.Build.0 = Release|x64
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}.Debug|Win32.ActiveCfg = Debug|Win32
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}.Debug|Win32.Build.0 = Debug|Win32
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}.Debug|x64.ActiveCfg = Debug|x64
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}.Debug|x64.Build.0 = Debug|x64
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}.Release|Win32.ActiveCfg = Release|Win32
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}.Release|Win32.Build.0 = Release|Win32
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}.Release|x64.ActiveCfg = Release|x64
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5}.Release|x64.Build.0 = Release|x64
{98743716-82FC-4B02-96AF-E6F649403A0A}.Debug|Win32.ActiveCfg = Debug|Win32
{98743716-82FC-4B02-96AF-E6F649403A0A}.Debug|Win32.Build.0 = Debug|Win32
{98743716-82FC-4B02-96AF-E6F649403A0A}.Debug|x64.ActiveCfg = Debug|x64
{98743716-82FC-4B02-96AF-E6F649403A0A}.Debug|x64.Build.0 = Debug|x64
{98743716-82FC-4B02-96AF-E6F649403A0A}.Release|Win32.ActiveCfg = Release|Win32
{98743716-82FC-4B02-96AF-E6F649403A0A}.Release|Win32.Build.0 = Release|Win32
{98743716-82FC-4B02-96AF-E6F649403A0A}.Release|x64.ActiveCfg = Release|x64
{98743716-82FC-4B02-96AF-E6F649403A0A}.Release|x64.Build.0 = Release|x64
{BD9615AA-7202-4D22-8C0E-78160756D9D4}.Debug|Win32.ActiveCfg = Debug|Win32
{BD9615AA-7202-4D22-8C0E-78160756D9D4}.Debug|Win32.Build.0 = Debug|Win32
{BD9615AA-7202-4D22-8C0E-78160756D9D4}.Debug|x64.ActiveCfg = Debug|x64
{BD9615AA-7202-4D22-8C0E-78160756D9D4}.Debug|x64.Build.0 = Debug|x64
{BD9615AA-7202-4D22-8C0E-78160756D9D4}.Release|Win32.ActiveCfg = Release|Win32
{BD9615AA-7202-4D22-8C0E-78160756D9D4}.Release|Win32.Build.0 = Release|Win32
{BD9615AA-7202-4D22-8C0E-78160756D9D4}.Release|x64.ActiveCfg = Release|x64
{BD9615AA-7202-4D22-8C0E-78160756D9D4}.Release|x64.Build.0 = Release|x64
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5}.Debug|Win32.ActiveCfg = Debug|Win32
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5}.Debug|Win32.Build.0 = Debug|Win32
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5}.Debug|x64.ActiveCfg = Debug|x64
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5}.Debug|x64.Build.0 = Debug|x64
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5}.Release|Win32.ActiveCfg = Release|Win32
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5}.Release|Win32.Build.0 = Release|Win32
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5}.Release|x64.ActiveCfg = Release|x64
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5}.Release|x64.Build.0 = Release|x64
{FD299611-3D51-49AD-995D-37CF39E10A81}.Debug|Win32.ActiveCfg = Debug|Win32
{FD299611-3D51-49AD-995D-37CF39E10A81}.Debug|Win32.Build.0 = Debug|Win32
{FD299611-3D51-49AD-995D-37CF39E10A81}.Debug|x64.ActiveCfg = Debug|x64
{FD299611-3D51-49AD-995D-37CF39E10A81}.Debug|x64.Build.0 = Debug|x64
{FD299611-3D51-49AD-995D-37CF39E10A81}.Release|Win32.ActiveCfg = Release|Win32
{FD299611-3D51-49AD-995D-37CF39E10A81}.Release|Win32.Build.0 = Release|Win32
{FD299611-3D51-49AD-995D-37CF39E10A81}.Release|x64.ActiveCfg = Release|x64
{FD299611-3D51-49AD-995D-37CF39E10A81}.Release|x64.Build.0 = Release|x64
{ECE372F3-6511-4EDB-BEFC-18E5675093E2}.Debug|Win32.ActiveCfg = Debug|Win32
{ECE372F3-6511-4EDB-BEFC-18E5675093E2}.Debug|Win32.Build.0 = Debug|Win32
{ECE372F3-6511-4EDB-BEFC-18E5675093E2}.Debug|x64.ActiveCfg = Debug|x64
{ECE372F3-6511-4EDB-BEFC-18E5675093E2}.Debug|x64.Build.0 = Debug|x64
{ECE372F3-6511-4EDB-BEFC-18E5675093E2}.Release|Win32.ActiveCfg = Release|Win32
{ECE372F3-6511-4EDB-BEFC-18E5675093E2}.Release|Win32.Build.0 = Release|Win32
{ECE372F3-6511-4EDB-BEFC-18E5675093E2}.Release|x64.ActiveCfg = Release|x64
{ECE372F3-6511-4EDB-BEFC-18E5675093E2}.Release|x64.Build.0 = Release|x64
{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8}.Debug|Win32.ActiveCfg = Debug|Win32
{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8}.Debug|Win32.Build.0 = Debug|Win32
{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8}.Debug|x64.ActiveCfg = Debug|x64
{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8}.Debug|x64.Build.0 = Debug|x64
{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8}.Release|Win32.ActiveCfg = Release|Win32
{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8}.Release|Win32.Build.0 = Release|Win32
{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8}.Release|x64.ActiveCfg = Release|x64
{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8}.Release|x64.Build.0 = Release|x64
{57D67BC9-C172-47F0-A379-6DA93E845202}.Debug|Win32.ActiveCfg = Debug|Win32
{57D67BC9-C172-47F0-A379-6DA93E845202}.Debug|Win32.Build.0 = Debug|Win32
{57D67BC9-C172-47F0-A379-6DA93E845202}.Debug|x64.ActiveCfg = Debug|x64
{57D67BC9-C172-47F0-A379-6DA93E845202}.Debug|x64.Build.0 = Debug|x64
{57D67BC9-C172-47F0-A379-6DA93E845202}.Release|Win32.ActiveCfg = Release|Win32
{57D67BC9-C172-47F0-A379-6DA93E845202}.Release|Win32.Build.0 = Release|Win32
{57D67BC9-C172-47F0-A379-6DA93E845202}.Release|x64.ActiveCfg = Release|x64
{57D67BC9-C172-47F0-A379-6DA93E845202}.Release|x64.Build.0 = Release|x64
{E5605BA4-CC97-4635-B9B6-E73F10A8704F}.Debug|Win32.ActiveCfg = Debug|Win32
{E5605BA4-CC97-4635-B9B6-E73F10A8704F}.Debug|Win32.Build.0 = Debug|Win32
{E5605BA4-CC97-4635-B9B6-E73F10A8704F}.Debug|x64.ActiveCfg = Debug|x64
{E5605BA4-CC97-4635-B9B6-E73F10A8704F}.Debug|x64.Build.0 = Debug|x64
{E5605BA4-CC97-4635-B9B6-E73F10A8704F}.Release|Win32.ActiveCfg = Release|Win32
{E5605BA4-CC97-4635-B9B6-E73F10A8704F}.Release|Win32.Build.0 = Release|Win32
{E5605BA4-CC97-4635-B9B6-E73F10A8704F}.Release|x64.ActiveCfg = Release|x64
{E5605BA4-CC97-4635-B9B6-E73F10A8704F}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{7D57975F-814D-4F13-9F2F-87B667937FC7} = {FD549A95-E734-4E26-A5B2-2330FC310C8D}
{1D3709F1-9915-4CEA-A9F6-4D3FDFD79965} = {FD549A95-E734-4E26-A5B2-2330FC310C8D}
{A9875C78-1248-4693-9310-5C46C73DDCEB} = {FD549A95-E734-4E26-A5B2-2330FC310C8D}
{C0125346-EA97-4FE0-ABC8-592A556B3481} = {A9875C78-1248-4693-9310-5C46C73DDCEB}
{7BD2AAAA-FA5E-4895-837F-4A24C85A851A} = {1D3709F1-9915-4CEA-A9F6-4D3FDFD79965}
{5E95D089-DBB0-467A-BC0A-B00B9297023A} = {A9875C78-1248-4693-9310-5C46C73DDCEB}
{2DF9C20F-08BB-475B-8901-C1A64D88BA8A} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{92CF6BFF-1A9A-455A-9252-BF6D120C3CC9} = {2DF9C20F-08BB-475B-8901-C1A64D88BA8A}
{5B537BA4-4245-4E64-93E9-E35738AB22B3} = {2DF9C20F-08BB-475B-8901-C1A64D88BA8A}
{FE25F3A4-FB2F-47AE-89FA-7399D5475E6D} = {9563EACE-4C0C-49D2-8DC7-37261B140F7A}
{CF1C33CA-6F11-4B5C-B92B-F0138B90B956} = {A635554F-60C0-4415-A6BD-A5A47C0D9221}
{70CAB882-8FA3-4E1C-930D-53F7DA29D1E4} = {9DFC39D1-06B5-4E91-972D-1749CE02ED7F}
{7F508C90-D49D-4E26-B7B0-3CBCA677A272} = {9DFC39D1-06B5-4E91-972D-1749CE02ED7F}
{2BCCB75A-D179-4DB4-9B50-BF6F501B5CAE} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{5B49EFBF-FC6B-4016-BC84-77784BF37944} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{13E221EB-7446-49CB-8150-2575425667BF} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{18F81610-018F-4FE9-9B33-D2060E0F2CB6} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{09DBC624-4CBA-4345-B8F1-A2786F00A615} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{CEFC6857-FA75-4334-AB78-F3AC6CB54942} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{0450B090-2EAA-4454-944E-ABD6CFFD26F9} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{ABEE2F20-BB60-434F-92D8-75DB71020E01} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{88DC6432-0356-43A9-821B-2444C564BDF2} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{F99F67DA-37F9-46DD-A416-64C930758DE5} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{B3924215-AD6D-45DA-81D7-FE5D406A677B} = {F99F67DA-37F9-46DD-A416-64C930758DE5}
{4056956C-7E12-4432-86F8-D900A52866A4} = {F99F67DA-37F9-46DD-A416-64C930758DE5}
{8273239C-C5A8-4752-9DFC-E1678222C36E} = {F99F67DA-37F9-46DD-A416-64C930758DE5}
{35133FDA-2CD3-4BAD-9C54-145DC4DC787A} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{FBEE67BE-BFF5-43BB-A9DB-2E8A65734B3D} = {35133FDA-2CD3-4BAD-9C54-145DC4DC787A}
{1D3A6135-F0EE-4531-B682-55270B70B699} = {35133FDA-2CD3-4BAD-9C54-145DC4DC787A}
{18CE1C5F-A87D-42E2-B9F8-89FDD6ECE323} = {35133FDA-2CD3-4BAD-9C54-145DC4DC787A}
{13F637CA-7D9B-4218-8B55-D415897B8DE0} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{9235A909-A2F2-4C90-977A-DA514B76BBE5} = {13F637CA-7D9B-4218-8B55-D415897B8DE0}
{CCBBF424-D22D-480F-A13E-28095E33827C} = {13F637CA-7D9B-4218-8B55-D415897B8DE0}
{C6AEF053-AA0C-46A8-A2F2-4330021D2DE2} = {13F637CA-7D9B-4218-8B55-D415897B8DE0}
{D20E2DBD-4224-479D-9608-5BC062A48BE4} = {13F637CA-7D9B-4218-8B55-D415897B8DE0}
{BB26B4E2-9A39-4CD5-8BE0-A14BA7BE2D5D} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{08364AF0-D407-4FEC-A759-A4499EE45A59} = {BB26B4E2-9A39-4CD5-8BE0-A14BA7BE2D5D}
{D708316F-7E34-4E09-A782-4021C5500C0D} = {BB26B4E2-9A39-4CD5-8BE0-A14BA7BE2D5D}
{CC971823-8685-4102-B7E6-E56E31C02370} = {BB26B4E2-9A39-4CD5-8BE0-A14BA7BE2D5D}
{2600865C-8A10-4404-B05D-8F3CAE3FC417} = {BB26B4E2-9A39-4CD5-8BE0-A14BA7BE2D5D}
{61FF9AD1-F474-4990-9DE5-FA30260B9D39} = {BB26B4E2-9A39-4CD5-8BE0-A14BA7BE2D5D}
{5EB605B1-44A1-4C33-B5BA-23AFEA531487} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{0AC9ECDD-CCF4-4E61-BAD3-EF379002EDCE} = {5EB605B1-44A1-4C33-B5BA-23AFEA531487}
{5B38C49F-3C26-43CD-B457-75806BFE69EC} = {5EB605B1-44A1-4C33-B5BA-23AFEA531487}
{28F7BC4C-5CAD-457D-B208-9E92759910E7} = {5EB605B1-44A1-4C33-B5BA-23AFEA531487}
{2BE2FB7A-E258-4AE1-A744-D52BD7ACC548} = {5EB605B1-44A1-4C33-B5BA-23AFEA531487}
{5EE61717-AD86-46E4-B4D0-5AA9280B0E09} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{8B53447D-2482-4219-93DA-D33C2F899B71} = {5EE61717-AD86-46E4-B4D0-5AA9280B0E09}
{68C8AE77-005B-4F81-8876-5A87A69823E3} = {5EE61717-AD86-46E4-B4D0-5AA9280B0E09}
{1EB10EE3-1F75-440E-94EE-D74FCF7CA79E} = {5EE61717-AD86-46E4-B4D0-5AA9280B0E09}
{4FF0146F-F69B-4566-8679-A190632A0958} = {5EE61717-AD86-46E4-B4D0-5AA9280B0E09}
{7955A5EE-8C1E-4BE2-BE4F-55839EDC4E3C} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{58982601-1D8A-4F81-A69E-1D148C667937} = {7955A5EE-8C1E-4BE2-BE4F-55839EDC4E3C}
{AA7F1615-AF3B-465F-A2CE-6A9AD1786F8B} = {7955A5EE-8C1E-4BE2-BE4F-55839EDC4E3C}
{C23BA253-475E-49DD-A92E-616C2A93831A} = {7955A5EE-8C1E-4BE2-BE4F-55839EDC4E3C}
{57693047-C0E4-4183-91B5-8BCAB76F1B7D} = {7955A5EE-8C1E-4BE2-BE4F-55839EDC4E3C}
{503FAC02-04F9-466D-B783-4608413BDFBA} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{DF308E31-0D12-4B57-93CE-770B2D538DB1} = {503FAC02-04F9-466D-B783-4608413BDFBA}
{BAD5F8A5-B916-4E76-8594-78B003C1155B} = {503FAC02-04F9-466D-B783-4608413BDFBA}
{DB6BDE22-DB74-49FD-AB01-8DB5FCEE16FD} = {503FAC02-04F9-466D-B783-4608413BDFBA}
{B8884358-CC9D-41DB-A352-9EDA045DFD7A} = {503FAC02-04F9-466D-B783-4608413BDFBA}
{83821483-D719-475B-88E3-F548C267E3AB} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{38A88D1E-B86C-48E2-9B9E-68F672388734} = {83821483-D719-475B-88E3-F548C267E3AB}
{766E4B9C-F428-4289-8975-DC3D22EEDBF6} = {83821483-D719-475B-88E3-F548C267E3AB}
{E5D433F5-DBA3-45D5-8A7A-32A10566AA8E} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{F6570975-AE13-41EB-8465-066A6766C211} = {E5D433F5-DBA3-45D5-8A7A-32A10566AA8E}
{7ECC4BF9-45A4-4774-869B-239E3B152E05} = {E5D433F5-DBA3-45D5-8A7A-32A10566AA8E}
{3A13DBD7-D3CA-4908-8B76-9F8AEB5EC81B} = {E5D433F5-DBA3-45D5-8A7A-32A10566AA8E}
{840A1C6C-5940-4464-AF58-DBA24484C64F} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{9DFC39D1-06B5-4E91-972D-1749CE02ED7F} = {2DF9C20F-08BB-475B-8901-C1A64D88BA8A}
{9563EACE-4C0C-49D2-8DC7-37261B140F7A} = {2DF9C20F-08BB-475B-8901-C1A64D88BA8A}
{A635554F-60C0-4415-A6BD-A5A47C0D9221} = {2DF9C20F-08BB-475B-8901-C1A64D88BA8A}
{B8900569-8956-47AF-A2E7-50EB1DD788DD} = {840A1C6C-5940-4464-AF58-DBA24484C64F}
{70307B6F-61D5-4015-8578-E0E3549B7AB9} = {840A1C6C-5940-4464-AF58-DBA24484C64F}
{2F18E4B1-966E-4A8D-B91E-8F216186A6E3} = {840A1C6C-5940-4464-AF58-DBA24484C64F}
{C8E80B4D-FE97-48F9-A056-F916E6897CE4} = {83821483-D719-475B-88E3-F548C267E3AB}
{5DF9E173-0D3F-4D4B-A838-37ED95A093FC} = {E5D433F5-DBA3-45D5-8A7A-32A10566AA8E}
{5EBF83AB-0028-4075-AA32-CA3EBEA4B7A0} = {840A1C6C-5940-4464-AF58-DBA24484C64F}
{5372A6CE-25DA-4E7D-9EC5-8F99A74BF4E7} = {BB26B4E2-9A39-4CD5-8BE0-A14BA7BE2D5D}
{967610F9-FBB0-4793-9E76-F500C4167FCE} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{EB228067-EA4D-452C-91FC-91DB3B445C31} = {967610F9-FBB0-4793-9E76-F500C4167FCE}
{A09D9D20-FBB8-4C1A-8628-3071AC7903DA} = {967610F9-FBB0-4793-9E76-F500C4167FCE}
{D89AC0DB-DFF2-4F15-8A26-63D51EDABB57} = {967610F9-FBB0-4793-9E76-F500C4167FCE}
{48E60088-F431-4FFB-A170-31DAF8EC2DC8} = {93F005FC-C82E-41C7-AD15-C2F7C8287BFF}
{E8BD18E5-EF07-42A0-BB98-461F3D9BCDE1} = {48E60088-F431-4FFB-A170-31DAF8EC2DC8}
{C485A89F-A149-4893-A023-253593403974} = {967610F9-FBB0-4793-9E76-F500C4167FCE}
{73EC875E-F233-4FA9-B3AF-E2981EA59B3A} = {285E5D8D-7561-4FA9-9B90-89054E8EE93F}
{285E5D8D-7561-4FA9-9B90-89054E8EE93F} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{29121F55-3BA7-4701-9C44-2B1BA5103A5F} = {285E5D8D-7561-4FA9-9B90-89054E8EE93F}
{DFA66387-8E95-4745-9DEB-AC4A82165F9A} = {285E5D8D-7561-4FA9-9B90-89054E8EE93F}
{2AC5EE08-C6FC-4224-8250-F3586B81E2E5} = {285E5D8D-7561-4FA9-9B90-89054E8EE93F}
{5CB52248-C396-4985-BB18-266DACF7838C} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{D6A76B16-C1F9-4FCC-B625-74471FA47BD6} = {5CB52248-C396-4985-BB18-266DACF7838C}
{175B6636-9885-40EF-8748-37136DEB5122} = {5CB52248-C396-4985-BB18-266DACF7838C}
{16B91C15-D6ED-49F7-9C67-CEA02DD56FCB} = {5CB52248-C396-4985-BB18-266DACF7838C}
{E74A499A-2B19-4EC5-ADCC-549565C9F2A9} = {5CB52248-C396-4985-BB18-266DACF7838C}
{6C5C01FA-1F9B-4132-881C-14C18EC15FA9} = {5CB52248-C396-4985-BB18-266DACF7838C}
{7B7FB883-C82B-45F1-BCEA-0E97E8BAD476} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{76479E1B-8BD5-4143-897F-F1E93DC1C64B} = {7B7FB883-C82B-45F1-BCEA-0E97E8BAD476}
{383F6294-1771-4E78-B5CB-61B04F6BD660} = {7B7FB883-C82B-45F1-BCEA-0E97E8BAD476}
{EB36417C-8220-4DC9-B9BD-F3EAAE24DC0D} = {7B7FB883-C82B-45F1-BCEA-0E97E8BAD476}
{A19D14E3-19FE-46FE-91CA-0BAD1CDB91C5} = {BB98F00E-A26C-48A8-AE2A-CEECB9E3FFB1}
{98743716-82FC-4B02-96AF-E6F649403A0A} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{85EF9AE6-92A6-4DD9-833C-455EEAEA186D} = {FD549A95-E734-4E26-A5B2-2330FC310C8D}
{11AEF28F-83CA-493A-B507-F271FCB35DBA} = {7B7FB883-C82B-45F1-BCEA-0E97E8BAD476}
{60EE7204-7D44-4087-8880-900D00536202} = {A9875C78-1248-4693-9310-5C46C73DDCEB}
{31AB3D1E-3F6C-4415-B3A5-BB8AA449A1E2} = {60EE7204-7D44-4087-8880-900D00536202}
{C33D0DF1-A5DB-4F6E-A526-6AA2B3C31AD3} = {1D3709F1-9915-4CEA-A9F6-4D3FDFD79965}
{02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{BD9615AA-7202-4D22-8C0E-78160756D9D4} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
{7F864438-F4C3-463A-B5CE-CB1DB5847FB5} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
{FD299611-3D51-49AD-995D-37CF39E10A81} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
{B7A439E5-E0F9-4BD3-9668-76DC4C398045} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{ECE372F3-6511-4EDB-BEFC-18E5675093E2} = {B7A439E5-E0F9-4BD3-9668-76DC4C398045}
{404ADA93-B3AE-4161-9EE8-9CF7F8B062A8} = {B7A439E5-E0F9-4BD3-9668-76DC4C398045}
{27B2554D-B2F0-45C6-9F42-76F6BDEA4916} = {B7A439E5-E0F9-4BD3-9668-76DC4C398045}
{49BD1BA3-692A-48DC-85F9-4F31415132C7} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
{57D67BC9-C172-47F0-A379-6DA93E845202} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{E5605BA4-CC97-4635-B9B6-E73F10A8704F} = {07BFF46A-D4BC-4FAD-9727-D959755BFBAC}
{E653E5C4-D807-4A3A-993A-C797E915E56A} = {31AB3D1E-3F6C-4415-B3A5-BB8AA449A1E2}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1034084F-74DD-4B33-86E3-D8038C748F48}
EndGlobalSection
EndGlobal
================================================
FILE: areg.cmake
================================================
# ###########################################################################
# Settings for external projects to integrate Areg framework
# Copyright (c) 2022-2026 Aregtech
# ###########################################################################
# include this cmake file in the project if want to use
# areg-sdk features like automatic code generator
# and constants.
# Define AREG_SDK_ROOT before including this file in the project.
if (NOT DEFINED AREG_SDK_ROOT OR "${AREG_SDK_ROOT}" STREQUAL "")
# Make sure that AREG_SDK_ROOT is set before the 'setup.cmake' is included
message(FATAL_ERROR "Areg: >>> Set \'AREG_SDK_ROOT\' before including \'setup.cmake\'. Stopping building the project.")
return()
else()
message(STATUS "Areg: >>> Specified AREG_SDK_ROOT = \'${AREG_SDK_ROOT}\'")
endif()
# The location of cmake configuration files.
if (NOT DEFINED AREG_CMAKE_CONFIG_DIR OR "${AREG_CMAKE_CONFIG_DIR}" STREQUAL "")
set(AREG_CMAKE_CONFIG_DIR "${AREG_SDK_ROOT}/conf/cmake")
else()
message(STATUS "Areg: >>> Specified AREG_CMAKE_CONFIG_DIR = \'${AREG_CMAKE_CONFIG_DIR}\'")
endif()
# Disable or enable areg-sdk specific outputs
if (NOT DEFINED AREG_ENABLE_OUTPUTS OR "${AREG_ENABLE_OUTPUTS}" STREQUAL "")
option(AREG_ENABLE_OUTPUTS "Disable Areg SDK specific outputs, use defaults" OFF)
message(STATUS "Areg: >>> Disable Areg SDK specific outputs, use defaults")
endif()
# Include setup.cmake to initialize variables
message(STATUS "Areg: >>> Including \'${AREG_CMAKE_CONFIG_DIR}/setup.cmake\'")
include("${AREG_CMAKE_CONFIG_DIR}/setup.cmake")
# Include common.cmake to initialize compile options
message(STATUS "Areg: >>> Including \'${AREG_CMAKE_CONFIG_DIR}/common.cmake\'")
include("${AREG_CMAKE_CONFIG_DIR}/common.cmake")
set(AREG_RESOURCES "${AREG_FRAMEWORK}/areg/resources")
# Set the 'framework' in the include directories
include_directories("${AREG_FRAMEWORK}")
# Now the header files of the areg framework can be included in the projects.
================================================
FILE: conf/README.md
================================================
# Configuration Overview
This document provides a brief overview of the configuration directory's contents and instructions for setting up configurations for various toolsets.
## Directory Structure
```
conf/
├── cmake/ # CMake build configuration files
├── exports/ # Installation templates and examples
├── msvc/ # Microsoft Visual Studio property files
└── README.md # This file
```
---
## CMake
The [./cmake](./cmake/) directory contains project-wide and developer-specific settings for building with CMake.
| File | Purpose |
|------|---------|
| `setup.cmake` | Main setup and initialization |
| `user.cmake` | User-configurable build options |
| `common.cmake` | Common settings across all platforms |
| `functions.cmake` | CMake utility functions and macros |
| `gnu.cmake` | GCC compiler settings |
| `clang.cmake` | Clang/Apple Clang compiler settings |
| `msvc.cmake` | Microsoft Visual C++ settings |
| `install.cmake` | Installation and packaging rules |
Direct modifications to files within this directory are generally unnecessary. Instead, use the options in [user.cmake](./cmake/user.cmake) to customize the build configuration.
---
## Microsoft Visual Studio
The [./msvc](./msvc/) directory includes Visual Studio-specific property files referenced by the project. Directly modifying `.props` files is not recommended. To customize your build, copy the [msvc_setup.props](./../msvc_setup.props) file into your solution directory and apply necessary changes there.
---
## Exports
The [./exports](./exports/) directory contains templates and examples required for packaging, installation, service management, and project integration.
### Directory Contents
| File/Directory | Purpose |
|----------------|---------|
| `*.pc.in` | pkg-config templates for library discovery |
| `config.cmake.in` | CMake package configuration template |
| `*.service.in` | Linux systemd service templates |
| `*.service.*.bat.in` | Windows service install/uninstall scripts |
| `tech.areg.*.plist.in` | macOS launchd service templates |
| `*.service.*.sh.in` | macOS service install/uninstall scripts |
| `example/` | Example project and CMake toolchains |
### Package Configuration Files
| Tem
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
Showing preview only (777K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (8517 symbols across 507 files)
FILE: conf/exports/example/example.cpp
function main (line 7) | int main()
FILE: examples/01_minimalrpc/src/main.cpp
class ServiceProvider (line 22) | class ServiceProvider : public Component
method ServiceProvider (line 26) | ServiceProvider(const NERegistry::ComponentEntry& entry, ComponentThre...
method requestHelloService (line 32) | virtual void requestHelloService(void) override
method ServiceProvider (line 39) | inline ServiceProvider& self(void)
class ServiceConsumer (line 44) | class ServiceConsumer : public Component
method ServiceConsumer (line 48) | ServiceConsumer(const NERegistry::ComponentEntry & entry, ComponentThr...
method serviceConnected (line 55) | virtual bool serviceConnected(NEService::eServiceConnection status, Pr...
function main (line 88) | int main(void)
FILE: examples/02_minimalipc/src/consumeripc.cpp
class ServiceConsumer (line 26) | class ServiceConsumer : public Component
method ServiceConsumer (line 30) | ServiceConsumer(const NERegistry::ComponentEntry & entry, ComponentThr...
method serviceConnected (line 38) | virtual bool serviceConnected(NEService::eServiceConnection status, Pr...
method responseHelloService (line 50) | virtual void responseHelloService(void) override
function main (line 74) | int main(void)
FILE: examples/02_minimalipc/src/provideripc.cpp
class ServiceProvider (line 26) | class ServiceProvider : public Component
method ServiceProvider (line 30) | ServiceProvider(const NERegistry::ComponentEntry& entry, ComponentThre...
method requestHelloService (line 39) | virtual void requestHelloService(void) override
method ServiceProvider (line 48) | inline ServiceProvider& self(void)
function main (line 69) | int main(void)
FILE: examples/03_helloservice/common/src/ClientComponent.hpp
class ClientComponent (line 14) | class ClientComponent : public Component
method ClientComponent (line 57) | inline ClientComponent & self( void )
method ClientComponent (line 64) | ClientComponent( void ) = delete;
FILE: examples/03_helloservice/common/src/ServiceComponent.hpp
class ServiceComponent (line 14) | class ServiceComponent : public Component
method ServiceComponent (line 35) | inline ServiceComponent & self( void )
method ServiceComponent (line 42) | ServiceComponent( void ) = delete;
FILE: examples/03_helloservice/multiprocess/clientproc/src/main.cpp
function main (line 42) | int main( void )
FILE: examples/03_helloservice/multiprocess/serviceproc/src/main.cpp
function main (line 37) | int main( void )
FILE: examples/03_helloservice/onethread/src/main.cpp
function main (line 44) | int main( void )
FILE: examples/03_helloservice/twothreads/src/main.cpp
function main (line 45) | int main( void )
FILE: examples/04_hellothread/src/main.cpp
class HelloThread (line 21) | class HelloThread : public Thread, protected IEThreadConsumer
method HelloThread (line 24) | HelloThread( void )
method onThreadRuns (line 34) | virtual void onThreadRuns( void ) override
function main (line 43) | int main()
FILE: examples/05_buffer/src/main.cpp
class HelloThread (line 26) | class HelloThread : public Thread, protected IEThreadConsumer
method HelloThread (line 29) | explicit HelloThread(SharedBuffer& buffer)
method onThreadRuns (line 39) | void onThreadRuns() override
function main (line 68) | int main()
FILE: examples/06_file/src/main.cpp
function printSeparator (line 27) | void printSeparator(char ch = '*', int count = 20)
function writeText (line 33) | void writeText(FileBase & file)
function writeLines (line 48) | void writeLines(FileBase & file)
function dumpText (line 64) | void dumpText(FileBase & file)
function main (line 87) | int main()
FILE: examples/07_logging/src/main.cpp
class HelloThread (line 34) | class HelloThread : public Thread, protected IEThreadConsumer
method HelloThread (line 37) | HelloThread()
method onThreadRuns (line 48) | void onThreadRuns() override
function main (line 62) | int main()
FILE: examples/08_timer/src/main.cpp
class TimerDispatcher (line 42) | class TimerDispatcher : public DispatcherThread
method TimerDispatcher (line 50) | explicit TimerDispatcher(const String & name)
method startTimers (line 61) | void startTimers()
method stopTimers (line 82) | void stopTimers()
method processTimer (line 92) | void processTimer(Timer & timer) override
method postEvent (line 105) | virtual bool postEvent(Event& eventElem) override
function startTimerThread (line 123) | void startTimerThread(TimerDispatcher & thread)
function stopTimerThread (line 131) | void stopTimerThread(TimerDispatcher & thread)
function main (line 144) | int main()
FILE: examples/09_threads/src/main.cpp
class HelloThread (line 34) | class HelloThread : public Thread
method HelloThread (line 38) | HelloThread()
method onThreadRuns (line 50) | void onThreadRuns() override
class HelloDispatcher (line 75) | class HelloDispatcher : public DispatcherThread
method HelloDispatcher (line 79) | HelloDispatcher()
method readyForEvents (line 92) | void readyForEvents(bool isReady) override
method dispatchEvent (line 112) | bool dispatchEvent(Event & eventElem) override
method postEvent (line 122) | virtual bool postEvent( Event & eventElem ) override
method processTimer (line 130) | void processTimer(Timer &) override
function main (line 145) | int main()
FILE: examples/10_sync/src/main.cpp
class HelloThread (line 53) | class HelloThread : public Thread, protected IEThreadConsumer
method HelloThread (line 56) | HelloThread()
method onThreadRuns (line 66) | void onThreadRuns() override
class GoodbyeThread (line 117) | class GoodbyeThread : public Thread, protected IEThreadConsumer
method GoodbyeThread (line 120) | GoodbyeThread()
method onThreadRuns (line 130) | void onThreadRuns() override
function main (line 159) | int main()
FILE: examples/11_service/src/ServicingComponent.hpp
class ServicingComponent (line 23) | class ServicingComponent : public Component
method sendNotification (line 76) | virtual void sendNotification( unsigned int /*msgId*/ ) override
method errorRequest (line 83) | virtual void errorRequest( unsigned int /*msgId*/, bool /*msgCancel*/ ...
method processRequestEvent (line 94) | virtual void processRequestEvent( ServiceRequestEvent & /*eventElem*/ ...
method processAttributeEvent (line 101) | virtual void processAttributeEvent( ServiceRequestEvent & /*eventElem*...
method ServicingComponent (line 110) | inline ServicingComponent & self( void )
method ServicingComponent (line 118) | ServicingComponent( void ) = delete;
FILE: examples/11_service/src/main.cpp
function main (line 50) | int main()
FILE: examples/12_svcmulti/src/ServicingComponent.hpp
class ServicingComponent (line 23) | class ServicingComponent : public Component
method sendNotification (line 77) | virtual void sendNotification( unsigned int /*msgId*/ ) override
method errorRequest (line 84) | virtual void errorRequest( unsigned int /*msgId*/, bool /*msgCancel*/ ...
method processRequestEvent (line 95) | virtual void processRequestEvent( ServiceRequestEvent & /*eventElem*/ ...
method processAttributeEvent (line 102) | virtual void processAttributeEvent( ServiceRequestEvent & /*eventElem*...
method ServicingComponent (line 111) | inline ServicingComponent & self( void )
method ServicingComponent (line 119) | ServicingComponent( void ) = delete;
FILE: examples/12_svcmulti/src/main.cpp
function main (line 77) | int main()
FILE: examples/13_locsvc/locservice/src/ServiceClient.hpp
class ServiceClient (line 24) | class ServiceClient : public Component
method ServiceClient (line 82) | inline ServiceClient & self( void )
method ServiceClient (line 96) | ServiceClient( void ) = delete;
FILE: examples/13_locsvc/locservice/src/ServicingComponent.hpp
class ServicingComponent (line 23) | class ServicingComponent : public Component
method ServicingComponent (line 62) | inline ServicingComponent & self( void )
method ServicingComponent (line 70) | ServicingComponent( void ) = delete;
FILE: examples/13_locsvc/locservice/src/main.cpp
function main (line 73) | int main()
FILE: examples/14_locmesh/locsvcmesh/src/ClientComponent.hpp
class ClientComponent (line 22) | class ClientComponent : public Component
method ClientComponent (line 35) | inline ClientComponent & self( void )
method ClientComponent (line 51) | ClientComponent( void ) = delete;
FILE: examples/14_locmesh/locsvcmesh/src/ServiceClient.cpp
function String (line 82) | inline String ServiceClient::timerName( Component & /* owner */ ) const
FILE: examples/14_locmesh/locsvcmesh/src/ServiceClient.hpp
class ServiceClient (line 24) | class ServiceClient : protected HelloWorldClientBase
method ServiceClient (line 94) | inline ServiceClient & self( void )
method ServiceClient (line 114) | ServiceClient( void ) = delete;
FILE: examples/14_locmesh/locsvcmesh/src/ServiceHelloWorld.hpp
class ServiceHelloWorld (line 19) | class ServiceHelloWorld : protected HelloWorldStub
method ServiceHelloWorld (line 75) | ServiceHelloWorld( void ) = delete;
FILE: examples/14_locmesh/locsvcmesh/src/ServicingComponents.hpp
class ControllerComponent (line 23) | class ControllerComponent : public Component
method ControllerComponent (line 32) | inline ControllerComponent & self( void )
method ControllerComponent (line 46) | ControllerComponent( void ) = delete;
class SecondaryComponent (line 53) | class SecondaryComponent : public Component
method SecondaryComponent (line 63) | inline SecondaryComponent & self( void )
method SecondaryComponent (line 79) | SecondaryComponent( void ) = delete;
FILE: examples/14_locmesh/locsvcmesh/src/main.cpp
function main (line 107) | int main()
FILE: examples/15_pubsvc/pubclient/src/ServiceClient.hpp
class ServiceClient (line 24) | class ServiceClient : public Component
method ServiceClient (line 89) | inline ServiceClient & self( void )
method ServiceClient (line 104) | ServiceClient( void ) = delete;
FILE: examples/15_pubsvc/pubclient/src/main.cpp
function main (line 62) | int main()
FILE: examples/15_pubsvc/pubservice/src/ServicingComponent.hpp
class ServicingComponent (line 29) | class ServicingComponent : public Component
method ServicingComponent (line 74) | inline ServicingComponent & self( void )
method ServicingComponent (line 82) | ServicingComponent( void ) = delete;
FILE: examples/15_pubsvc/pubservice/src/main.cpp
function main (line 55) | int main()
FILE: examples/16_pubmesh/common/src/LocalHelloWorldClient.cpp
function String (line 76) | inline String LocalHelloWorldClient::timerName( Component & owner ) const
FILE: examples/16_pubmesh/common/src/LocalHelloWorldClient.hpp
class LocalHelloWorldClient (line 24) | class LocalHelloWorldClient : private LocalHelloWorldClientBase
method LocalHelloWorldClient (line 82) | inline LocalHelloWorldClient & self( void )
method LocalHelloWorldClient (line 101) | LocalHelloWorldClient( void ) = delete;
FILE: examples/16_pubmesh/common/src/LocalHelloWorldService.hpp
class LocalHelloWorldService (line 20) | class LocalHelloWorldService : private LocalHelloWorldStub
method LocalHelloWorldService (line 62) | LocalHelloWorldService( void ) = delete;
FILE: examples/16_pubmesh/common/src/NECommon.hpp
type NECommon (line 25) | namespace NECommon
FILE: examples/16_pubmesh/common/src/PublicHelloWorldClient.cpp
function String (line 199) | inline String PublicHelloWorldClient::timerName( Component & owner ) const
FILE: examples/16_pubmesh/common/src/PublicHelloWorldClient.hpp
class PublicHelloWorldClient (line 26) | class PublicHelloWorldClient : private PublicHelloWorldClientBase
method PublicHelloWorldClient (line 110) | inline PublicHelloWorldClient & self( void )
method PublicHelloWorldClient (line 129) | PublicHelloWorldClient( void ) = delete;
FILE: examples/16_pubmesh/common/src/PublicHelloWorldService.hpp
class PublicHelloWorldService (line 20) | class PublicHelloWorldService : private PublicHelloWorldStub
method PublicHelloWorldService (line 91) | PublicHelloWorldService( void ) = delete;
FILE: examples/16_pubmesh/pubclients/src/main.cpp
class ServiceComponent (line 31) | class ServiceComponent : public Component
method ServiceComponent (line 51) | ServiceComponent( const NERegistry::ComponentEntry & entry, ComponentT...
method ServiceComponent (line 73) | inline ServiceComponent & self( void )
method ServiceComponent (line 81) | ServiceComponent( void ) = delete;
function main (line 119) | int main()
FILE: examples/16_pubmesh/pubservice/src/PublicServiceComponent.hpp
class PublicServiceComponent (line 23) | class PublicServiceComponent : public Component
method PublicServiceComponent (line 80) | inline PublicServiceComponent & self( void )
method PublicServiceComponent (line 89) | PublicServiceComponent( void ) = delete;
FILE: examples/16_pubmesh/pubservice/src/main.cpp
class LocalServiceComponent (line 31) | class LocalServiceComponent : public Component
method LocalServiceComponent (line 36) | LocalServiceComponent( const NERegistry::ComponentEntry & entry, Compo...
method LocalServiceComponent (line 47) | LocalServiceComponent & self( void )
function main (line 100) | int main()
FILE: examples/16_pubmesh/pubsvcmesh/src/main.cpp
class LocalServiceComponent (line 31) | class LocalServiceComponent : public Component
method LocalServiceComponent (line 41) | LocalServiceComponent( const NERegistry::ComponentEntry & entry, Compo...
method LocalServiceComponent (line 55) | LocalServiceComponent & self( void )
class PublicServiceComponent (line 63) | class PublicServiceComponent : public Component
method PublicServiceComponent (line 72) | PublicServiceComponent( const NERegistry::ComponentEntry & entry, Comp...
method PublicServiceComponent (line 89) | PublicServiceComponent & self( void )
function main (line 169) | int main()
FILE: examples/17_pubtraffic/common/NECommon.hpp
type NECommon (line 17) | namespace NECommon
type eTrafficDirection (line 32) | enum class eTrafficDirection
FILE: examples/17_pubtraffic/pubclient/src/TrafficLightClient.hpp
class TrafficLightClient (line 21) | class TrafficLightClient : public Component
method TrafficLightClient (line 81) | inline TrafficLightClient & self( void )
FILE: examples/17_pubtraffic/pubclient/src/main.cpp
function main (line 34) | int main()
FILE: examples/17_pubtraffic/pubservice/src/TrafficLightService.hpp
class TrafficSwitchData (line 24) | class TrafficSwitchData
method TrafficSwitchData (line 27) | inline TrafficSwitchData( bool switchOn = true )
method getData (line 33) | inline bool getData( void ) const
class TrafficLightService (line 49) | class TrafficLightService : public Component
class TrafficSwitchConsumer (line 63) | class TrafficSwitchConsumer : public IETrafficSwitchConsumer
method TrafficSwitchConsumer (line 66) | inline TrafficSwitchConsumer( TrafficLightService & service )
method TrafficSwitchConsumer (line 92) | TrafficSwitchConsumer( void ) = delete;
class TimerConsumer (line 100) | class TimerConsumer : public IETimerConsumer
method TimerConsumer (line 103) | TimerConsumer( TrafficLightService & service )
method TimerConsumer (line 129) | TimerConsumer( void ) = delete;
method TrafficLightService (line 178) | inline TrafficLightService & self( void )
method TrafficLightService (line 199) | TrafficLightService( void ) = delete;
FILE: examples/17_pubtraffic/pubservice/src/main.cpp
function main (line 57) | int main()
FILE: examples/18_pubworker/common/NECommon.hpp
type NECommon (line 17) | namespace NECommon
FILE: examples/18_pubworker/common/PatientInfoEvent.hpp
class PatientInfoEventData (line 20) | class PatientInfoEventData
type E_UpdateCommands (line 26) | enum E_UpdateCommands
function SharedBuffer (line 134) | inline const SharedBuffer & PatientInfoEventData::getData( void ) const
FILE: examples/18_pubworker/pubclient/src/HardwareWorkerConsumer.cpp
function HardwareWorkerConsumer (line 20) | inline HardwareWorkerConsumer & HardwareWorkerConsumer::self(void)
FILE: examples/18_pubworker/pubclient/src/HardwareWorkerConsumer.hpp
class HardwareWorkerConsumer (line 24) | class HardwareWorkerConsumer : public IEWorkerThreadConsumer
method HardwareWorkerConsumer (line 86) | HardwareWorkerConsumer( void ) = delete;
FILE: examples/18_pubworker/pubclient/src/PatientClient.cpp
function PatientClient (line 23) | PatientClient & PatientClient::self(void)
function IEWorkerThreadConsumer (line 28) | IEWorkerThreadConsumer * PatientClient::workerThreadConsumer(const Strin...
FILE: examples/18_pubworker/pubclient/src/PatientClient.hpp
class PatientClient (line 27) | class PatientClient : public Component
method PatientClient (line 106) | PatientClient( void ) = delete;
FILE: examples/18_pubworker/pubclient/src/main.cpp
function main (line 54) | int main()
FILE: examples/18_pubworker/pubservice/src/PatientService.cpp
function PatientService (line 23) | inline PatientService & PatientService::self( void )
function IEWorkerThreadConsumer (line 28) | IEWorkerThreadConsumer * PatientService::workerThreadConsumer(const Stri...
FILE: examples/18_pubworker/pubservice/src/PatientService.hpp
class PatientService (line 24) | class PatientService : public Component
method PatientService (line 80) | PatientService( void ) = delete;
FILE: examples/18_pubworker/pubservice/src/PatientServiceWorkerConsumer.hpp
class PatientInformationStub (line 17) | class PatientInformationStub
class PatientServiceWorkerConsumer (line 24) | class PatientServiceWorkerConsumer : public IEWorkerThreadConsumer
method PatientServiceWorkerConsumer (line 75) | PatientServiceWorkerConsumer( void ) = delete;
FILE: examples/18_pubworker/pubservice/src/main.cpp
function main (line 56) | int main()
FILE: examples/19_pubfsm/common/NECommon.hpp
type NECommon (line 16) | namespace NECommon
FILE: examples/19_pubfsm/pubclient/src/TrafficLightClient.hpp
class TrafficLightClient (line 22) | class TrafficLightClient : public Component
method TrafficLightClient (line 104) | TrafficLightClient( void ) = delete;
FILE: examples/19_pubfsm/pubclient/src/main.cpp
function main (line 69) | int main()
FILE: examples/19_pubfsm/pubservice/src/IETrafficLightActionHandler.hpp
class IETrafficLightActionHandler (line 37) | class IETrafficLightActionHandler
method IETrafficLightActionHandler (line 48) | IETrafficLightActionHandler( void ) = default;
FILE: examples/19_pubfsm/pubservice/src/NETrafficLightFSM.cpp
type NETrafficLightFSM (line 27) | namespace NETrafficLightFSM
FILE: examples/19_pubfsm/pubservice/src/NETrafficLightFSM.hpp
type NETrafficLightFSM (line 35) | namespace NETrafficLightFSM
type eFsmEventData (line 54) | enum class eFsmEventData
class FsmEventData (line 73) | class FsmEventData
method FsmEventData (line 79) | FsmEventData( const NETrafficLightFSM::eFsmEventData & data )
method FsmEventData (line 84) | FsmEventData( const FsmEventData & data ) = default;
method FsmEventData (line 109) | FsmEventData( void ) = delete;
type eFsmTimerData (line 132) | enum class eFsmTimerData
FILE: examples/19_pubfsm/pubservice/src/PowerControllerClient.hpp
class PowerControllerEventData (line 29) | class PowerControllerEventData
type E_Actions (line 35) | enum class E_Actions
class PowerControllerClient (line 101) | class PowerControllerClient : public PowerManagerClientBase
method PowerControllerClient (line 223) | PowerControllerClient( void ) = delete;
function PowerControllerClient (line 231) | inline PowerControllerClient & PowerControllerClient::self( void )
method PowerControllerClient (line 223) | PowerControllerClient( void ) = delete;
FILE: examples/19_pubfsm/pubservice/src/TrafficLightFSM.hpp
class IETrafficLightActionHandler (line 38) | class IETrafficLightActionHandler
class DispatcherThread (line 39) | class DispatcherThread
class TrafficLightFSM (line 49) | class TrafficLightFSM
class TrafficLightEventConsumer (line 63) | class TrafficLightEventConsumer : public NETrafficLightFSM::IEFsmEvent...
method TrafficLightEventConsumer (line 98) | TrafficLightEventConsumer( void ) = delete;
class TrafficLightTimerConsumer (line 111) | class TrafficLightTimerConsumer : public IETimerConsumer
method TrafficLightTimerConsumer (line 144) | TrafficLightTimerConsumer( void ) = delete;
type eState (line 156) | enum class eState
function TrafficLightFSM (line 536) | inline TrafficLightFSM& TrafficLightFSM::self( void )
class TrafficLightEventConsumer (line 63) | class TrafficLightEventConsumer : public NETrafficLightFSM::IEFsmEvent...
method TrafficLightEventConsumer (line 98) | TrafficLightEventConsumer( void ) = delete;
class TrafficLightTimerConsumer (line 111) | class TrafficLightTimerConsumer : public IETimerConsumer
method TrafficLightTimerConsumer (line 144) | TrafficLightTimerConsumer( void ) = delete;
type eState (line 156) | enum class eState
FILE: examples/19_pubfsm/pubservice/src/TrafficLightService.hpp
class TrafficLightService (line 34) | class TrafficLightService : public Component
method TrafficLightService (line 166) | TrafficLightService( void ) = delete;
function TrafficLightService (line 174) | inline TrafficLightService & TrafficLightService::self( void )
method TrafficLightService (line 166) | TrafficLightService( void ) = delete;
FILE: examples/19_pubfsm/pubservice/src/main.cpp
function main (line 66) | int main()
FILE: examples/20_winchat/chatter/DistrbutedApp.cpp
function BOOL (line 49) | BOOL DistrbutedApp::InitInstance()
FILE: examples/20_winchat/chatter/DistrbutedApp.hpp
class DistrbutedApp (line 29) | class DistrbutedApp : public CWinApp
FILE: examples/20_winchat/chatter/NEDistributedApp.cpp
function _createRoleName (line 13) | static inline void _createRoleName( const String & nickName, uint32_t co...
function _createRoleName (line 19) | static inline void _createRoleName( const String & nickName, uint32_t co...
function String (line 25) | String NEDistributedApp::getConnectionServiceRole( const String & nickNa...
function String (line 32) | String NEDistributedApp::getDirectMessagingRole(const String & nickName,...
function String (line 39) | String NEDistributedApp::getDirectConnectionName( const String & nickNam...
FILE: examples/20_winchat/chatter/NEDistributedApp.hpp
type NEDistributedApp (line 11) | namespace NEDistributedApp
type eWndCommands (line 15) | enum class eWndCommands : unsigned int
FILE: examples/20_winchat/chatter/services/CentralMessaging.hpp
class DispatcherThread (line 10) | class DispatcherThread
class ConnectionHandler (line 11) | class ConnectionHandler
class CentralMessaging (line 13) | class CentralMessaging : public CentralMessagerClientBase
method CentralMessaging (line 99) | CentralMessaging( void ) = delete;
function CentralMessaging (line 107) | inline CentralMessaging & CentralMessaging::self( void )
method CentralMessaging (line 99) | CentralMessaging( void ) = delete;
FILE: examples/20_winchat/chatter/services/ChatParticipantService.hpp
class ComponentThread (line 13) | class ComponentThread
class ChatParticipantService (line 15) | class ChatParticipantService : private Component
function ChatParticipantService (line 70) | inline ChatParticipantService & ChatParticipantService::self( void )
FILE: examples/20_winchat/chatter/services/ChatPrticipantHandler.hpp
class DirectChatService (line 14) | class DirectChatService
class DirectMessagingClient (line 15) | class DirectMessagingClient
class ChatPrticipantHandler (line 21) | class ChatPrticipantHandler
function String (line 130) | inline const String & ChatPrticipantHandler::GetServiceName( void ) const
function ptr_type (line 160) | inline ptr_type ChatPrticipantHandler::GetChatWindow( void ) const
function DirectChatService (line 172) | inline DirectChatService * ChatPrticipantHandler::GetConnectionService( ...
function DirectMessagingClient (line 196) | inline DirectMessagingClient * ChatPrticipantHandler::GetChatClient( voi...
FILE: examples/20_winchat/chatter/services/ConnectionHandler.hpp
class ConnectionHandler (line 12) | class ConnectionHandler
function String (line 99) | inline const String & ConnectionHandler::GetNickName(void) const
function DateTime (line 136) | inline const DateTime & ConnectionHandler::GetTimeConnect(void) const
function DateTime (line 148) | inline const DateTime & ConnectionHandler::GetTimeConnected(void) const
FILE: examples/20_winchat/chatter/services/ConnectionList.hpp
class Component (line 4) | class Component
class ConnectionHandler (line 5) | class ConnectionHandler
class ConnectionList (line 7) | class ConnectionList : public ConnectionManagerClientBase
method ConnectionList (line 74) | ConnectionList( void ) = delete;
FILE: examples/20_winchat/chatter/services/ConnectionService.hpp
class ConnectionService (line 10) | class ConnectionService : public Component
function ConnectionService (line 54) | inline ConnectionService & ConnectionService::self( void )
FILE: examples/20_winchat/chatter/services/DirectChatService.hpp
class DirectConnectionClient (line 18) | class DirectConnectionClient
class ChatPrticipantHandler (line 19) | class ChatPrticipantHandler
class DirectChatService (line 21) | class DirectChatService : public Component
function DirectChatService (line 146) | inline DirectChatService & DirectChatService::self( void )
FILE: examples/20_winchat/chatter/services/DirectConnectionClient.hpp
class ChatPrticipantHandler (line 11) | class ChatPrticipantHandler
class DirectConnectionClient (line 13) | class DirectConnectionClient : public DirectConnectionClientBase
method DirectConnectionClient (line 62) | DirectConnectionClient( void ) = delete;
FILE: examples/20_winchat/chatter/services/DirectConnectionService.cpp
function DirectConnectionService (line 22) | DirectConnectionService * DirectConnectionService::GetService( void )
function String (line 27) | String DirectConnectionService::GetGeneratedService( const String & nick...
FILE: examples/20_winchat/chatter/services/DirectConnectionService.hpp
class DirectConnectionService (line 14) | class DirectConnectionService : public Component
function DirectConnectionService (line 90) | inline DirectConnectionService & DirectConnectionService::self( void )
FILE: examples/20_winchat/chatter/services/DirectMessagingClient.hpp
class ChatPrticipantHandler (line 12) | class ChatPrticipantHandler
class DirectMessagingClient (line 14) | class DirectMessagingClient : public DirectMessagerClientBase
method DirectMessagingClient (line 124) | DirectMessagingClient( void ) = delete;
function DirectMessagingClient (line 128) | inline DirectMessagingClient & DirectMessagingClient::self( void )
method DirectMessagingClient (line 124) | DirectMessagingClient( void ) = delete;
FILE: examples/20_winchat/chatter/services/NetworkSetup.hpp
class Component (line 4) | class Component
class ConnectionHandler (line 5) | class ConnectionHandler
class NetworkSetup (line 7) | class NetworkSetup : public ConnectionManagerClientBase
method NetworkSetup (line 61) | NetworkSetup( void ) = delete;
FILE: examples/20_winchat/chatter/ui/DistributedDialog.cpp
class CAboutDlg (line 36) | class CAboutDlg : public CDialogEx
function BOOL (line 133) | BOOL DistributedDialog::OnInitDialog()
function HCURSOR (line 227) | HCURSOR DistributedDialog::OnQueryDragIcon()
function LRESULT (line 239) | LRESULT DistributedDialog::OnCmdServiceStartup( WPARAM wParam, LPARAM lP...
function LRESULT (line 262) | LRESULT DistributedDialog::OnCmdServiceNetwork( WPARAM wParam, LPARAM lP...
function LRESULT (line 285) | LRESULT DistributedDialog::OnCmdServiceConnection( WPARAM wParam, LPARAM...
function LRESULT (line 311) | LRESULT DistributedDialog::OnCmdClientConnection( WPARAM wParam, LPARAM ...
function LRESULT (line 338) | LRESULT DistributedDialog::OnCmdClientRegistration( WPARAM wParam, LPARA...
function LRESULT (line 379) | LRESULT DistributedDialog::OnCmdAddConnection( WPARAM /*wParam*/, LPARAM...
function LRESULT (line 397) | LRESULT DistributedDialog::OnCmdRemoveConnection( WPARAM /*wParam*/, LPA...
function LRESULT (line 451) | LRESULT DistributedDialog::OnCmdChatClosed( WPARAM /*wParam*/, LPARAM lP...
function LRESULT (line 475) | LRESULT DistributedDialog::OnCmdSendMessage( WPARAM wParam, LPARAM lParam )
function LRESULT (line 487) | LRESULT DistributedDialog::OnCmdTypeMessage( WPARAM wParam, LPARAM lParam )
function PageChat (line 517) | PageChat * DistributedDialog::AddChatPage( const NEDirectConnection::sIn...
function DistributedDialog (line 548) | DistributedDialog * DistributedDialog::GetDialog( void )
function LRESULT (line 603) | LRESULT DistributedDialog::OnCmdSetDirectConnection( WPARAM wParam, LPAR...
FILE: examples/20_winchat/chatter/ui/DistributedDialog.hpp
class PageChat (line 25) | class PageChat
class DistributedDialog (line 28) | class DistributedDialog : public CPropertySheet
function DistributedDialog (line 104) | inline DistributedDialog & DistributedDialog::self( void )
FILE: examples/20_winchat/chatter/ui/PageChat.cpp
function BOOL (line 96) | BOOL PageChat::OnInitDialog( )
function BOOL (line 386) | BOOL PageChat::OnKillActive( )
function BOOL (line 393) | BOOL PageChat::OnSetActive( )
function LRESULT (line 414) | LRESULT PageChat::OnCmdChatMessage( WPARAM /*wParam*/, LPARAM lParam)
function LRESULT (line 432) | LRESULT PageChat::OnCmdChatTyping( WPARAM /*wParam*/, LPARAM lParam)
function LRESULT (line 443) | LRESULT PageChat::OnCmdChatJoined( WPARAM wParam, LPARAM /*lParam*/ )
FILE: examples/20_winchat/chatter/ui/PageChat.hpp
class PageChat (line 18) | class PageChat : public CPropertyPage
FILE: examples/20_winchat/chatter/ui/PageConnections.cpp
function BOOL (line 206) | BOOL PageConnections::OnInitDialog( )
function String (line 239) | const String & PageConnections::GetRegisteredName( void ) const
FILE: examples/20_winchat/chatter/ui/PageConnections.hpp
class String (line 9) | class String
class Component (line 10) | class Component
class ConnectionList (line 11) | class ConnectionList
class DispatcherThread (line 12) | class DispatcherThread
class ConnectionHandler (line 13) | class ConnectionHandler
class PageConnections (line 17) | class PageConnections : public CPropertyPage
FILE: examples/20_winchat/chatter/ui/PageMessaging.cpp
function BOOL (line 194) | BOOL PageMessaging::OnInitDialog( )
function LRESULT (line 321) | LRESULT PageMessaging::OnOutputMessage( WPARAM /*wParam*/, LPARAM lParam)
FILE: examples/20_winchat/chatter/ui/PageMessaging.hpp
class Component (line 9) | class Component
class DispatcherThread (line 10) | class DispatcherThread
class CentralMessaging (line 11) | class CentralMessaging
class ConnectionHandler (line 12) | class ConnectionHandler
class ConnectionList (line 13) | class ConnectionList
class PageMessaging (line 17) | class PageMessaging : public CPropertyPage
FILE: examples/20_winchat/chatter/ui/PageNetworkSetup.cpp
function BOOL (line 377) | BOOL PageNetworkSetup::OnInitDialog( )
FILE: examples/20_winchat/chatter/ui/PageNetworkSetup.hpp
class Component (line 7) | class Component
class NetworkSetup (line 8) | class NetworkSetup
class DispatcherThread (line 9) | class DispatcherThread
class ConnectionHandler (line 10) | class ConnectionHandler
class PageNetworkSetup (line 14) | class PageNetworkSetup : public CPropertyPage
FILE: examples/20_winchat/common/NECommon.hpp
type NECommon (line 17) | namespace NECommon
type S_ChatParticipant (line 30) | struct S_ChatParticipant
type S_MessageData (line 45) | struct S_MessageData
type sConnection (line 91) | struct sConnection
type sParticipant (line 189) | struct sParticipant
function size_t (line 357) | inline NECommon::sConnection::operator size_t ( void ) const
function IEInStream (line 368) | inline const IEInStream & operator >> ( const IEInStream & stream, NECom...
function IEOutStream (line 382) | inline IEOutStream & operator << ( IEOutStream & stream, const NECommon:...
type std (line 397) | namespace std
type hash<NECommon::sConnection> (line 399) | struct hash<NECommon::sConnection>
type hash<NECommon::sParticipant> (line 512) | struct hash<NECommon::sParticipant>
function size_t (line 473) | inline NECommon::sParticipant::operator size_t ( void ) const
function IEInStream (line 483) | inline const IEInStream & operator >> ( const IEInStream & stream, NECom...
function IEOutStream (line 496) | inline IEOutStream & operator << ( IEOutStream & stream, const NECommon:...
type std (line 510) | namespace std
type hash<NECommon::sConnection> (line 399) | struct hash<NECommon::sConnection>
type hash<NECommon::sParticipant> (line 512) | struct hash<NECommon::sParticipant>
FILE: examples/20_winchat/register/CentralApp.cpp
function BOOL (line 53) | BOOL CentralApp::InitInstance()
FILE: examples/20_winchat/register/CentralApp.hpp
class CentralApp (line 27) | class CentralApp : public CWinApp
FILE: examples/20_winchat/register/NECentralApp.hpp
type NECentralApp (line 11) | namespace NECentralApp
type eWndCommands (line 15) | enum class eWndCommands : unsigned int
FILE: examples/20_winchat/register/services/ConnectionManager.cpp
function ConnectionManager (line 40) | ConnectionManager * ConnectionManager::getService( void )
FILE: examples/20_winchat/register/services/ConnectionManager.hpp
class ComponentThread (line 13) | class ComponentThread
class ConnectionManager (line 22) | class ConnectionManager : public Component
function ConnectionManager (line 160) | inline ConnectionManager & ConnectionManager::self( void )
FILE: examples/20_winchat/register/ui/CentralDialog.cpp
class CAboutDlg (line 33) | class CAboutDlg : public CDialogEx
function BOOL (line 131) | BOOL CentralDialog::OnInitDialog()
function HCURSOR (line 225) | HCURSOR CentralDialog::OnQueryDragIcon()
function LRESULT (line 230) | LRESULT CentralDialog::OnCmdServiceConnection( WPARAM wParam, LPARAM /*l...
FILE: examples/20_winchat/register/ui/CentralDialog.hpp
class CentralDialog (line 22) | class CentralDialog : public CPropertySheet
function CentralDialog (line 57) | inline CentralDialog & CentralDialog::self( void )
FILE: examples/20_winchat/register/ui/PageBrokerSetup.cpp
function BOOL (line 159) | BOOL PageBrokerSetup::OnInitDialog( )
FILE: examples/20_winchat/register/ui/PageBrokerSetup.hpp
class PageBrokerSetup (line 7) | class PageBrokerSetup : public CPropertyPage
FILE: examples/20_winchat/register/ui/PageConnections.cpp
function BOOL (line 186) | BOOL PageConnections::OnInitDialog( )
function LRESULT (line 202) | LRESULT PageConnections::OnCmdRegistered( WPARAM /*wParam*/, LPARAM lParam)
function LRESULT (line 235) | LRESULT PageConnections::OnCmdUnregistered( WPARAM /*wParam*/, LPARAM lP...
function LRESULT (line 264) | LRESULT PageConnections::OnCmdSendMessage( WPARAM /*wParam*/, LPARAM lPa...
function LRESULT (line 298) | LRESULT PageConnections::OnCmdTypeMessage( WPARAM /*wParam*/, LPARAM lPa...
FILE: examples/20_winchat/register/ui/PageConnections.hpp
class PageConnections (line 11) | class PageConnections : public CPropertyPage
type E_Header (line 16) | enum E_Header
FILE: examples/21_locwatchdog/locservice/src/ServiceClient.hpp
class ServiceClient (line 29) | class ServiceClient : public Component
method ServiceClient (line 102) | ServiceClient( void ) = delete;
function ServiceClient (line 106) | inline ServiceClient & ServiceClient::self( void )
method ServiceClient (line 102) | ServiceClient( void ) = delete;
FILE: examples/21_locwatchdog/locservice/src/ServicingComponent.hpp
class ServicingComponent (line 27) | class ServicingComponent : public Component
method ServicingComponent (line 71) | ServicingComponent( void ) = delete;
function ServicingComponent (line 78) | inline ServicingComponent & ServicingComponent::self( void )
method ServicingComponent (line 71) | ServicingComponent( void ) = delete;
FILE: examples/21_locwatchdog/locservice/src/main.cpp
function main (line 76) | int main()
FILE: examples/22_pubwatchdog/common/NECommon.hpp
type NECommon (line 9) | namespace NECommon
FILE: examples/22_pubwatchdog/pubclient/src/ServiceClient.hpp
class ServiceClient (line 29) | class ServiceClient : public Component
method ServiceClient (line 119) | ServiceClient( void ) = delete;
function ServiceClient (line 123) | inline ServiceClient & ServiceClient::self( void )
method ServiceClient (line 119) | ServiceClient( void ) = delete;
FILE: examples/22_pubwatchdog/pubclient/src/main.cpp
function main (line 63) | int main()
FILE: examples/22_pubwatchdog/pubservice/src/ServicingComponent.hpp
class ServicingComponent (line 27) | class ServicingComponent : public Component
method ServicingComponent (line 85) | ServicingComponent( void ) = delete;
function ServicingComponent (line 92) | inline ServicingComponent & ServicingComponent::self( void )
method ServicingComponent (line 85) | ServicingComponent( void ) = delete;
FILE: examples/22_pubwatchdog/pubservice/src/main.cpp
function main (line 59) | int main()
FILE: examples/23_pubdatarate/common/NELargeData.hpp
type NELargeData (line 26) | namespace NELargeData
type sRBG (line 35) | struct sRBG
type sCoord (line 43) | struct sCoord
type sImageData (line 50) | struct sImageData
type sImageBlock (line 65) | struct sImageBlock
class ImageBlock (line 82) | class ImageBlock
method ImageBlock (line 173) | ImageBlock(const ImageBlock& /*src*/) = delete;
method ImageBlock (line 174) | ImageBlock& operator = (const ImageBlock & /*src*/) = delete;
function IEOutStream (line 284) | inline IEOutStream& NELargeData::operator << (IEOutStream& stream, const...
function IEInStream (line 300) | inline const IEInStream& NELargeData::operator >> (const IEInStream& str...
FILE: examples/23_pubdatarate/common/SimpleBitmap.hpp
class SimpleBitmap (line 27) | class SimpleBitmap
type sBitmapInfoHeader (line 40) | struct sBitmapInfoHeader
type sBitmapFileHeader (line 69) | struct sBitmapFileHeader
type sBitmap (line 86) | struct sBitmap
FILE: examples/23_pubdatarate/pubclient/src/ServiceClient.hpp
class ServiceClient (line 34) | class ServiceClient : public Component
method ServiceClient (line 148) | ServiceClient( void ) = delete;
function ServiceClient (line 152) | inline ServiceClient & ServiceClient::self( void )
method ServiceClient (line 148) | ServiceClient( void ) = delete;
FILE: examples/23_pubdatarate/pubclient/src/main.cpp
function main (line 64) | int main()
FILE: examples/23_pubdatarate/pubservice/src/NEUtilities.hpp
class String (line 19) | class String
type NEUtilities (line 21) | namespace NEUtilities
type eOptionFlags (line 27) | enum class eOptionFlags : uint32_t
type sOptions (line 83) | struct sOptions
type sOptionData (line 123) | struct sOptionData
function String (line 361) | inline String NEUtilities::sOptionData::getState(void) const
FILE: examples/23_pubdatarate/pubservice/src/ServicingComponent.hpp
class OptionData (line 35) | class OptionData : public NEUtilities::sOptionData
class ServicingComponent (line 49) | class ServicingComponent : public Component
class OptionConsumer (line 63) | class OptionConsumer : public IEOptionConsumer
method OptionConsumer (line 66) | OptionConsumer( ServicingComponent & service )
method OptionConsumer (line 91) | OptionConsumer( void ) = delete;
class TimerConsumer (line 99) | class TimerConsumer : public IETimerConsumer
method TimerConsumer (line 102) | TimerConsumer( ServicingComponent & service )
method TimerConsumer (line 127) | TimerConsumer( void ) = delete;
method ServicingComponent (line 338) | ServicingComponent( void ) = delete;
function ServicingComponent (line 345) | inline ServicingComponent & ServicingComponent::self( void )
class OptionConsumer (line 63) | class OptionConsumer : public IEOptionConsumer
method OptionConsumer (line 66) | OptionConsumer( ServicingComponent & service )
method OptionConsumer (line 91) | OptionConsumer( void ) = delete;
class TimerConsumer (line 99) | class TimerConsumer : public IETimerConsumer
method TimerConsumer (line 102) | TimerConsumer( ServicingComponent & service )
method TimerConsumer (line 127) | TimerConsumer( void ) = delete;
method ServicingComponent (line 338) | ServicingComponent( void ) = delete;
FILE: examples/23_pubdatarate/pubservice/src/main.cpp
function main (line 56) | int main()
FILE: examples/24_pubunblock/pubclient/src/ServiceClient.hpp
class ServiceClient (line 31) | class ServiceClient : public Component
method ServiceClient (line 120) | inline ServiceClient & self( void )
method ServiceClient (line 143) | ServiceClient( void ) = delete;
FILE: examples/24_pubunblock/pubclient/src/main.cpp
function main (line 61) | int main()
FILE: examples/24_pubunblock/pubservice/src/ServiceComponent.hpp
class ServiceComponent (line 31) | class ServiceComponent : public Component
type SessionEtnry (line 39) | struct SessionEtnry
method ServiceComponent (line 91) | inline ServiceComponent & self (void)
method ServiceComponent (line 111) | ServiceComponent( void ) = delete;
FILE: examples/24_pubunblock/pubservice/src/main.cpp
function main (line 56) | int main( )
FILE: examples/25_pubsub/publisher/src/Publisher.cpp
function String (line 33) | String generateString(uint32_t seqNr)
function Publisher (line 324) | inline Publisher & Publisher::self(void)
FILE: examples/25_pubsub/publisher/src/Publisher.hpp
class Publisher (line 41) | class Publisher : public Component
type eCommands (line 51) | enum class eCommands : int
method Publisher (line 174) | Publisher(void) = delete;
FILE: examples/25_pubsub/publisher/src/main.cpp
function main (line 57) | int main( )
FILE: examples/25_pubsub/subscriber/src/Subscriber.cpp
function Subscriber (line 173) | inline Subscriber & Subscriber::self(void)
FILE: examples/25_pubsub/subscriber/src/Subscriber.hpp
class Subscriber (line 30) | class Subscriber: public Component
FILE: examples/25_pubsub/subscriber/src/main.cpp
function main (line 61) | int main()
FILE: examples/26_pubsubmix/common/src/NECommon.cpp
type NECommon (line 4) | namespace NECommon
FILE: examples/26_pubsubmix/common/src/NECommon.hpp
type NECommon (line 27) | namespace NECommon
FILE: examples/26_pubsubmix/common/src/PubSubMixed.cpp
function PubSubMixed (line 36) | inline PubSubMixed & PubSubMixed::self(void)
FILE: examples/26_pubsubmix/common/src/PubSubMixed.hpp
class PubSubMixed (line 27) | class PubSubMixed : public Component
FILE: examples/26_pubsubmix/common/src/Publisher.cpp
function String (line 34) | String generateString(uint32_t seqNr)
function Publisher (line 191) | inline Publisher & Publisher::self(void)
FILE: examples/26_pubsubmix/common/src/Publisher.hpp
class Publisher (line 39) | class Publisher : protected PubSubMixStub
method Publisher (line 123) | Publisher(void) = delete;
FILE: examples/26_pubsubmix/common/src/Subscriber.cpp
function Subscriber (line 215) | inline Subscriber & Subscriber::self(void)
FILE: examples/26_pubsubmix/common/src/Subscriber.hpp
class Subscriber (line 31) | class Subscriber : protected PubSubMixClientBase
FILE: examples/26_pubsubmix/pubsubctrl/src/PubSubController.cpp
function PubSubController (line 167) | inline PubSubController & PubSubController::self(void)
FILE: examples/26_pubsubmix/pubsubctrl/src/PubSubController.hpp
class PubSubController (line 28) | class PubSubController : public Component
type eCommands (line 37) | enum class eCommands : int
method PubSubController (line 117) | PubSubController(void) = delete;
FILE: examples/26_pubsubmix/pubsubctrl/src/main.cpp
function main (line 84) | int main( )
FILE: examples/26_pubsubmix/pubsubdyn/src/main.cpp
function main (line 84) | int main()
FILE: examples/27_pubsubmulti/publisher/src/Publisher.cpp
function String (line 33) | String generateString(uint32_t seqNr)
function Publisher (line 324) | inline Publisher & Publisher::self(void)
FILE: examples/27_pubsubmulti/publisher/src/Publisher.hpp
class Publisher (line 41) | class Publisher : public Component
type eCommands (line 51) | enum class eCommands : int
method Publisher (line 174) | Publisher(void) = delete;
FILE: examples/27_pubsubmulti/publisher/src/main.cpp
function main (line 57) | int main( )
FILE: examples/27_pubsubmulti/subscribermulti/src/NECommon.hpp
type NECommon (line 19) | namespace NECommon
FILE: examples/27_pubsubmulti/subscribermulti/src/Subscriber.cpp
function Subscriber (line 112) | inline Subscriber & Subscriber::self(void)
FILE: examples/27_pubsubmulti/subscribermulti/src/Subscriber.hpp
class Subscriber (line 33) | class Subscriber: public Component
FILE: examples/27_pubsubmulti/subscribermulti/src/SubscriberBase.hpp
class SubscriberBase (line 22) | class SubscriberBase : public PubSubClientBase
FILE: examples/27_pubsubmulti/subscribermulti/src/SubscriberSecond.hpp
class SubscriberSecond (line 24) | class SubscriberSecond : public SubscriberBase
FILE: examples/27_pubsubmulti/subscribermulti/src/main.cpp
function main (line 63) | int main()
FILE: examples/28_stlsync/src/main.cpp
function workerThread (line 46) | void workerThread()
function main (line 57) | int main()
FILE: examples/29_syncevent/src/main.cpp
function WorkerThread (line 49) | void WorkerThread(void)
function main (line 66) | int main()
FILE: framework/areg/appbase/Application.hpp
class IEConfigurationListener (line 34) | class IEConfigurationListener
function Application (line 49) | class AREG_API Application
function Application (line 492) | inline Application & Application::getInstance( void )
FILE: framework/areg/appbase/NEApplication.hpp
type NEApplication (line 33) | namespace NEApplication
type sEntryTypesEnabling (line 192) | struct sEntryTypesEnabling
type E_AppState (line 328) | enum class E_AppState
FILE: framework/areg/appbase/private/Application.cpp
function String (line 337) | const String & Application::getApplicationName(void)
function String (line 342) | const String & Application::getMachineName(void)
function ConfigManager (line 347) | ConfigManager& Application::getConfigManager(void)
FILE: framework/areg/appbase/private/posix/ApplicationPosix.cpp
function _getProcIdByName (line 31) | int _getProcIdByName(const char* procName)
function _getProcIdByName (line 71) | int _getProcIdByName(const char* procName)
function _handleSignalBrokenPipe (line 120) | void _handleSignalBrokenPipe(int s)
function _handleSignalSegmentationFault (line 127) | void _handleSignalSegmentationFault(int s)
FILE: framework/areg/base/BufferStreamBase.hpp
class IECursorPosition (line 29) | class IECursorPosition
class AREG_API (line 43) | class AREG_API
FILE: framework/areg/base/Containers.hpp
class Tokenizer (line 45) | class Tokenizer
class TEIntegerHashMap (line 49) | class TEIntegerHashMap
method TEIntegerHashMap (line 82) | TEIntegerHashMap( void ) = default;
method TEIntegerHashMap (line 95) | TEIntegerHashMap( const TEIntegerHashMap<VALUE> & src ) = default;
method TEIntegerHashMap (line 101) | TEIntegerHashMap( TEIntegerHashMap<VALUE> && src ) noexcept = default;
class TEStringHashMap (line 51) | class TEStringHashMap
method TEStringHashMap (line 182) | TEStringHashMap( void ) = default;
method TEStringHashMap (line 188) | TEStringHashMap( const TEStringHashMap<VALUE> & src ) = default;
method TEStringHashMap (line 194) | TEStringHashMap( TEStringHashMap<VALUE> && src ) noexcept = default;
class TEPointerHashMap (line 53) | class TEPointerHashMap
method TEPointerHashMap (line 227) | TEPointerHashMap( void ) = default;
method TEPointerHashMap (line 233) | TEPointerHashMap( const TEPointerHashMap<VALUE> & src ) = default;
method TEPointerHashMap (line 239) | TEPointerHashMap( TEPointerHashMap<VALUE> && src ) noexcept = default;
class TEIntegerMap (line 57) | class TEIntegerMap
method TEIntegerMap (line 265) | TEIntegerMap(void) = default;
method TEIntegerMap (line 271) | TEIntegerMap(const TEIntegerMap<VALUE>& src) = default;
method TEIntegerMap (line 277) | TEIntegerMap(TEIntegerMap<VALUE>&& src) noexcept = default;
class TEStringMap (line 59) | class TEStringMap
method TEStringMap (line 342) | TEStringMap(void) = default;
method TEStringMap (line 348) | TEStringMap(const TEStringMap<VALUE>& src) = default;
method TEStringMap (line 354) | TEStringMap(TEStringMap<VALUE>&& src) noexcept = default;
class TEPointerMap (line 61) | class TEPointerMap
method TEPointerMap (line 376) | TEPointerMap( void ) = default;
method TEPointerMap (line 382) | TEPointerMap( const TEPointerMap<VALUE> & src ) = default;
method TEPointerMap (line 388) | TEPointerMap( TEPointerMap<VALUE> && src ) noexcept = default;
class TEIntegerHashMap (line 72) | class TEIntegerHashMap : public TEHashMap<unsigned int, VALUE>
method TEIntegerHashMap (line 82) | TEIntegerHashMap( void ) = default;
method TEIntegerHashMap (line 95) | TEIntegerHashMap( const TEIntegerHashMap<VALUE> & src ) = default;
method TEIntegerHashMap (line 101) | TEIntegerHashMap( TEIntegerHashMap<VALUE> && src ) noexcept = default;
class TEIdHashMap (line 120) | class TEIdHashMap: public TEHashMap<id_type, VALUE>
method TEIdHashMap (line 137) | TEIdHashMap( void ) = default;
method TEIdHashMap (line 143) | TEIdHashMap( const TEIdHashMap<VALUE> & src ) = default;
method TEIdHashMap (line 149) | TEIdHashMap( TEIdHashMap<VALUE> && src ) noexcept = default;
class TEStringHashMap (line 165) | class TEStringHashMap: public TEHashMap<String, VALUE>
method TEStringHashMap (line 182) | TEStringHashMap( void ) = default;
method TEStringHashMap (line 188) | TEStringHashMap( const TEStringHashMap<VALUE> & src ) = default;
method TEStringHashMap (line 194) | TEStringHashMap( TEStringHashMap<VALUE> && src ) noexcept = default;
class TEPointerHashMap (line 211) | class TEPointerHashMap: public TEHashMap<void *, VALUE>
method TEPointerHashMap (line 227) | TEPointerHashMap( void ) = default;
method TEPointerHashMap (line 233) | TEPointerHashMap( const TEPointerHashMap<VALUE> & src ) = default;
method TEPointerHashMap (line 239) | TEPointerHashMap( TEPointerHashMap<VALUE> && src ) noexcept = default;
class TEIntegerMap (line 256) | class TEIntegerMap : public TEMap<unsigned int, VALUE>
method TEIntegerMap (line 265) | TEIntegerMap(void) = default;
method TEIntegerMap (line 271) | TEIntegerMap(const TEIntegerMap<VALUE>& src) = default;
method TEIntegerMap (line 277) | TEIntegerMap(TEIntegerMap<VALUE>&& src) noexcept = default;
class TEIdMap (line 296) | class TEIdMap : public TEMap<id_type, VALUE>
method TEIdMap (line 305) | TEIdMap(void) = default;
method TEIdMap (line 311) | TEIdMap(const TEIdMap<VALUE>& src) = default;
method TEIdMap (line 317) | TEIdMap(TEIdMap<VALUE>&& src) noexcept = default;
class TEStringMap (line 333) | class TEStringMap : public TEMap<String, VALUE>
method TEStringMap (line 342) | TEStringMap(void) = default;
method TEStringMap (line 348) | TEStringMap(const TEStringMap<VALUE>& src) = default;
method TEStringMap (line 354) | TEStringMap(TEStringMap<VALUE>&& src) noexcept = default;
class TEPointerMap (line 367) | class TEPointerMap: public TEMap<void *, VALUE>
method TEPointerMap (line 376) | TEPointerMap( void ) = default;
method TEPointerMap (line 382) | TEPointerMap( const TEPointerMap<VALUE> & src ) = default;
method TEPointerMap (line 388) | TEPointerMap( TEPointerMap<VALUE> && src ) noexcept = default;
function Tokenizer (line 526) | class AREG_API Tokenizer
function StringArray (line 642) | inline const StringArray& Tokenizer::getList(void) const
FILE: framework/areg/base/DateTime.hpp
type tm (line 33) | struct tm
function DateTime (line 41) | class AREG_API DateTime
function TIME64 (line 368) | inline DateTime::operator TIME64 ( void ) const
function DateTime (line 388) | inline DateTime & DateTime::operator = ( const DateTime & src )
function DateTime (line 394) | inline DateTime & DateTime::operator = ( DateTime && src ) noexcept
function TIME64 (line 400) | inline const TIME64 & DateTime::getTime( void ) const
function IEInStream (line 415) | inline const IEInStream & operator >> ( const IEInStream & stream, DateT...
function IEOutStream (line 421) | inline IEOutStream & operator << ( IEOutStream & stream, const DateTime ...
FILE: framework/areg/base/File.hpp
function FileBase (line 38) | class AREG_API File : public FileBase
FILE: framework/areg/base/FileBase.hpp
class String (line 31) | class String
class WideString (line 32) | class WideString
class IEByteBuffer (line 33) | class IEByteBuffer
class AREG_API (line 90) | class AREG_API
function FileBase (line 895) | inline FileBase & FileBase::self( void )
function FileBase (line 900) | inline const FileBase & FileBase::self( void ) const
function String (line 905) | inline const String & FileBase::getName( void ) const
function IEInStream (line 1000) | inline const IEInStream& FileBase::getReadStream( void ) const
function IEOutStream (line 1006) | inline IEOutStream& FileBase::getWriteStream( void )
function const (line 1022) | inline bool FileBase::readChar( wchar_t & OUT outValue ) const
function FileBase (line 1092) | inline FileBase & operator << ( FileBase & stream, const char * ascii )
function FileBase (line 1098) | inline FileBase & operator << ( FileBase & stream, const String & ascii )
function FileBase (line 1104) | inline FileBase & operator << ( FileBase & stream, const wchar_t * wide )
function FileBase (line 1110) | inline FileBase & operator << ( FileBase & stream, const WideString & wi...
function FileBase (line 1116) | inline const FileBase & operator >> ( const FileBase & stream, String & ...
function FileBase (line 1122) | inline const FileBase & operator >> ( const FileBase & stream, WideStrin...
FILE: framework/areg/base/FileBuffer.hpp
function FileBuffer (line 41) | class AREG_API FileBuffer : public FileBase // derive all basi...
function SharedBuffer (line 409) | inline const SharedBuffer & FileBuffer::getSharedBuffer( void ) const
function IEInStream (line 424) | inline const IEInStream & operator >> ( const IEInStream & stream, FileB...
function IEOutStream (line 429) | inline IEOutStream & operator << ( IEOutStream & stream, const FileBuffe...
FILE: framework/areg/base/GETypes.h
type id_type (line 65) | typedef uint64_t id_type;
type ptr_type (line 68) | typedef uintptr_t ptr_type;
type ptr_type (line 70) | typedef uint64_t ptr_type;
type id_type (line 76) | typedef uint32_t id_type;
type ptr_type (line 79) | typedef uintptr_t ptr_type;
type ptr_type (line 81) | typedef unsigned long ptr_type;
type SequenceNumber (line 87) | typedef uint64_t SequenceNumber;
type SignedSequence (line 90) | typedef int64_t SignedSequence;
type ITEM_ID (line 95) | typedef uint64_t ITEM_ID;
type SOCKETHANDLE (line 101) | typedef size_t SOCKETHANDLE;
type SOCKETHANDLE (line 103) | typedef int SOCKETHANDLE;
type TCOUNT (line 134) | typedef unsigned int TCOUNT;
type TIME64 (line 139) | typedef uint64_t TIME64;
type msg_id (line 144) | typedef uint32_t msg_id;
FILE: framework/areg/base/IEByteBuffer.hpp
function IEByteBuffer (line 36) | class AREG_API IEByteBuffer
FILE: framework/areg/base/IECursorPosition.hpp
function IECursorPosition (line 32) | class AREG_API IECursorPosition
FILE: framework/areg/base/IEGenericObject.hpp
class IEGenericObject (line 30) | class IEGenericObject
class TEObjectFactory (line 31) | class TEObjectFactory
function IEGenericObject (line 49) | class AREG_API IEGenericObject
class TEObjectFactory (line 137) | class TEObjectFactory
function IEGenericObject (line 192) | IEGenericObject* TEObjectFactory<ClassName>::createObject( void * objData )
FILE: framework/areg/base/IEIOStream.hpp
class IEInStream (line 45) | class IEInStream
class IEOutStream (line 46) | class IEOutStream
class IEIOStream (line 47) | class IEIOStream
class String (line 52) | class String
class WideString (line 53) | class WideString
class IEByteBuffer (line 54) | class IEByteBuffer
function IEOutStream (line 95) | inline IEOutStream& operator << (IEOutStream& stream, const data_type& o...
function IEInStream (line 124) | class AREG_API IEInStream
function IEOutStream (line 236) | class AREG_API IEOutStream
class AREG_API (line 353) | class AREG_API
function IEOutStream (line 491) | inline IEOutStream & operator << (IEOutStream & stream, const char * out...
function IEOutStream (line 509) | inline IEOutStream & operator << (IEOutStream & stream, const wchar_t * ...
function IEOutStream (line 528) | inline IEOutStream& operator << (IEOutStream& stream, const std::basic_s...
function IEOutStream (line 536) | inline IEOutStream& operator << (IEOutStream& stream, const std::basic_s...
function IEInStream (line 544) | inline const IEInStream& operator >> (const IEInStream& stream, std::bas...
function IEOutStream (line 560) | inline IEOutStream& operator << (IEOutStream& stream, const std::deque<E...
function IEInStream (line 572) | inline const IEInStream& operator >> (const IEInStream& stream, std::deq...
function IEOutStream (line 588) | inline IEOutStream& operator << (IEOutStream& stream, const std::list<El...
function IEInStream (line 600) | inline const IEInStream& operator >> (const IEInStream& stream, std::lis...
function IEOutStream (line 616) | inline IEOutStream& operator << (IEOutStream& stream, const std::vector<...
function IEInStream (line 628) | inline const IEInStream& operator >> (const IEInStream& stream, std::vec...
function IEOutStream (line 644) | inline IEOutStream& operator << (IEOutStream& stream, const std::pair<Ke...
function IEInStream (line 652) | inline const IEInStream& operator >> (const IEInStream& stream, std::pai...
function IEOutStream (line 660) | inline IEOutStream& operator << (IEOutStream& stream, const std::map<Key...
function IEInStream (line 672) | inline const IEInStream& operator >> (const IEInStream& stream, std::map...
function IEOutStream (line 689) | inline IEOutStream& operator << (IEOutStream& stream, const std::unorder...
function IEInStream (line 701) | inline const IEInStream& operator >> (const IEInStream& stream, std::uno...
FILE: framework/areg/base/IESyncObject.hpp
function IESyncObject (line 31) | class AREG_API IESyncObject
function SYNCHANDLE (line 163) | inline IESyncObject::operator SYNCHANDLE ( void )
function SYNCHANDLE (line 168) | inline SYNCHANDLE IESyncObject::getHandle( void ) const
FILE: framework/areg/base/IEThreadConsumer.hpp
class Thread (line 26) | class Thread
function IEThreadConsumer (line 41) | class AREG_API IEThreadConsumer
FILE: framework/areg/base/Identifier.hpp
function Identifier (line 39) | class AREG_API Identifier
function String (line 250) | inline const String& Identifier::convToString(unsigned int idValue, cons...
function String (line 319) | inline const String & Identifier::getName( void ) const
function IEInStream (line 333) | inline const IEInStream& operator >> (const IEInStream& stream, Identifi...
function IEOutStream (line 340) | inline IEOutStream & operator << (IEOutStream& stream, const Identifier&...
FILE: framework/areg/base/NECommon.hpp
type NECommon (line 27) | namespace NECommon
type eRingOverlap (line 47) | enum class eRingOverlap : uint8_t
type eSort (line 58) | enum class eSort : uint8_t
type eIndex (line 68) | enum class eIndex : ElemPos
type E_Cookies (line 490) | enum class E_Cookies : ITEM_ID
FILE: framework/areg/base/NEMath.hpp
type NEMath (line 28) | namespace NEMath
type E_DigitSign (line 38) | enum class E_DigitSign : int8_t
type E_CompareResult (line 56) | enum class E_CompareResult : int8_t
type S_Rect (line 68) | struct S_Rect
type S_Size (line 80) | struct S_Size
type S_Point (line 90) | struct S_Point
type S_Coord (line 100) | struct S_Coord
type _name (line 136) | struct _name
function sLargeInteger (line 150) | struct AREG_API sLargeInteger
function Type (line 509) | inline Type & NEMath::getMin( const Type & a, const Type & b )
function Type (line 515) | inline const Type & NEMath::getMax( const Type & a, const Type & b )
function Type (line 521) | inline Type NEMath::getAbs( const Type & val )
function Digit (line 533) | inline Digit NEMath::makeAbsolute( Digit number )
function uint64_t (line 608) | inline NEMath::sLargeInteger::operator uint64_t ( void ) const
FILE: framework/areg/base/NEMemory.hpp
type NEMemory (line 146) | namespace NEMemory
class _EmptyClass (line 152) | class _EmptyClass
type TEAlign (line 170) | struct TEAlign
type eMessageResult (line 215) | enum class eMessageResult : int32_t
type eBufferType (line 233) | enum class eBufferType : int8_t
type S_BuferHeaderInfo (line 307) | struct S_BuferHeaderInfo
type S_RemoteMessageHeader (line 342) | struct S_RemoteMessageHeader
type S_ByteBuffer (line 386) | struct S_ByteBuffer
type S_RemoteMessage (line 409) | struct S_RemoteMessage
type BufferAllocator (line 654) | struct BufferAllocator
type BufferDeleter (line 666) | struct BufferDeleter
function IEInStream (line 692) | inline const IEInStream & operator >> (const IEInStream & stream, NEMemo...
function IEOutStream (line 705) | inline IEOutStream & operator << (IEOutStream & stream, const NEMemory::...
function ELEM_TYPE (line 830) | inline ELEM_TYPE * NEMemory::constructElems(void *begin, uint32_t elemCo...
function ELEM_TYPE (line 852) | inline ELEM_TYPE * NEMemory::constructElemsWithArgument(void *begin, uin...
function BufType (line 978) | BufType* NEMemory::BufferAllocator<BufType>::operator ( ) (uint32_t space)
FILE: framework/areg/base/NESocket.hpp
type sockaddr_in (line 29) | struct sockaddr_in
type NESocket (line 45) | namespace NESocket
function SocketAddress (line 55) | class AREG_API SocketAddress
function UserData (line 219) | class AREG_API UserData
type sockaddr_in (line 635) | struct sockaddr_in
type sockaddr_in (line 642) | struct sockaddr_in
function String (line 655) | inline const String & NESocket::SocketAddress::getHostAddress( void ) const
function String (line 660) | inline const String& NESocket::SocketAddress::getHostName(void) const
FILE: framework/areg/base/NEString.hpp
type NEString (line 34) | namespace NEString
type E_CharDefs (line 49) | enum E_CharDefs : uint16_t
type E_Radix (line 147) | enum class E_Radix : int8_t
function CharType (line 1121) | const CharType * NEString::getLine( CharType * strSource, NEString::Char...
function CharType (line 1157) | const CharType * NEString::getPrintable( CharType * strSource, NEString:...
function CharType (line 1579) | CharType * NEString::removeChar(const CharType chRemove, CharType* strSo...
function CharType (line 1950) | inline CharType NEString::makeLower(CharType ch)
function CharType (line 1957) | inline const CharType* NEString::makeLower(CharType* source)
function CharType (line 1973) | inline CharType NEString::makeUpper(CharType ch)
function CharType (line 1980) | inline const CharType* NEString::makeUpper(CharType* source)
FILE: framework/areg/base/NEUtilities.hpp
class String (line 32) | class String
class IEInStream (line 33) | class IEInStream
class IEOutStream (line 34) | class IEOutStream
type tm (line 36) | struct tm
type NEUtilities (line 46) | namespace NEUtilities
type S_SystemTime (line 320) | struct S_SystemTime
type tm (line 376) | struct tm
type tm (line 423) | struct tm
type tm (line 431) | struct tm
type tm (line 438) | struct tm
type tm (line 445) | struct tm
type tm (line 474) | struct tm
function Duration (line 604) | class AREG_API Duration
function time_t (line 729) | time_t NEUtilities::convToSeconds(const TIME64& microsecs)
function TIME64 (line 744) | inline TIME64 NEUtilities::Duration::start( void )
function TIME64 (line 752) | inline TIME64 NEUtilities::Duration::stop( void )
function TIME64 (line 762) | inline TIME64 NEUtilities::Duration::getStart( void ) const
function TIME64 (line 767) | inline TIME64 NEUtilities::Duration::getStop( void ) const
function ToPtr (line 805) | inline constexpr ToPtr NEUtilities::convToPtr( FromType ptrValue )
function ToNum (line 818) | inline constexpr ToNum NEUtilities::convToNum(FromType value)
FILE: framework/areg/base/Object.hpp
function IEGenericObject (line 35) | class AREG_API Object : public IEGenericObject
type std (line 251) | namespace std
type hash<Object> (line 254) | struct hash<Object>
FILE: framework/areg/base/Process.hpp
function Process (line 38) | class AREG_API Process
function String (line 223) | inline const String & Process::getAppName( void ) const
function String (line 228) | inline const String & Process::getName(void) const
function String (line 233) | inline const String & Process::getExtension(void) const
function String (line 238) | inline const String & Process::getPath(void) const
function String (line 243) | inline const String & Process::getFullPath(void) const
function id_type (line 248) | inline id_type Process::getId(void) const
FILE: framework/areg/base/RemoteMessage.hpp
function SharedBuffer (line 35) | class AREG_API RemoteMessage : public SharedBuffer
function ITEM_ID (line 325) | inline const ITEM_ID & RemoteMessage::getSource( void ) const
function ITEM_ID (line 338) | inline const ITEM_ID & RemoteMessage::getTarget( void ) const
function SequenceNumber (line 377) | inline const SequenceNumber & RemoteMessage::getSequenceNr(void) const
function IEInStream (line 394) | inline const IEInStream & operator >> (const IEInStream & stream, Remote...
function IEOutStream (line 405) | inline IEOutStream & operator << (IEOutStream & stream, const RemoteMess...
FILE: framework/areg/base/RuntimeClassID.hpp
function RuntimeClassID (line 43) | class AREG_API RuntimeClassID
type std (line 252) | namespace std
type hash<RuntimeClassID> (line 255) | struct hash<RuntimeClassID>
function RuntimeClassID (line 269) | inline RuntimeClassID RuntimeClassID::createEmptyClassID( void )
function RuntimeClassID (line 274) | inline RuntimeClassID & RuntimeClassID::operator = ( const RuntimeClassI...
function RuntimeClassID (line 282) | inline RuntimeClassID & RuntimeClassID::operator = ( RuntimeClassID && s...
function RuntimeClassID (line 290) | inline RuntimeClassID & RuntimeClassID::operator = ( const char * src )
function RuntimeClassID (line 296) | inline RuntimeClassID & RuntimeClassID::operator = ( const String & src )
function String (line 342) | inline const String & RuntimeClassID::getName( void ) const
FILE: framework/areg/base/RuntimeObject.hpp
function RuntimeClassID (line 119) | const RuntimeClassID & ClassName::getRuntimeClassId( void ) const ...
function String (line 122) | const String& ClassName::getRuntimeClassName( void ) const ...
function Template (line 156) | Template const RuntimeClassID& ClassName::getRuntimeClassId( void ) cons...
function Template (line 159) | Template const String & ClassName::getRuntimeClassName( void ) const ...
function Template (line 165) | Template bool ClassName::isInstanceOfRuntimeClass( const RuntimeClassID ...
function Template (line 168) | Template bool ClassName::isInstanceOfRuntimeClass( const char * classNam...
function Template (line 170) | Template bool ClassName::isInstanceOfRuntimeClass( const String & classN...
function Template (line 173) | Template bool ClassName::isInstanceOfRuntimeClass( unsigned int classMag...
class AREG_API (line 223) | class AREG_API
function RuntimeObject (line 342) | inline const RuntimeObject* RuntimeObject::runtimeCast( const RuntimeCla...
function RuntimeObject (line 347) | inline const RuntimeObject* RuntimeObject::runtimeCast( const char* clas...
function RuntimeObject (line 352) | inline const RuntimeObject* RuntimeObject::runtimeCast(const String & cl...
function RuntimeObject (line 357) | inline const RuntimeObject* RuntimeObject::runtimeCast( unsigned int cla...
function RuntimeObject (line 362) | inline const RuntimeObject* RuntimeCast(const RuntimeObject * ptr, const...
function RuntimeObject (line 367) | inline const RuntimeObject* RuntimeCast(const RuntimeObject * ptr, const...
function RuntimeObject (line 372) | inline const RuntimeObject* RuntimeCast(const RuntimeObject* ptr, const ...
function RuntimeObject (line 377) | inline const RuntimeObject* RuntimeCast(const RuntimeObject* ptr, unsign...
FILE: framework/areg/base/SharedBuffer.hpp
class AREG_API (line 57) | class AREG_API
function IEInStream (line 367) | inline const IEInStream & operator >> (const IEInStream & stream, Shared...
function IEOutStream (line 378) | inline IEOutStream & operator << (IEOutStream & stream, const SharedBuff...
FILE: framework/areg/base/Socket.hpp
class RemoteMessage (line 31) | class RemoteMessage
function Socket (line 47) | class AREG_API Socket
function SOCKETHANDLE (line 339) | inline SOCKETHANDLE Socket::getHandle( void ) const
FILE: framework/areg/base/SocketAccepted.hpp
function SocketAccepted (line 33) | class AREG_API SocketAccepted : public Socket
FILE: framework/areg/base/SocketClient.hpp
function SocketClient (line 35) | class AREG_API SocketClient : public Socket
FILE: framework/areg/base/SocketServer.hpp
class SocketAccepted (line 27) | class SocketAccepted
function SocketServer (line 46) | class AREG_API SocketServer : public Socket
FILE: framework/areg/base/String.hpp
class IEInStream (line 32) | class IEInStream
class IEOutStream (line 33) | class IEOutStream
class WideString (line 34) | class WideString
class AREG_API (line 50) | class AREG_API
function String (line 91) | String(const String& source) = default;
function String (line 97) | String(String&& source) noexcept = default;
type std (line 693) | namespace std
type hash<String> (line 696) | struct hash<String>
function String (line 768) | inline String& String::operator = (const wchar_t* src)
function String (line 774) | inline String& String::operator = (const wchar_t src)
function String (line 780) | inline String& String::operator = (const String& src)
function String (line 786) | inline String& String::operator = (const std::string& src)
function String (line 792) | inline String& String::operator = (const std::wstring& src)
function String (line 798) | inline String& String::operator = (const std::string_view& src)
function String (line 804) | inline String& String::operator = (const char* src)
function String (line 810) | inline String& String::operator = (String&& src) noexcept
function String (line 816) | inline String& String::operator = (std::string&& src) noexcept
function String (line 822) | inline String& String::operator = (const char src)
function String (line 878) | inline String& String::operator += (const String& src)
function String (line 884) | inline String& String::operator += (const std::string& src)
function String (line 890) | inline String& String::operator += (const std::string_view& src)
function String (line 896) | inline String& String::operator += (const char* src)
function String (line 902) | inline String& String::operator += (const char chSource)
function String (line 908) | inline String& String::operator += (const wchar_t* src)
function String (line 914) | String& String::operator += (const wchar_t chSource)
function String (line 920) | inline String& String::operator += (const std::wstring& src)
function String (line 926) | inline String operator + (const String& lhs, const String& rhs)
function String (line 933) | inline String operator + (const String& lhs, const std::string& rhs)
function String (line 940) | inline String operator + (const String& lhs, const std::string_view& rhs)
function String (line 947) | inline String operator + (const String& lhs, const char* rhs)
function String (line 954) | inline String operator + (const String& lhs, const char rhs)
function String (line 961) | inline String operator + (const std::string& lhs, const String& rhs)
function String (line 968) | inline String operator + (const std::string_view& lhs, const String& rhs)
function String (line 975) | inline String operator + (const char* lhs, const String& rhs)
function String (line 982) | inline String operator + (const char lhs, const String& rhs)
function String (line 989) | inline String operator + (const String& lhs, const wchar_t* rhs)
function String (line 996) | inline String operator + (const wchar_t* lhs, const String& rhs)
function IEInStream (line 1003) | inline const IEInStream& operator >> (const IEInStream& stream, String& ...
function IEOutStream (line 1009) | inline IEOutStream& operator << (IEOutStream& stream, const String& output)
function String (line 1050) | inline String & String::fromInt32( int32_t value, NEString::eRadix radix...
function String (line 1056) | inline String & String::fromUInt32( uint32_t value, NEString::eRadix rad...
function String (line 1062) | inline String & String::fromInt64( int64_t value, NEString::eRadix radix...
function String (line 1068) | inline String & String::fromUInt64( uint64_t value, NEString::eRadix rad...
function String (line 1074) | inline String & String::fromFloat( float value )
function String (line 1080) | inline String & String::fromDouble( double value )
function String (line 1086) | inline String & String::fromBool( bool value )
function String (line 1092) | inline String& String::assign(const char* source, NEString::CharCount co...
function String (line 1098) | inline String& String::assign(const std::string& source, NEString::CharP...
function String (line 1104) | inline String& String::assign(const std::string_view& source, NEString::...
function String (line 1110) | inline String& String::assign(const String& source, NEString::CharPos po...
function String (line 1116) | inline String & String::assign(const char ch)
function String (line 1122) | inline String& String::append(const char* source, NEString::CharCount co...
function String (line 1128) | inline String& String::append(const std::string& source, NEString::CharP...
function String (line 1134) | inline String& String::append(const std::string_view& source, NEString::...
function String (line 1140) | inline String& String::append(const String& source, NEString::CharPos po...
function String (line 1146) | inline String & String::append(const char ch)
FILE: framework/areg/base/SyncObjects.hpp
class IEResourceLock (line 59) | class IEResourceLock
class Mutex (line 60) | class Mutex
class Semaphore (line 61) | class Semaphore
class CriticalSection (line 62) | class CriticalSection
class SpinLock (line 63) | class SpinLock
class ResourceLock (line 64) | class ResourceLock
class NolockSyncObject (line 65) | class NolockSyncObject
class SyncEvent (line 66) | class SyncEvent
class SyncTimer (line 67) | class SyncTimer
class Lock (line 69) | class Lock
class MultiLock (line 70) | class MultiLock
class Wait (line 71) | class Wait
function IEResourceLock (line 76) | class AREG_API IEResourceLock : public IESyncObject
function IEResourceLock (line 129) | class AREG_API Mutex : public IEResourceLock
function IESyncObject (line 269) | class AREG_API SyncEvent : public IESyncObject
function IEResourceLock (line 421) | class AREG_API Semaphore: public IEResourceLock
function CriticalSection (line 572) | class AREG_API CriticalSection : public IEResourceLock
function IEResourceLock (line 684) | class AREG_API SpinLock: public IEResourceLock
function IEResourceLock (line 773) | class AREG_API ResourceLock : public IEResourceLock
function NolockSyncObject (line 879) | class AREG_API NolockSyncObject : public IEResourceLock
function IESyncObject (line 950) | class AREG_API SyncTimer: public IESyncObject
function Lock (line 1138) | class AREG_API Lock
function MultiLock (line 1224) | class AREG_API MultiLock
function Wait (line 1391) | class AREG_API Wait
function id_type (line 1587) | inline id_type Mutex::getOwnerThreadId( void ) const
FILE: framework/areg/base/TEArrayList.hpp
class TEArrayList (line 56) | class TEArrayList : private Constless<std::vector<VALUE>>
function VALUE (line 564) | inline VALUE& TEArrayList< VALUE >::operator [] (uint32_t index)
function VALUE (line 571) | inline const VALUE & TEArrayList< VALUE >::operator [] (uint32_t index) ...
function VALUE (line 683) | inline const VALUE & TEArrayList< VALUE >::getAt(uint32_t index) const
function VALUE (line 690) | inline VALUE& TEArrayList< VALUE >::getAt(uint32_t index)
function VALUE (line 737) | inline const VALUE & TEArrayList< VALUE >::valueAtPosition( const uint32...
function VALUE (line 744) | inline VALUE& TEArrayList< VALUE >::valueAtPosition( uint32_t atPosition )
function VALUE (line 751) | inline const VALUE* TEArrayList< VALUE >::getValues( void ) const
function VALUE (line 962) | inline VALUE TEArrayList< VALUE >::removePosition(uint32_t index)
function VALUE (line 1060) | inline const VALUE & TEArrayList<VALUE>::firstEntry( void ) const
function VALUE (line 1067) | inline VALUE & TEArrayList<VALUE>::firstEntry( void )
function VALUE (line 1074) | inline const VALUE & TEArrayList<VALUE>::lastEntry( void ) const
function VALUE (line 1081) | inline VALUE & TEArrayList<VALUE>::lastEntry( void )
function IEInStream (line 1132) | const IEInStream & operator >> ( const IEInStream & stream, TEArrayList<...
function IEOutStream (line 1147) | IEOutStream & operator << ( IEOutStream& stream, const TEArrayList< V >&...
FILE: framework/areg/base/TEFixedArray.hpp
class TEFixedArray (line 71) | class TEFixedArray
function VALUE (line 383) | inline VALUE& TEFixedArray<VALUE>::operator [] (uint32_t index)
function VALUE (line 390) | inline const VALUE& TEFixedArray<VALUE>::operator [] (uint32_t index) const
function VALUE (line 461) | inline const VALUE& TEFixedArray<VALUE>::getAt(uint32_t index ) const
function VALUE (line 468) | inline VALUE & TEFixedArray<VALUE>::getAt(uint32_t index )
function VALUE (line 489) | inline const VALUE & TEFixedArray< VALUE >::valueAtPosition( const uint3...
function VALUE (line 496) | inline VALUE& TEFixedArray< VALUE >::valueAtPosition( uint32_t atPosition )
function VALUE (line 503) | inline const VALUE* TEFixedArray<VALUE>::getValues( void ) const
function VALUE (line 569) | inline const VALUE & TEFixedArray<VALUE>::firstEntry( void ) const
function VALUE (line 576) | inline VALUE & TEFixedArray<VALUE>::firstEntry( void )
function VALUE (line 583) | inline const VALUE & TEFixedArray<VALUE>::lastEntry( void ) const
function VALUE (line 590) | inline VALUE & TEFixedArray<VALUE>::lastEntry( void )
function IEInStream (line 625) | const IEInStream & operator >> ( const IEInStream & stream, TEFixedArray...
function IEOutStream (line 641) | IEOutStream & operator << ( IEOutStream & stream, const TEFixedArray<V> ...
FILE: framework/areg/base/TEHashMap.hpp
class TEHashMap (line 79) | class TEHashMap : protected Constless<std::unordered_map<KEY, VALUE>>
method TEHashMap (line 103) | TEHashMap( const TEHashMap<KEY, VALUE> & src ) = default;
method TEHashMap (line 109) | TEHashMap( TEHashMap<KEY, VALUE> && src ) noexcept = default;
function VALUE (line 584) | inline VALUE & TEHashMap<KEY, VALUE>::operator [] (const KEY& Key)
function VALUE (line 590) | inline const VALUE & TEHashMap<KEY, VALUE>::operator [] ( const KEY & Ke...
function VALUE (line 697) | inline VALUE & TEHashMap<KEY, VALUE>::getAt( const KEY & Key )
function VALUE (line 703) | inline const VALUE & TEHashMap<KEY, VALUE>::getAt(const KEY & Key) const
function KEY (line 940) | inline const KEY & TEHashMap<KEY, VALUE>::keyAtPosition(const TEHashMap<...
function KEY (line 947) | inline KEY& TEHashMap<KEY, VALUE>::keyAtPosition(TEHashMap<KEY, VALUE>::...
function VALUE (line 954) | inline const VALUE & TEHashMap<KEY, VALUE>::valueAtPosition(const TEHash...
function VALUE (line 961) | inline VALUE& TEHashMap<KEY, VALUE>::valueAtPosition(TEHashMap<KEY, VALU...
function IEInStream (line 1015) | inline const IEInStream & operator >> ( const IEInStream & stream, TEHas...
function IEOutStream (line 1035) | inline IEOutStream & operator << ( IEOutStream & stream, const TEHashMap...
FILE: framework/areg/base/TELinkedList.hpp
class TELinkedList (line 51) | class TELinkedList : private Constless<std::list<VALUE>>
method TELinkedList (line 66) | TELinkedList( void ) = default;
method TELinkedList (line 72) | TELinkedList( const TELinkedList<VALUE> & src ) = default;
method TELinkedList (line 78) | TELinkedList( TELinkedList<VALUE> && src ) noexcept = default;
function VALUE (line 685) | inline VALUE & TELinkedList<VALUE>::operator [](uint32_t atIndex )
function VALUE (line 691) | inline VALUE & TELinkedList<VALUE>::operator []( LISTPOS atPosition )
function VALUE (line 697) | inline const VALUE & TELinkedList<VALUE>::operator [](uint32_t atIndex )...
function VALUE (line 703) | inline const VALUE & TELinkedList<VALUE>::operator [] ( const LISTPOS at...
function VALUE (line 791) | inline const VALUE & TELinkedList<VALUE>::firstEntry( void ) const
function VALUE (line 798) | inline VALUE& TELinkedList<VALUE>::firstEntry(void)
function VALUE (line 805) | inline const VALUE & TELinkedList<VALUE>::lastEntry( void ) const
function VALUE (line 812) | inline VALUE& TELinkedList<VALUE>::lastEntry(void)
function VALUE (line 819) | inline const VALUE & TELinkedList<VALUE>::getNext(LISTPOS& IN OUT in_out...
function VALUE (line 825) | inline VALUE& TELinkedList<VALUE>::getNext(LISTPOS& IN OUT in_out_NextPo...
function VALUE (line 839) | inline const VALUE & TELinkedList<VALUE>::getPrev(LISTPOS& IN OUT in_out...
function VALUE (line 848) | inline VALUE & TELinkedList<VALUE>::getPrev(LISTPOS& IN OUT in_out_PrevP...
function VALUE (line 864) | inline const VALUE & TELinkedList<VALUE>::valueAtPosition( const LISTPOS...
function VALUE (line 871) | inline VALUE & TELinkedList<VALUE>::valueAtPosition(LISTPOS atPosition)
function VALUE (line 878) | inline const VALUE & TELinkedList<VALUE>::getAt(uint32_t index) const
function VALUE (line 887) | inline VALUE & TELinkedList<VALUE>::getAt(uint32_t index)
function VALUE (line 896) | inline const VALUE& TELinkedList<VALUE>::getAt(const LISTPOS atPosition)...
function VALUE (line 902) | inline VALUE& TELinkedList<VALUE>::getAt(LISTPOS atPosition)
function const (line 908) | inline bool TELinkedList<VALUE>::nextEntry(LISTPOS & IN OUT in_out_NextP...
function const (line 923) | inline bool TELinkedList<VALUE>::prevEntry(LISTPOS& IN OUT in_out_PrevPo...
function VALUE (line 1077) | inline VALUE TELinkedList<VALUE>::popFirst(void)
function VALUE (line 1086) | inline VALUE TELinkedList<VALUE>::popLast(void)
function IEInStream (line 1308) | inline const IEInStream & operator >> ( const IEInStream & stream, TELin...
function IEOutStream (line 1324) | inline IEOutStream & operator << ( IEOutStream & stream, const TELinkedL...
FILE: framework/areg/base/TEMap.hpp
class TEMap (line 72) | class TEMap : protected Constless< std::map<KEY, VALUE> >
method TEMap (line 90) | TEMap( void ) = default;
method TEMap (line 101) | TEMap( const TEMap<KEY, VALUE> & src ) = default;
method TEMap (line 107) | TEMap( TEMap<KEY, VALUE> && src ) noexcept = default;
function VALUE (line 564) | inline VALUE & TEMap<KEY, VALUE>::operator [] (const KEY& Key)
function VALUE (line 570) | inline const VALUE & TEMap<KEY, VALUE>::operator [] ( const KEY & Key ) ...
function VALUE (line 897) | inline VALUE & TEMap<KEY, VALUE>::getAt( const KEY & Key )
function VALUE (line 903) | inline const VALUE & TEMap<KEY, VALUE>::getAt(const KEY & Key) const
function KEY (line 923) | inline const KEY & TEMap<KEY, VALUE>::keyAtPosition(const TEMap<KEY, VAL...
function KEY (line 930) | inline KEY& TEMap<KEY, VALUE>::keyAtPosition(TEMap<KEY, VALUE>::MAPPOS a...
function VALUE (line 937) | inline const VALUE & TEMap<KEY, VALUE>::valueAtPosition(const TEMap<KEY,...
function VALUE (line 944) | inline VALUE& TEMap<KEY, VALUE>::valueAtPosition(TEMap<KEY, VALUE>::MAPP...
function IEInStream (line 992) | inline const IEInStream & operator >> ( const IEInStream & stream, TEMap...
function IEOutStream (line 1010) | inline IEOutStream & operator << ( IEOutStream & stream, const TEMap<K, ...
FILE: framework/areg/base/TEProperty.hpp
class TEProperty (line 31) | class TEProperty
method TEProperty (line 40) | TEProperty( void ) = default;
method TEProperty (line 41) | TEProperty(const TEProperty<KEY, VALUE>& src) = default;
method TEProperty (line 42) | TEProperty(TEProperty<KEY, VALUE>&& src) noexcept = default;
function KEY (line 233) | inline const KEY& TEProperty<KEY, VALUE>::getKey(void) const
function KEY (line 239) | inline KEY& TEProperty<KEY, VALUE>::getKey(void)
function VALUE (line 257) | inline const VALUE& TEProperty<KEY, VALUE>::getValue(void) const
function VALUE (line 263) | inline VALUE& TEProperty<KEY, VALUE>::getValue(void)
function IEInStream (line 273) | inline const IEInStream& operator >> (const IEInStream& stream, TEProper...
function IEOutStream (line 283) | inline IEOutStream& operator << (IEOutStream& stream, const TEProperty<K...
FILE: framework/areg/base/TEResourceListMap.hpp
class TEResourceListMap (line 34) | class TEResourceListMap
method TEResourceListMap (line 263) | TEResourceListMap( void ) = delete;
method TEResourceListMap (line 264) | TEResourceListMap( const TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJE...
method TEResourceListMap (line 266) | TEResourceListMap( TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJECT, Re...
class TELockResourceListMap (line 35) | class TELockResourceListMap
class TENolockResourceListMap (line 36) | class TENolockResourceListMap
class TEResourceListMap (line 83) | class TEResourceListMap : protected HashMap
method TEResourceListMap (line 263) | TEResourceListMap( void ) = delete;
method TEResourceListMap (line 264) | TEResourceListMap( const TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJE...
method TEResourceListMap (line 266) | TEResourceListMap( TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJECT, Re...
class TENolockResourceListMap (line 292) | class TENolockResourceListMap : public TEResourceListMap<RESOURCE_KEY, ...
class TELockResourceListMap (line 344) | class TELockResourceListMap : public TEResourceListMap<RESOURCE_KEY, ...
function ResourceList (line 475) | inline ResourceList & TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJECT, R...
function ResourceList (line 487) | inline ResourceList TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJECT, Res...
function ResourceList (line 501) | inline ResourceList * TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJECT, R...
function ResourceList (line 514) | inline const ResourceList * TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJ...
function ResourceList (line 527) | inline ResourceList * TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJECT, R...
function ResourceList (line 540) | inline const ResourceList * TEResourceListMap<RESOURCE_KEY, RESOURCE_OBJ...
FILE: framework/areg/base/TEResourceMap.hpp
class TEResourceMap (line 32) | class TEResourceMap
method TEResourceMap (line 249) | TEResourceMap( void ) = delete;
method TEResourceMap (line 250) | TEResourceMap( const TEResourceMap<RESOURCE_KEY, RESOURCE_OBJECT, Hash...
method TEResourceMap (line 252) | TEResourceMap( TEResourceMap<RESOURCE_KEY, RESOURCE_OBJECT, HashMap, D...
class TELockResourceMap (line 33) | class TELockResourceMap
class TENolockResourceMap (line 34) | class TENolockResourceMap
class TEResourceMap (line 78) | class TEResourceMap : protected HashMap
method TEResourceMap (line 249) | TEResourceMap( void ) = delete;
method TEResourceMap (line 250) | TEResourceMap( const TEResourceMap<RESOURCE_KEY, RESOURCE_OBJECT, Hash...
method TEResourceMap (line 252) | TEResourceMap( TEResourceMap<RESOURCE_KEY, RESOURCE_OBJECT, HashMap, D...
class TELockResourceMap (line 273) | class TELockResourceMap : public TEResourceMap<RESOURCE_KEY, RESOURCE...
class TENolockResourceMap (line 320) | class TENolockResourceMap : public TEResourceMap<RESOURCE_KEY, RESOURCE...
function RESOURCE_OBJECT (line 375) | inline RESOURCE_OBJECT TEResourceMap<RESOURCE_KEY, RESOURCE_OBJECT, Hash...
function RESOURCE_OBJECT (line 385) | inline RESOURCE_OBJECT TEResourceMap<RESOURCE_KEY, RESOURCE_OBJECT, Hash...
function RESOURCE_OBJECT (line 487) | inline RESOURCE_OBJECT TEResourceMap<RESOURCE_KEY, RESOURCE_OBJECT, Hash...
function RESOURCE_OBJECT (line 502) | inline RESOURCE_OBJECT TEResourceMap<RESOURCE_KEY, RESOURCE_OBJECT, Hash...
FILE: framework/areg/base/TERingStack.hpp
class TERingStack (line 35) | class TERingStack
method TERingStack (line 447) | TERingStack( void ) = delete;
method TERingStack (line 448) | TERingStack( const TERingStack<VALUE> & /*src*/ ) = delete;
method TERingStack (line 449) | TERingStack( TERingStack<VALUE> && /*src*/ ) noexcept = delete;
class TELockRingStack (line 36) | class TELockRingStack
class TENolockRingStack (line 37) | class TENolockRingStack
class TERingStack (line 67) | class TERingStack
method TERingStack (line 447) | TERingStack( void ) = delete;
method TERingStack (line 448) | TERingStack( const TERingStack<VALUE> & /*src*/ ) = delete;
method TERingStack (line 449) | TERingStack( TERingStack<VALUE> && /*src*/ ) noexcept = delete;
class TELockRingStack (line 466) | class TELockRingStack : public TERingStack<VALUE>
class TENolockRingStack (line 558) | class TENolockRingStack : public TERingStack<VALUE>
function VALUE (line 744) | const VALUE& TERingStack<VALUE>::operator [] (uint32_t index) const
function VALUE (line 750) | VALUE& TERingStack<VALUE>::operator [] (uint32_t index)
function VALUE (line 809) | const VALUE& TERingStack<VALUE>::getAt(uint32_t index) const
function VALUE (line 819) | VALUE& TERingStack<VALUE>::getAt(uint32_t index)
function VALUE (line 964) | VALUE TERingStack<VALUE>::pop( void )
function IEInStream (line 1357) | const IEInStream & operator >> ( const IEInStream & stream, TERingStack<...
function IEOutStream (line 1382) | IEOutStream & operator << ( IEOutStream & stream, const TERingStack<V> &...
FILE: framework/areg/base/TERuntimeResourceMap.hpp
class TERuntimeHashMap (line 38) | class TERuntimeHashMap
method TERuntimeHashMap (line 64) | TERuntimeHashMap( void ) = default;
method TERuntimeHashMap (line 74) | TERuntimeHashMap(const TERuntimeHashMap<RUNTIME_DELEGATE> & /*src*/) =...
method TERuntimeHashMap (line 76) | TERuntimeHashMap( TERuntimeHashMap<RUNTIME_DELEGATE> && /*src*/ ) noex...
class TERuntimeResourceMap (line 40) | class TERuntimeResourceMap
method TERuntimeResourceMap (line 117) | TERuntimeResourceMap( void ) = delete;
method TERuntimeResourceMap (line 118) | TERuntimeResourceMap(const TERuntimeResourceMap<RUNTIME_DELEGATE, Dele...
method TERuntimeResourceMap (line 120) | TERuntimeResourceMap( TERuntimeResourceMap<RUNTIME_DELEGATE, Deleter> ...
class TENolockRuntimeResourceMap (line 41) | class TENolockRuntimeResourceMap
method TENolockRuntimeResourceMap (line 166) | TENolockRuntimeResourceMap(const TENolockRuntimeResourceMap<RUNTIME_DE...
method TENolockRuntimeResourceMap (line 168) | TENolockRuntimeResourceMap( TENolockRuntimeResourceMap<RUNTIME_DELEGAT...
class TELockRuntimeResourceMap (line 42) | class TELockRuntimeResourceMap
method TELockRuntimeResourceMap (line 212) | TELockRuntimeResourceMap(const TELockRuntimeResourceMap<RUNTIME_DELEGA...
method TELockRuntimeResourceMap (line 214) | TELockRuntimeResourceMap( TELockRuntimeResourceMap<RUNTIME_DELEGATE, D...
class TERuntimeHashMap (line 55) | class TERuntimeHashMap : public TEHashMap<RuntimeClassID, RUNTIME_DELEGATE>
method TERuntimeHashMap (line 64) | TERuntimeHashMap( void ) = default;
method TERuntimeHashMap (line 74) | TERuntimeHashMap(const TERuntimeHashMap<RUNTIME_DELEGATE> & /*src*/) =...
method TERuntimeHashMap (line 76) | TERuntimeHashMap( TERuntimeHashMap<RUNTIME_DELEGATE> && /*src*/ ) noex...
class TERuntimeResourceMap (line 95) | class TERuntimeResourceMap : public TEResourceMap<RuntimeClassID, RUNTIM...
method TERuntimeResourceMap (line 117) | TERuntimeResourceMap( void ) = delete;
method TERuntimeResourceMap (line 118) | TERuntimeResourceMap(const TERuntimeResourceMap<RUNTIME_DELEGATE, Dele...
method TERuntimeResourceMap (line 120) | TERuntimeResourceMap( TERuntimeResourceMap<RUNTIME_DELEGATE, Deleter> ...
class TENolockRuntimeResourceMap (line 137) | class TENolockRuntimeResourceMap : public TERuntimeResourceMap<RUNTIME...
method TENolockRuntimeResourceMap (line 166) | TENolockRuntimeResourceMap(const TENolockRuntimeResourceMap<RUNTIME_DE...
method TENolockRuntimeResourceMap (line 168) | TENolockRuntimeResourceMap( TENolockRuntimeResourceMap<RUNTIME_DELEGAT...
class TELockRuntimeResourceMap (line 184) | class TELockRuntimeResourceMap : public TERuntimeResourceMap<RUNTIME_D...
method TELockRuntimeResourceMap (line 212) | TELockRuntimeResourceMap(const TELockRuntimeResourceMap<RUNTIME_DELEGA...
method TELockRuntimeResourceMap (line 214) | TELockRuntimeResourceMap( TELockRuntimeResourceMap<RUNTIME_DELEGATE, D...
FILE: framework/areg/base/TESortedLinkedList.hpp
class TESortedLinkedList (line 53) | class TESortedLinkedList : private Constless<std::list<VALUE>>
method TESortedLinkedList (line 74) | TESortedLinkedList(const TESortedLinkedList<VALUE>& src) = default;
method TESortedLinkedList (line 80) | TESortedLinkedList(TESortedLinkedList<VALUE>&& src) noexcept = default;
function VALUE (line 652) | inline const VALUE& TESortedLinkedList<VALUE>::operator [](uint32_t atIn...
function VALUE (line 658) | inline const VALUE& TESortedLinkedList<VALUE>::operator [] (const TESort...
function VALUE (line 758) | inline const VALUE& TESortedLinkedList<VALUE>::firstEntry(void) const
function VALUE (line 765) | inline const VALUE& TESortedLinkedList<VALUE>::lastEntry(void) const
function VALUE (line 772) | inline const VALUE& TESortedLinkedList<VALUE>::getNext(LISTPOS& IN OUT i...
function VALUE (line 785) | inline const VALUE & TESortedLinkedList<VALUE>::getPrev(LISTPOS & IN OUT...
function VALUE (line 804) | inline const VALUE& TESortedLinkedList<VALUE>::valueAtPosition(const TES...
function VALUE (line 811) | inline const VALUE& TESortedLinkedList<VALUE>::getAt(uint32_t index) const
function VALUE (line 820) | inline const VALUE& TESortedLinkedList<VALUE>::getAt(const TESortedLinke...
function VALUE (line 1013) | inline VALUE TESortedLinkedList<VALUE>::popFirst(void)
function VALUE (line 1022) | inline VALUE TESortedLinkedList<VALUE>::popLast(void)
function IEInStream (line 1215) | const IEInStream& operator >> (const IEInStream& stream, TESortedLinkedL...
function IEOutStream (line 1235) | IEOutStream& operator << (IEOutStream& stream, const TESortedLinkedList<...
FILE: framework/areg/base/TEStack.hpp
class TEStack (line 37) | class TEStack
method TEStack (line 435) | TEStack( void ) = delete;
method TEStack (line 436) | TEStack( const TEStack<VALUE> & /* source */ ) = delete;
method TEStack (line 437) | TEStack( TEStack<VALUE> && /* source */ ) = delete;
class TELockStack (line 38) | class TELockStack
class TENolockStack (line 39) | class TENolockStack
class TEStack (line 56) | class TEStack : private Constless<std::deque<VALUE>>
method TEStack (line 435) | TEStack( void ) = delete;
method TEStack (line 436) | TEStack( const TEStack<VALUE> & /* source */ ) = delete;
method TEStack (line 437) | TEStack( TEStack<VALUE> && /* source */ ) = delete;
class TELockStack (line 449) | class TELockStack : public TEStack<VALUE>
class TENolockStack (line 552) | class TENolockStack : public TEStack<VALUE>
function VALUE (line 717) | inline const VALUE& TEStack<VALUE>::operator [] (STACKPOS atPosition) const
function VALUE (line 724) | inline VALUE& TEStack<VALUE>::operator [] (STACKPOS atPosition)
function VALUE (line 867) | inline const VALUE & TEStack<VALUE>::firstEntry( void ) const
function VALUE (line 874) | inline const VALUE & TEStack<VALUE>::lastEntry( void ) const
function VALUE (line 933) | VALUE TEStack<VALUE>::popFirst( void )
function VALUE (line 967) | inline const VALUE & TEStack<VALUE>::getAt( const STACKPOS pos ) const
function VALUE (line 976) | inline VALUE & TEStack<VALUE>::getAt( STACKPOS pos )
function VALUE (line 985) | inline const VALUE & TEStack<VALUE>::valueAtPosition( const STACKPOS atP...
function VALUE (line 994) | inline VALUE & TEStack<VALUE>::valueAtPosition( STACKPOS atPosition )
function IEInStream (line 1188) | const IEInStream & operator >> ( const IEInStream & stream, TEStack<V> &...
function IEOutStream (line 1205) | IEOutStream & operator << ( IEOutStream & stream, const TEStack<V> & out...
FILE: framework/areg/base/TEString.hpp
class IEInStream (line 34) | class IEInStream
class IEOutStream (line 35) | class IEOutStream
class TEString (line 53) | class TEString
function CharType (line 1316) | inline const CharType TEString<CharType>::operator[ ](int index) const
function CharType (line 1680) | inline const CharType* TEString<CharType>::getBuffer(NEString::CharPos s...
function CharType (line 1688) | inline CharType* TEString<CharType>::getBuffer(NEString::CharPos startAt...
function CharType (line 1696) | inline const CharType* TEString<CharType>::getString(void) const
function const (line 1792) | void TEString<CharType>::getWord(TEString<CharType>& OUT word, NEString:...
function CharType (line 2576) | inline CharType TEString<CharType>::getAt(NEString::CharPos atPos) const
function const (line 2620) | inline void TEString<CharType>::trimLeft(TEString<CharType>& OUT strResu...
function const (line 2626) | inline void TEString<CharType>::trimLeft(std::basic_string<CharType>& OU...
function const (line 2671) | inline void TEString<CharType>::trimRight(TEString<CharType>& OUT strRes...
function const (line 2677) | inline void TEString<CharType>::trimRight(std::basic_string<CharType>& O...
function const (line 2740) | inline void TEString<CharType>::trimAll(TEString<CharType>& OUT strResul...
function const (line 2746) | inline void TEString<CharType>::trimAll(std::basic_string<CharType>& OUT...
function const (line 2803) | inline NEString::CharPos TEString<CharType>::readLine(TEString<CharType>...
function const (line 2809) | NEString::CharPos TEString<CharType>::readLine(std::basic_string<CharTyp...
function IEInStream (line 3313) | inline const IEInStream& operator >> (const IEInStream& stream, TEString...
function IEOutStream (line 3319) | inline IEOutStream& operator << (IEOutStream& stream, const TEString<CT>...
FILE: framework/areg/base/TETemplateBase.hpp
class TEResourceMapImpl (line 39) | class TEResourceMapImpl
method implCleanResource (line 45) | inline void implCleanResource( RESOURCE_KEY & /*Key*/, RESOURCE_OBJECT...
class TEResourceListMapImpl (line 61) | class TEResourceListMapImpl
method implCleanResourceList (line 71) | inline void implCleanResourceList( RESOURCE_KEY & Key, ResourceList & ...
method implAddResource (line 79) | inline void implAddResource( ResourceList & List, RESOURCE_OBJECT Reso...
method implRemoveResource (line 87) | inline bool implRemoveResource( ResourceList & List, RESOURCE_OBJECT R...
class Constless (line 101) | class Constless
method iter (line 110) | inline const typename Container::iterator iter(const Container& cont, ...
method iter (line 115) | inline typename Container::iterator iter(Container& cont, typename Con...
method iter (line 120) | inline typename Container::iterator iter(Container& cont, typename Con...
FILE: framework/areg/base/Thread.hpp
class ThreadLocalStorage (line 39) | class ThreadLocalStorage
class IEThreadConsumer (line 40) | class IEThreadConsumer
class IEInStream (line 41) | class IEInStream
class String (line 42) | class String
function RuntimeObject (line 62) | class AREG_API Thread : public RuntimeObject
function Thread (line 703) | inline Thread* Thread::_findThreadByHandle(THREADHANDLE threadHandle)
function THREADHANDLE (line 708) | inline THREADHANDLE Thread::_findThreadHandleById( id_type threadId)
function id_type (line 731) | inline id_type Thread::getId( void ) const
function String (line 737) | inline const String& Thread::getName( void ) const
function ThreadAddress (line 743) | inline const ThreadAddress & Thread::getAddress( void ) const
function Thread (line 749) | inline Thread* Thread::findThreadByName(const String & threadName)
function Thread (line 754) | inline Thread* Thread::findThreadById( id_type threadId)
function Thread (line 759) | inline Thread* Thread::findThreadByAddress(const ThreadAddress& threadAd...
function ThreadAddress (line 764) | inline const ThreadAddress & Thread::findThreadAddressById( id_type thre...
function ThreadAddress (line 770) | inline const ThreadAddress& Thread::findThreadAddressByName(const String...
function Thread (line 782) | inline Thread * Thread::getCurrentThread( void )
function String (line 787) | inline const String & Thread::getCurrentThreadName( void )
function ThreadAddress (line 792) | inline const ThreadAddress & Thread::getCurrentThreadAddress( void )
function id_type (line 818) | inline id_type Thread::getCurrentThreadId( void )
FILE: framework/areg/base/ThreadAddress.hpp
class IEInStream (line 29) | class IEInStream
function ThreadAddress (line 39) | class AREG_API ThreadAddress
type std (line 233) | namespace std
type hash<ThreadAddress> (line 235) | struct hash<ThreadAddress>
function ThreadAddress (line 248) | inline ThreadAddress & ThreadAddress::operator = ( const ThreadAddress &...
function ThreadAddress (line 256) | inline ThreadAddress & ThreadAddress::operator = ( ThreadAddress && src ...
function String (line 268) | inline const String & ThreadAddress::getThreadName( void ) const
function String (line 298) | inline String ThreadAddress::convToString(void) const
function IEInStream (line 306) | inline const IEInStream & operator >> (const IEInStream & stream, Thread...
function IEOutStream (line 311) | inline IEOutStream & operator << (IEOutStream & stream, const ThreadAddr...
FILE: framework/areg/base/ThreadLocalStorage.hpp
class Thread (line 31) | class Thread
function ThreadLocalStorage (line 45) | class AREG_API ThreadLocalStorage
function Thread (line 233) | inline Thread & ThreadLocalStorage::getOwnerThread( void ) const
FILE: framework/areg/base/Version.hpp
class IEInStream (line 31) | class IEInStream
class IEOutStream (line 32) | class IEOutStream
function Version (line 42) | class AREG_API Version
function Version (line 271) | inline Version & Version::operator = ( const char * version )
function Version (line 276) | inline Version & Version::operator = ( const String & version )
function IEInStream (line 298) | inline const IEInStream & operator >> (const IEInStream & stream, Versio...
function IEOutStream (line 312) | inline IEOutStream & operator << (IEOutStream& stream, const Version& ou...
FILE: framework/areg/base/WideString.hpp
class IEInStream (line 32) | class IEInStream
class IEOutStream (line 33) | class IEOutStream
class String (line 34) | class String
class AREG_API (line 50) | class AREG_API
function WideString (line 91) | WideString(const WideString& source) = default;
function WideString (line 97) | WideString(WideString&& source) noexcept = default;
type std (line 693) | namespace std
type hash<WideString> (line 696) | struct hash<WideString>
function WideString (line 768) | inline WideString& WideString::operator = (const char* src)
function WideString (line 774) | inline WideString& WideString::operator = (const char src)
function WideString (line 780) | inline WideString& WideString::operator = (const WideString& src)
function WideString (line 786) | inline WideString& WideString::operator = (const std::wstring& src)
function WideString (line 792) | inline WideString& WideString::operator = (const std::string& src)
function WideString (line 798) | inline WideString& WideString::operator = (const std::wstring_view& src)
function WideString (line 804) | inline WideString& WideString::operator = (const wchar_t* src)
function WideString (line 810) | inline WideString& WideString::operator = (WideString&& src) noexcept
function WideString (line 816) | inline WideString& WideString::operator = (std::wstring&& src) noexcept
function WideString (line 822) | inline WideString& WideString::operator = (const wchar_t src)
function WideString (line 878) | inline WideString& WideString::operator += (const WideString& src)
function WideString (line 884) | inline WideString& WideString::operator += (const std::wstring& src)
function WideString (line 890) | inline WideString& WideString::operator += (const std::wstring_view& src)
function WideString (line 896) | inline WideString& WideString::operator += (const wchar_t* src)
function WideString (line 902) | inline WideString& WideString::operator += (const wchar_t chSource)
function WideString (line 908) | inline WideString& WideString::operator += (const char* src)
function WideString (line 914) | WideString& WideString::operator += (const char chSource)
function WideString (line 920) | inline WideString& WideString::operator += (const std::string& src)
function WideString (line 926) | inline WideString operator + (const WideString& lhs, const WideString& rhs)
function WideString (line 933) | inline WideString operator + (const WideString& lhs, const std::wstring&...
function WideString (line 940) | inline WideString operator + (const WideString& lhs, const std::wstring_...
function WideString (line 947) | inline WideString operator + (const WideString& lhs, const wchar_t* rhs)
function WideString (line 954) | inline WideString operator + (const WideString& lhs, const wchar_t rhs)
function WideString (line 961) | inline WideString operator + (const std::wstring& lhs, const WideString&...
function WideString (line 968) | inline WideString operator + (const std::wstring_view& lhs, const WideSt...
function WideString (line 975) | inline WideString operator + (const wchar_t* lhs, const WideString& rhs)
function WideString (line 982) | inline WideString operator + (const wchar_t lhs, const WideString& rhs)
function WideString (line 989) | inline WideString operator + (const WideString& lhs, const char* rhs)
function WideString (line 996) | inline WideString operator + (const char* lhs, const WideString& rhs)
function IEInStream (line 1003) | inline const IEInStream& operator >> (const IEInStream& stream, WideStri...
function IEOutStream (line 1009) | inline IEOutStream& operator << (IEOutStream& stream, const WideString& ...
function WideString (line 1050) | inline WideString & WideString::fromInt32( int32_t value, NEString::eRad...
function WideString (line 1056) | inline WideString & WideString::fromUInt32( uint32_t value, NEString::eR...
function WideString (line 1062) | inline WideString & WideString::fromInt64( int64_t value, NEString::eRad...
function WideString (line 1068) | inline WideString & WideString::fromUInt64( uint64_t value, NEString::eR...
function WideString (line 1074) | inline WideString & WideString::fromFloat( float value )
function WideString (line 1080) | inline WideString & WideString::fromDouble( double value )
function WideString (line 1086) | inline WideString & WideString::fromBool( bool value )
function WideString (line 1092) | inline WideString& WideString::assign(const wchar_t* source, NEString::C...
function WideString (line 1098) | inline WideString& WideString::assign(const std::wstring& source, NEStri...
function WideString (line 1104) | inline WideString& WideString::assign(const std::wstring_view& source, N...
function WideString (line 1110) | inline WideString& WideString::assign(const WideString& source, NEString...
function WideString (line 1116) | inline WideString & WideString::assign(const wchar_t ch)
function WideString (line 1122) | inline WideString& WideString::append(const wchar_t* source, NEString::C...
function WideString (line 1128) | inline WideString& WideString::append(const std::wstring& source, NEStri...
function WideString (line 1134) | inline WideString& WideString::append(const std::wstring_view& source, N...
function WideString (line 1140) | inline WideString& WideString::append(const WideString& source, NEString...
function WideString (line 1146) | inline WideString & WideString::append(const wchar_t ch)
FILE: framework/areg/base/private/BufferPosition.hpp
class IEByteBuffer (line 28) | class IEByteBuffer
function BufferPosition (line 38) | class AREG_API BufferPosition
FILE: framework/areg/base/private/Containers.cpp
function StringArray (line 39) | const StringArray& Tokenizer::tokenize( const String & str, const String...
FILE: framework/areg/base/private/DateTime.cpp
type tm (line 73) | struct tm
function DateTime (line 131) | DateTime DateTime::getNow( void )
function String (line 141) | String DateTime::formatTime( const std::string_view & formatName /*= NEU...
FILE: framework/areg/base/private/File.cpp
function String (line 180) | String File::genTempFileName(const char* prefix, bool unique, bool inTem...
function String (line 225) | String File::genTempFileName()
function String (line 230) | const String & File::getExecutableDir(void)
function String (line 235) | String File::getFileNameWithExtension( const char* filePath )
function String (line 254) | String File::getFileName( const char* filePath )
function String (line 266) | String File::getFileExtension( const char* filePath )
function String (line 279) | String File::getFileDirectory(const char* filePath)
function String (line 306) | String File::normalizePath(const char* fileName)
function String (line 359) | String File::getParentDir(const char * filePath)
function String (line 403) | String File::makeFileFullPath(const char* dirName, const char* fileName)
function String (line 582) | String File::getCurrentDir(void)
function String (line 614) | String File::getTempDir(void)
function String (line 632) | String File::getFileFullPath(const char* filePath)
function String (line 645) | String File::getSpecialDir(File::eSpecialFolder specialFolder)
FILE: framework/areg/base/private/FileBase.cpp
function _readString (line 30) | inline int _readString(const FileBase & file, ClassType & outValue)
function _readLine (line 74) | inline int _readLine(const FileBase & file, ClassType & outValue)
function _readString (line 116) | inline int _readString(const FileBase & file, CharType * buffer, int cha...
function _readLine (line 146) | inline int _readLine(const FileBase & file, CharType * buffer, int charC...
function _writeString (line 175) | inline bool _writeString(FileBase & file, const CharType * buffer, int s...
function _writeLine (line 194) | inline bool _writeLine(FileBase & file, const CharType * buffer)
function _compareData (line 212) | NEMath::eCompare _compareData( const DataType * memBuffer1, const DataTy...
function _searchText (line 218) | unsigned int _searchText( const FileBase & file, unsigned int startPos, ...
function const (line 430) | int FileBase::readString( wchar_t * IN OUT buffer, int IN charCount ) const
function const (line 435) | int FileBase::readString(String & OUT outValue ) const
function const (line 440) | int FileBase::readString(WideString & OUT outValue) const
function const (line 450) | int FileBase::readLine( wchar_t * IN OUT buffer, int IN charCount ) const
function const (line 455) | int FileBase::readLine( String & OUT outBuffer) const
function const (line 460) | int FileBase::readLine(WideString & OUT outBuffer) const
FILE: framework/areg/base/private/Identifier.cpp
function Identifier (line 72) | Identifier& Identifier::operator = ( const Identifier & src )
function Identifier (line 80) | Identifier & Identifier::operator = ( Identifier && src ) noexcept
FILE: framework/areg/base/private/NEDebug.hpp
type _EXCEPTION_POINTERS (line 39) | struct _EXCEPTION_POINTERS
type NEDebug (line 44) | namespace NEDebug
type E_DegubPrio (line 53) | enum class E_DegubPrio : int
type _EXCEPTION_POINTERS (line 114) | struct _EXCEPTION_POINTERS
FILE: framework/areg/base/private/NEMath.cpp
function AREG_API_IMPL (line 268) | AREG_API_IMPL double NEMath::round(double val)
FILE: framework/areg/base/private/NESocket.cpp
type NESocket (line 41) | namespace NESocket
type sockaddr_in (line 161) | struct sockaddr_in
type sockaddr_in (line 189) | struct sockaddr_in
type sockaddr_in (line 205) | struct sockaddr_in
type sockaddr (line 209) | struct sockaddr
type addrinfo (line 243) | struct addrinfo
type sockaddr_in (line 258) | struct sockaddr_in
type sockaddr_in (line 258) | struct sockaddr_in
function String (line 343) | const String& NESocket::UserData::getUser(void) const
function String (line 353) | const String& NESocket::UserData::getPassword(void) const
function AREG_API_IMPL (line 372) | AREG_API_IMPL SOCKETHANDLE NESocket::socketCreate( void )
function AREG_API_IMPL (line 434) | AREG_API_IMPL SOCKETHANDLE NESocket::clientSocketConnect(const std::stri...
function AREG_API_IMPL (line 465) | AREG_API_IMPL SOCKETHANDLE NESocket::clientSocketConnect(const SocketAdd...
function AREG_API_IMPL (line 511) | AREG_API_IMPL SOCKETHANDLE NESocket::serverSocketConnect(const std::stri...
function AREG_API_IMPL (line 541) | AREG_API_IMPL SOCKETHANDLE NESocket::serverSocketConnect(const SocketAdd...
function AREG_API_IMPL (line 590) | AREG_API_IMPL bool NESocket::serverListenConnection(SOCKETHANDLE serverS...
function AREG_API_IMPL (line 595) | AREG_API_IMPL SOCKETHANDLE NESocket::serverAcceptConnection(SOCKETHANDLE...
function AREG_API_IMPL (line 709) | AREG_API_IMPL bool NESocket::isSocketAlive(SOCKETHANDLE hSocket)
function AREG_API_IMPL (line 721) | AREG_API_IMPL bool NESocket::socketInitialize(void)
function AREG_API_IMPL (line 726) | AREG_API_IMPL void NESocket::socketRelease(void)
function AREG_API_IMPL (line 731) | AREG_API_IMPL void NESocket::socketClose(SOCKETHANDLE hSocket)
function AREG_API_IMPL (line 739) | AREG_API_IMPL int NESocket::sendData(SOCKETHANDLE hSocket, const unsigne...
function AREG_API_IMPL (line 754) | AREG_API_IMPL int NESocket::receiveData(SOCKETHANDLE hSocket, unsigned c...
function AREG_API_IMPL (line 770) | AREG_API_IMPL bool NESocket::disableSend(SOCKETHANDLE hSocket)
function AREG_API_IMPL (line 781) | AREG_API_IMPL bool NESocket::disableReceive(SOCKETHANDLE hSocket)
function AREG_API_IMPL (line 792) | AREG_API_IMPL const String & NESocket::getHostname(void)
function AREG_API_IMPL (line 810) | AREG_API_IMPL bool NESocket::isIpAddress(const String& ipaddress)
function AREG_API_IMPL (line 874) | AREG_API_IMPL String NESocket::convertHostNameToIpAddress(const String& ...
function AREG_API_IMPL (line 898) | AREG_API_IMPL String NESocket::convertIpAddressToHostName(const String& ...
function AREG_API_IMPL (line 916) | AREG_API_IMPL String NESocket::extractIpAddress(const sockaddr_in& addrH...
function AREG_API_IMPL (line 937) | AREG_API_IMPL uint16_t NESocket::extractPortNumber(const sockaddr_in& ad...
FILE: framework/areg/base/private/NEUtilities.cpp
type NEUtilities (line 28) | namespace NEUtilities
type tm (line 56) | struct tm
type tm (line 75) | struct tm
type tm (line 93) | struct tm
function _compareLargeIntegers (line 99) | static NEMath::eCompare _compareLargeIntegers( const NEMath::uLargeInt...
function AREG_API_IMPL (line 119) | AREG_API_IMPL time_t NEUtilities::convToSeconds(const sSystemTime & sysT...
function AREG_API_IMPL (line 132) | AREG_API_IMPL NEMath::eCompare NEUtilities::compareTimes( const TIME64 &...
function AREG_API_IMPL (line 141) | AREG_API_IMPL void NEUtilities::convMicrosecs(const TIME64& IN time, tim...
function AREG_API_IMPL (line 149) | AREG_API_IMPL void NEUtilities::convToTm(const sSystemTime & IN sysTime,...
function AREG_API_IMPL (line 170) | AREG_API_IMPL void NEUtilities::makeTmLocal( struct tm & IN OUT utcTime )
function AREG_API_IMPL (line 175) | AREG_API_IMPL void NEUtilities::convToTm(const TIME64& IN timeMicro, tm&...
function AREG_API_IMPL (line 180) | AREG_API_IMPL void NEUtilities::convToSystemTime(const struct tm & IN ti...
function AREG_API_IMPL (line 192) | AREG_API_IMPL NEMath::eCompare NEUtilities::compareTimes( const NEUtilit...
function AREG_API_IMPL (line 210) | AREG_API_IMPL String NEUtilities::createComponentItemName( const String ...
function AREG_API_IMPL (line 231) | AREG_API_IMPL String NEUtilities::generateName( const char* prefix )
function AREG_API_IMPL (line 238) | AREG_API_IMPL const char * NEUtilities::generateName(const char * prefix...
function AREG_API_IMPL (line 243) | AREG_API_IMPL const char * NEUtilities::generateName(const char * prefix...
function AREG_API_IMPL (line 272) | AREG_API_IMPL uint64_t NEUtilities::getTickCount( void )
function AREG_API_IMPL (line 277) | AREG_API_IMPL bool NEUtilities::convToLocalTime( const sSystemTime & IN ...
function AREG_API_IMPL (line 283) | AREG_API_IMPL bool NEUtilities::convToLocalTime( const TIME64 & IN utcTi...
function AREG_API_IMPL (line 288) | AREG_API_IMPL bool NEUtilities::convToLocalTm(const TIME64 & IN utcTime,...
function AREG_API_IMPL (line 293) | AREG_API_IMPL void NEUtilities::systemTimeNow( NEUtilities::sSystemTime ...
function AREG_API_IMPL (line 298) | AREG_API_IMPL TIME64 NEUtilities::systemTimeNow( void )
function AREG_API_IMPL (line 303) | AREG_API_IMPL TIME64 NEUtilities::convToTime( const NEUtilities::sSystem...
function AREG_API_IMPL (line 319) | AREG_API_IMPL TIME64 NEUtilities::convToTime(const tm& IN time)
function AREG_API_IMPL (line 331) | AREG_API_IMPL void NEUtilities::convToSystemTime( const TIME64 & IN time...
function AREG_API_IMPL (line 336) | AREG_API_IMPL NEUtilities::DataLiteral NEUtilities::convDataSize( uint64...
function AREG_API_IMPL (line 353) | AREG_API_IMPL NEUtilities::DataLiteral NEUtilities::convDuration( uint64...
FILE: framework/areg/base/private/Object.cpp
function Object (line 23) | inline const Object& Object::self( void ) const
function IEGenericObject (line 64) | IEGenericObject* Object::clone( void ) const
function Object (line 89) | Object & Object::operator = ( const Object& src )
function Object (line 99) | Object & Object::operator = ( Object && src ) noexcept
FILE: framework/areg/base/private/Process.cpp
function Process (line 27) | Process & Process::getInstance( void )
function String (line 79) | String Process::getSafeEnvVariable( const char * var ) const
FILE: framework/areg/base/private/ReadConverter.cpp
function const (line 55) | bool ReadConverter::getChar( wchar_t & OUT out_value ) const
function const (line 91) | bool ReadConverter::getString( String & OUT out_value ) const
function const (line 107) | bool ReadConverter::getString( WideString & OUT out_value ) const
function const (line 125) | bool ReadConverter::readLine( String & OUT out_value ) const
function const (line 148) | bool ReadConverter::readLine( WideString & OUT out_value ) const
FILE: framework/areg/base/private/ReadConverter.hpp
class String (line 29) | class String
class WideString (line 30) | class WideString
class IEInStream (line 31) | class IEInStream
class IECursorPosition (line 32) | class IECursorPosition
function ReadConverter (line 41) | class AREG_API ReadConverter
FILE: framework/areg/base/private/RemoteMessage.cpp
function RemoteMessage (line 168) | RemoteMessage RemoteMessage::clone(const ITEM_ID & source /*= 0*/, const...
FILE: framework/areg/base/private/RuntimeBase.cpp
function RuntimeClassID (line 26) | inline const RuntimeClassID & RuntimeBase::_getClassId( void )
function RuntimeClassID (line 39) | const RuntimeClassID & RuntimeBase::getRuntimeClassId( void ) const
function String (line 44) | const String & RuntimeBase::getRuntimeClassName( void ) const
FILE: framework/areg/base/private/RuntimeBase.hpp
class RuntimeClassID (line 27) | class RuntimeClassID
class String (line 28) | class String
function RuntimeBase (line 40) | class AREG_API RuntimeBase
FILE: framework/areg/base/private/SharedBuffer.cpp
function SharedBuffer (line 25) | inline SharedBuffer& SharedBuffer::self( void )
function SharedBuffer (line 126) | SharedBuffer & SharedBuffer::operator = ( const SharedBuffer &src )
function SharedBuffer (line 144) | SharedBuffer & SharedBuffer::operator = ( SharedBuffer && src ) noexcept
function SharedBuffer (line 197) | SharedBuffer SharedBuffer::clone(void) const
FILE: framework/areg/base/private/Socket.cpp
function Socket (line 72) | Socket & Socket::operator = ( const Socket & src )
function Socket (line 87) | Socket & Socket::operator = ( Socket && src ) noexcept
FILE: framework/areg/base/private/SocketServer.cpp
function SOCKETHANDLE (line 57) | SOCKETHANDLE SocketServer::waitConnectionEvent(NESocket::SocketAddress &...
FILE: framework/areg/base/private/String.cpp
function _formatDigit (line 103) | inline int32_t _formatDigit( String & result, const char * format, Digit...
function _formatStringList (line 125) | inline int _formatStringList( char * buffer, int count, const char * for...
function _formatStringList (line 144) | inline int32_t _formatStringList( String & result, const char * format, ...
function _isEqual (line 155) | inline bool _isEqual(const char* str, const wchar_t* wstr)
function String (line 167) | const String & String::getEmptyString(void)
function String (line 192) | String & String::operator = (const WideString & src)
function String (line 264) | String & String::operator += (const WideString & src)
function String (line 270) | String String::getSubstring(const char * src, const char * strPhrase, co...
function String (line 384) | String String::makeString(int32_t number, NEString::eRadix radix /*= NES...
function String (line 418) | String String::makeString(uint32_t number, NEString::eRadix radix /*= NE...
function String (line 446) | String String::makeString(int64_t number, NEString::eRadix radix /*= NES...
function String (line 480) | String String::makeString(uint64_t number, NEString::eRadix radix /*= NE...
function String (line 508) | String String::makeString(float number)
function String (line 515) | String String::makeString(double number)
function String (line 522) | String String::makeString( bool value )
function String (line 541) | String & String::format(const char * format, ...)
function String (line 553) | String & String::formatList(const char * format, va_list argptr)
function String (line 587) | String& String::assign(const wchar_t* source, NEString::CharCount count ...
function String (line 607) | String& String::append(const wchar_t* source, NEString::CharCount count ...
FILE: framework/areg/base/private/Thread.cpp
function ThreadLocalStorage (line 105) | ThreadLocalStorage* Thread::_getThreadLocalStorage( Thread* ownThread )
function ThreadLocalStorage (line 168) | ThreadLocalStorage & Thread::getCurrentThreadStorage( void )
function String (line 250) | const String & Thread::getThreadName( id_type threadId )
function ThreadAddress (line 256) | const ThreadAddress & Thread::getThreadAddress( id_type threadId )
function IEThreadConsumer (line 355) | IEThreadConsumer& Thread::getCurrentThreadConsumer( void )
FILE: framework/areg/base/private/ThreadAddress.cpp
function ThreadAddress (line 40) | const ThreadAddress & ThreadAddress::getInvalidThreadAddress(void)
function String (line 98) | String ThreadAddress::convAddressToPath( const ThreadAddress& threadAddr...
function ThreadAddress (line 103) | ThreadAddress ThreadAddress::convPathToAddress( const char* threadPath, ...
FILE: framework/areg/base/private/ThreadLocalStorage.cpp
function String (line 122) | const String & ThreadLocalStorage::getName( void ) const
FILE: framework/areg/base/private/Version.cpp
function Version (line 26) | const Version & Version::getInvalidVersion( void )
function Version (line 92) | Version & Version::convFromString( const String & version )
function Version (line 111) | Version & Version::convFromString( const char * version )
function Version (line 116) | Version & Version::operator = ( const Version &src )
function Version (line 127) | Version & Version::operator = ( Version && src ) noexcept
function String (line 157) | String Version::convToString( void ) const
FILE: framework/areg/base/private/WideString.cpp
function _formatDigit (line 103) | inline int32_t _formatDigit( WideString & result, const wchar_t * format...
function _formatStringList (line 125) | inline int _formatStringList( wchar_t * buffer, int count, const wchar_t...
function _formatStringList (line 144) | inline int32_t _formatStringList( WideString & result, const wchar_t * f...
function _isEqual (line 155) | inline bool _isEqual(const wchar_t* str, const char* wstr)
function WideString (line 167) | const WideString & WideString::getEmptyString(void)
function WideString (line 192) | WideString & WideString::operator = (const String & src)
function WideString (line 264) | WideString & WideString::operator += (const String & src)
function WideString (line 270) | WideString WideString::getSubstring(const wchar_t * src, const wchar_t *...
function WideString (line 384) | WideString WideString::makeString(int32_t number, NEString::eRadix radix...
function WideString (line 418) | WideString WideString::makeString(uint32_t number, NEString::eRadix radi...
function WideString (line 446) | WideString WideString::makeString(int64_t number, NEString::eRadix radix...
function WideString (line 480) | WideString WideString::makeString(uint64_t number, NEString::eRadix radi...
function WideString (line 508) | WideString WideString::makeString(float number)
function WideString (line 515) | WideString WideString::makeString(double number)
function WideString (line 522) | WideString WideString::makeString( bool value )
function WideString (line 541) | WideString & WideString::format(const wchar_t * format, ...)
function WideString (line 553) | WideString & WideString::formatList(const wchar_t * format, va_list argptr)
function WideString (line 587) | WideString& WideString::assign(const char* source, NEString::CharCount c...
function WideString (line 607) | WideString& WideString::append(const char* source, NEString::CharCount c...
FILE: framework/areg/base/private/WriteConverter.hpp
class IEOutStream (line 30) | class IEOutStream
class IECursorPosition (line 31) | class IECursorPosition
class String (line 32) | class String
class WideString (line 33) | class WideString
function WriteConverter (line 41) | class AREG_API WriteConverter
FILE: framework/areg/base/private/posix/CriticalSectionIX.hpp
class CriticalSectionIX (line 39) | class CriticalSectionIX : protected IESyncObjectBaseIX
FILE: framework/areg/base/private/posix/FilePosix.cpp
type S_PosixFile (line 57) | struct S_PosixFile
type passwd (line 72) | struct passwd
function FILEHANDLE (line 99) | FILEHANDLE File::_osGetInvalidHandle( void )
FILE: framework/areg/base/private/posix/IESyncObjectBaseIX.hpp
class IESyncObjectBaseIX (line 33) | class IESyncObjectBaseIX
method IESyncObjectBaseIX (line 129) | IESyncObjectBaseIX( void ) = delete;
class MutexIX (line 34) | class MutexIX
class WaitableBaseIX (line 35) | class WaitableBaseIX
class WaitableEventIX (line 36) | class WaitableEventIX
class WaitableMutexIX (line 37) | class WaitableMutexIX
class IESyncObjectBaseIX (line 46) | class IESyncObjectBaseIX
method IESyncObjectBaseIX (line 129) | IESyncObjectBaseIX( void ) = delete;
function String (line 142) | inline const String & IESyncObjectBaseIX::getName( void ) const
FILE: framework/areg/base/private/posix/IEWaitableBaseIX.hpp
class IEWaitableBaseIX (line 40) | class IEWaitableBaseIX : public MutexIX
method IEWaitableBaseIX (line 103) | IEWaitableBaseIX( void ) = delete;
FILE: framework/areg/base/private/posix/MutexIX.hpp
class MutexIX (line 39) | class MutexIX : public IESyncObjectBaseIX
class ObjectLockIX (line 191) | class ObjectLockIX
method ObjectLockIX (line 251) | ObjectLockIX( void ) = delete;
FILE: framework/areg/base/private/posix/NESocketPosix.cpp
type NESocket (line 39) | namespace NESocket
function _osInitSocket (line 42) | bool _osInitSocket(void)
function _osReleaseSocket (line 47) | void _osReleaseSocket(void)
function _osCloseSocket (line 51) | void _osCloseSocket(SOCKETHANDLE hSocket)
function _osSendData (line 58) | int _osSendData(SOCKETHANDLE hSocket, const unsigned char* dataBuffer,...
function _osRecvData (line 96) | int _osRecvData(SOCKETHANDLE hSocket, unsigned char* dataBuffer, int d...
function _osControl (line 128) | bool _osControl(SOCKETHANDLE hSocket, int cmd, unsigned long& arg)
function _osGetOption (line 134) | bool _osGetOption(SOCKETHANDLE hSocket, int level, int name, unsigned ...
FILE: framework/areg/base/private/posix/NESyncTypesIX.hpp
type NESyncTypesIX (line 39) | namespace NESyncTypesIX
type E_SyncObjectFired (line 52) | enum E_SyncObjectFired : int
type E_EventResetInfo (line 92) | enum class E_EventResetInfo
type E_MatchCondition (line 107) | enum class E_MatchCondition
type E_SyncObject (line 121) | enum class E_SyncObject : unsigned int
FILE: framework/areg/base/private/posix/NEUtilitiesPosix.cpp
type NEUtilities (line 29) | namespace NEUtilities
function _osGetTickCount (line 31) | uint64_t _osGetTickCount( void )
function TIME64 (line 38) | TIME64 _osSystemTimeNow(void)
function _osSystemTimeNow (line 46) | void _osSystemTimeNow( NEUtilities::sSystemTime & OUT sysTime, bool lo...
function _osMakeTmLocal (line 73) | void _osMakeTmLocal(struct tm& IN OUT utcTime)
function _osConvToLocalTime (line 80) | bool _osConvToLocalTime(const TIME64& IN utcTime, sSystemTime& OUT loc...
function _osConvToLocalTm (line 101) | bool _osConvToLocalTm(const TIME64& IN utcTime, struct tm& OUT localTm)
function _osConvToSystemTime (line 107) | void _osConvToSystemTime(const TIME64& IN timeValue, NEUtilities::sSys...
function _osConvToTm (line 122) | void _osConvToTm(const TIME64& IN timeValue, tm& OUT time)
FILE: framework/areg/base/private/posix/ProcessPosix.cpp
function String (line 91) | String Process::_osGetEnvVariable( const char* var ) const
FILE: framework/areg/base/private/posix/SpinLockIX.hpp
class SpinLockIX (line 41) | class SpinLockIX
class SpinAutolockIX (line 151) | class SpinAutolockIX
method SpinAutolockIX (line 163) | inline SpinAutolockIX( SpinLockIX & spinLock )
method lock (line 186) | inline bool lock( void )
method unlock (line 195) | inline bool unlock( void )
method SpinAutolockIX (line 211) | SpinAutolockIX( void ) = delete;
FILE: framework/areg/base/private/posix/SyncLockAndWaitIX.hpp
class IEWaitableBaseIX (line 40) | class IEWaitableBaseIX
class SyncLockAndWaitIX (line 41) | class SyncLockAndWaitIX
class ImplResourceListMap (line 70) | class ImplResourceListMap : public TEResourceListMapImpl<IEWaitableBas...
method implCleanResourceList (line 80) | inline void implCleanResourceList( IEWaitableBaseIX * & /* Key */, L...
method implAddResource (line 90) | inline void implAddResource( ListLockAndWait & List, SyncLockAndWait...
method implRemoveResource (line 100) | inline bool implRemoveResource( ListLockAndWait & List, SyncLockAndW...
type E_WaitType (line 144) | enum class E_WaitType
type E_EventFired (line 155) | enum class E_EventFired
method SyncLockAndWaitIX (line 421) | SyncLockAndWaitIX( void ) = delete;
class SyncLockAndWaitIX (line 53) | class SyncLockAndWaitIX
class ImplResourceListMap (line 70) | class ImplResourceListMap : public TEResourceListMapImpl<IEWaitableBas...
method implCleanResourceList (line 80) | inline void implCleanResourceList( IEWaitableBaseIX * & /* Key */, L...
method implAddResource (line 90) | inline void implAddResource( ListLockAndWait & List, SyncLockAndWait...
method implRemoveResource (line 100) | inline bool implRemoveResource( ListLockAndWait & List, SyncLockAndW...
type E_WaitType (line 144) | enum class E_WaitType
type E_EventFired (line 155) | enum class E_EventFired
method SyncLockAndWaitIX (line 421) | SyncLockAndWaitIX( void ) = delete;
FILE: framework/areg/base/private/posix/SyncObjectsPosix.cpp
type timespec (line 350) | struct timespec
FILE: framework/areg/base/private/posix/ThreadPosix.cpp
type S_PosixThread (line 47) | struct S_PosixThread
type timespec (line 122) | struct timespec
function id_type (line 128) | id_type Thread::_osGetCurrentThreadId( void )
type sched_param (line 265) | struct sched_param
FILE: framework/areg/base/private/posix/WaitableEventIX.hpp
class WaitableEventIX (line 51) | class WaitableEventIX : public IEWaitableBaseIX
method WaitableEventIX (line 176) | WaitableEventIX( void ) = delete;
FILE: framework/areg/base/private/posix/WaitableMutexIX.hpp
class WaitableMutexIX (line 41) | class WaitableMutexIX : public IEWaitableBaseIX
function pthread_t (line 158) | inline pthread_t WaitableMutexIX::getOwningThreadId(void) const
FILE: framework/areg/base/private/posix/WaitableSemaphoreIX.hpp
class WaitableSemaphoreIX (line 43) | class WaitableSemaphoreIX : public IEWaitableBaseIX
method WaitableSemaphoreIX (line 137) | WaitableSemaphoreIX( void ) = delete;
FILE: framework/areg/base/private/posix/WaitableTimerIX.cpp
type sigevent (line 67) | struct sigevent
type sigevent (line 68) | struct sigevent
type itimerspec (line 123) | struct itimerspec
type itimerspec (line 124) | struct itimerspec
FILE: framework/areg/base/private/posix/WaitableTimerIX.hpp
class WaitableTimerIX (line 41) | class WaitableTimerIX : public IEWaitableBaseIX
type timespec (line 180) | struct timespec
FILE: framework/areg/base/private/win32/FileWin32.cpp
function String (line 63) | static String _searchFile( const char* fileName, const char* fileExtensi...
function FILEHANDLE (line 86) | FILEHANDLE File::_osGetInvalidHandle( void )
FILE: framework/areg/base/private/win32/NEDebugWin32.cpp
type _EXCEPTION_POINTERS (line 48) | struct _EXCEPTION_POINTERS
type _EXCEPTION_POINTERS (line 161) | struct _EXCEPTION_POINTERS
FILE: framework/areg/base/private/win32/NESocketWin32.cpp
type NESocket (line 50) | namespace NESocket
function _osInitSocket (line 52) | bool _osInitSocket(void)
function _osReleaseSocket (line 69) | void _osReleaseSocket(void)
function _osCloseSocket (line 77) | void _osCloseSocket(SOCKETHANDLE hSocket)
function _osSendData (line 84) | int _osSendData(SOCKETHANDLE hSocket, const unsigned char* dataBuffer,...
function _osRecvData (line 121) | int _osRecvData(SOCKETHANDLE hSocket, unsigned char* dataBuffer, int d...
function _osControl (line 163) | bool _osControl(SOCKETHANDLE hSocket, int cmd, unsigned long& arg)
function _osGetOption (line 169) | bool _osGetOption(SOCKETHANDLE hSocket, int level, int name, unsigned ...
FILE: framework/areg/base/private/win32/NEUtilitiesWin32.cpp
function _osGetTickCount (line 30) | uint64_t _osGetTickCount(void)
function TIME64 (line 35) | TIME64 _osSystemTimeNow(void)
function _osSystemTimeNow (line 49) | void _osSystemTimeNow( NEUtilities::sSystemTime & OUT sysTime, bool loca...
FILE: framework/areg/base/private/win32/ProcessWin32.cpp
function String (line 51) | String Process::_osGetEnvVariable( const char* var ) const
FILE: framework/areg/base/private/win32/SpinLockWin32.hpp
class SpinLockWin32 (line 34) | class SpinLockWin32
FILE: framework/areg/base/private/win32/SyncObjectsWin32.cpp
function _getFrequencyNs (line 370) | inline double _getFrequencyNs(void)
FILE: framework/areg/base/private/win32/ThreadWin32.cpp
type tagTHREADNAME_INFO (line 52) | struct tagTHREADNAME_INFO
function id_type (line 97) | id_type Thread::_osGetCurrentThreadId( void )
FILE: framework/areg/component/Channel.hpp
function Channel (line 36) | class AREG_API Channel
function ITEM_ID (line 218) | inline const ITEM_ID & Channel::getSource(void) const
function ITEM_ID (line 228) | inline const ITEM_ID & Channel::getTarget(void) const
function ITEM_ID (line 238) | inline const ITEM_ID & Channel::getCookie(void) const
function IEInStream (line 275) | inline const IEInStream & operator >> ( const IEInStream & stream, Chann...
function IEOutStream (line 283) | inline IEOutStream & operator << ( IEOutStream & stream, const Channel &...
FILE: framework/areg/component/Component.hpp
class IEWorkerThreadConsumer (line 34) | class IEWorkerThreadConsumer
class ComponentThread (line 35) | class ComponentThread
class WorkerThread (line 36) | class WorkerThread
class StubBase (line 37) | class StubBase
function RuntimeObject (line 57) | class AREG_API Component : public RuntimeObject
function ComponentThread (line 387) | inline ComponentThread & Component::getMasterThread( void )
function DispatcherThread (line 392) | inline DispatcherThread * Component::findEventConsumer( const RuntimeCla...
function String (line 397) | inline const String & Component::getRoleName( void ) const
function ComponentAddress (line 402) | inline const ComponentAddress& Component::getAddress( void ) const
function Component (line 412) | inline Component& Component::self( void )
FILE: framework/areg/component/ComponentAddress.hpp
class IEInStream (line 34) | class IEInStream
class IEOutStream (line 35) | class IEOutStream
function ComponentAddress (line 48) | class AREG_API ComponentAddress
type std (line 278) | namespace std
type hash<ComponentAddress> (line 281) | struct hash<ComponentAddress>
function ComponentAddress (line 295) | inline ComponentAddress & ComponentAddress::operator = ( const Component...
function ComponentAddress (line 304) | inline ComponentAddress & ComponentAddress::operator = ( ComponentAddres...
function ThreadAddress (line 332) | inline const ThreadAddress& ComponentAddress::getThreadAddress( void ) c...
function String (line 337) | inline const String& ComponentAddress::getRoleName( void ) const
function IEInStream (line 345) | inline const IEInStream & operator >> (const IEInStream & stream, Compon...
function IEOutStream (line 351) | inline IEOutStream & operator << (IEOutStream & stream, const ComponentA...
FILE: framework/areg/component/ComponentLoader.hpp
class Component (line 283) | class Component
class ComponentThread (line 284) | class ComponentThread
class Thread (line 285) | class Thread
function ModelDataCreator (line 296) | class AREG_API ModelDataCreator
function ComponentLoader (line 362) | class AREG_API ComponentLoader
FILE: framework/areg/component/ComponentThread.hpp
class Component (line 33) | class Component
function DispatcherThread (line 45) | class AREG_API ComponentThread : public DispatcherThread
FILE: framework/areg/component/DispatcherThread.hpp
class DispatcherThread (line 31) | class DispatcherThread
class NullDispatcherThread (line 32) | class NullDispatcherThread
class AREG_API (line 48) | class AREG_API
function DispatcherThread (line 289) | inline DispatcherThread & DispatcherThread::getDispatcherThread( const S...
function DispatcherThread (line 295) | inline DispatcherThread & DispatcherThread::getDispatcherThread( id_type...
function DispatcherThread (line 301) | inline DispatcherThread & DispatcherThread::getDispatcherThread(const Th...
function DispatcherThread (line 307) | inline DispatcherThread & DispatcherThread::getCurrentDispatcherThread( ...
function EventDispatcher (line 313) | inline EventDispatcher & DispatcherThread::getCurrentDispatcher( void )
function EventDispatcher (line 318) | inline EventDispatcher & DispatcherThread::getEventDispatcher( void )
function DispatcherThread (line 323) | inline DispatcherThread & DispatcherThread::self( void )
FILE: framework/areg/component/Event.hpp
class IEEventConsumer (line 111) | class IEEventConsumer
class EventDispatcher (line 112) | class EventDispatcher
class DispatcherThread (line 113) | class DispatcherThread
class Thread (line 114) | class Thread
function RuntimeObject (line 140) | class AREG_API Event : public RuntimeObject
function IEEventConsumer (line 570) | inline IEEventConsumer * Event::getEventConsumer( void )
FILE: framework/areg/component/EventData.hpp
function EventData (line 40) | class AREG_API EventData
function IEInStream (line 185) | inline const IEInStream& EventData::getReadStream( void ) const
function IEOutStream (line 190) | inline IEOutStream & EventData::getWriteStream( void )
function EventDataStream (line 195) | inline const EventDataStream & EventData::getDataStream( void ) const
function IEInStream (line 200) | inline const IEInStream & operator >> ( const IEInStream & stream, Event...
function IEOutStream (line 208) | inline IEOutStream & operator << ( IEOutStream & stream, const EventData...
FILE: framework/areg/component/EventDataStream.hpp
function EventDataStream (line 40) | class AREG_API EventDataStream : public IEIOStream
function IEInStream (line 341) | inline const IEInStream & EventDataStream::getStreamForRead( void ) const
function IEOutStream (line 346) | inline IEOutStream & EventDataStream::getStreamForWrite( void )
function IEInStream (line 351) | inline const IEInStream & operator >> ( const IEInStream & stream, Event...
function IEOutStream (line 359) | inline IEOutStream & operator << ( IEOutStream & stream, const EventData...
FILE: framework/areg/component/EventDispatcher.hpp
class AREG_API (line 39) | class AREG_API
function DispatcherThread (line 146) | inline DispatcherThread * EventDispatcher::getDispatcherThread( void ) c...
FILE: framework/areg/component/IEEventConsumer.hpp
class Event (line 27) | class Event
function IEEventConsumer (line 42) | class AREG_API IEEventConsumer
FILE: framework/areg/component/IEEventRouter.hpp
class Event (line 26) | class Event
function IEEventRouter (line 40) | class AREG_API IEEventRouter
FILE: framework/areg/component/IEProxyListener.hpp
function IENotificationEventConsumer (line 35) | class AREG_API IEProxyListener : public IENotificationEventConsumer
FILE: framework/areg/component/IERemoteEventConsumer.hpp
class RemoteRequestEvent (line 28) | class RemoteRequestEvent
class RemoteNotifyRequestEvent (line 29) | class RemoteNotifyRequestEvent
class RemoteResponseEvent (line 30) | class RemoteResponseEvent
function IERemoteEventConsumer (line 40) | class AREG_API IERemoteEventConsumer : public IEEventConsumer
FILE: framework/areg/component/IETimerConsumer.hpp
class IETimerConsumer (line 28) | class IETimerConsumer
class Timer (line 33) | class Timer
class TimerEventData (line 34) | class TimerEventData
class DispatcherThread (line 35) | class DispatcherThread
function IETimerEventConsumerBase (line 53) | class AREG_API IETimerConsumer : public IETimerEventConsumerBase
FILE: framework/areg/component/IEWorkerThreadConsumer.hpp
class ComponentThread (line 31) | class ComponentThread
class WorkerThread (line 32) | class WorkerThread
function IEWorkerThreadConsumer (line 49) | class AREG_API IEWorkerThreadConsumer
function String (line 131) | inline const String & IEWorkerThreadConsumer::getConsumerName( void ) const
FILE: framework/areg/component/NERegistry.hpp
type NERegistry (line 36) | namespace NERegistry
class ServiceEntry (line 38) | class ServiceEntry
class ServiceList (line 39) | class ServiceList
class ComponentThreadEntry (line 40) | class ComponentThreadEntry
class ComponentThreadList (line 41) | class ComponentThreadList
class WorkerThreadEntry (line 42) | class WorkerThreadEntry
class WorkerThreadList (line 43) | class WorkerThreadList
class DependencyEntry (line 44) | class DependencyEntry
class DependencyList (line 45) | class DependencyList
class ComponentEntry (line 46) | class ComponentEntry
class ComponentList (line 47) | class ComponentList
class Model (line 48) | class Model
function ServiceEntry (line 130) | class AREG_API ServiceEntry
function ServiceList (line 239) | class AREG_API ServiceList
function WorkerThreadEntry (line 362) | class AREG_API WorkerThreadEntry
function WorkerThreadList (line 471) | class AREG_API WorkerThreadList
function DependencyEntry (line 596) | class AREG_API DependencyEntry
function DependencyList (line 686) | class AREG_API DependencyList
function ComponentEntry (line 809) | class AREG_API ComponentEntry
function ComponentList (line 1199) | class AREG_API ComponentList
function ComponentThreadEntry (line 1343) | class AREG_API ComponentThreadEntry
function ComponentThreadList (line 1574) | class AREG_API ComponentThreadList
function Model (line 1702) | class AREG_API Model
class Component (line 73) | class Component
class WorkerThread (line 74) | class WorkerThread
class ComponentThread (line 75) | class ComponentThread
class IEWorkerThreadConsumer (line 76) | class IEWorkerThreadConsumer
type NERegistry (line 116) | namespace NERegistry
class ServiceEntry (line 38) | class ServiceEntry
class ServiceList (line 39) | class ServiceList
class ComponentThreadEntry (line 40) | class ComponentThreadEntry
class ComponentThreadList (line 41) | class ComponentThreadList
class WorkerThreadEntry (line 42) | class WorkerThreadEntry
class WorkerThreadList (line 43) | class WorkerThreadList
class DependencyEntry (line 44) | class DependencyEntry
class DependencyList (line 45) | class DependencyList
class ComponentEntry (line 46) | class ComponentEntry
class ComponentList (line 47) | class ComponentList
class Model (line 48) | class Model
function ServiceEntry (line 130) | class AREG_API ServiceEntry
function ServiceList (line 239) | class AREG_API ServiceList
function WorkerThreadEntry (line 362) | class AREG_API WorkerThreadEntry
function WorkerThreadList (line 471) | class AREG_API WorkerThreadList
function DependencyEntry (line 596) | class AREG_API DependencyEntry
function DependencyList (line 686) | class AREG_API DependencyList
function ComponentEntry (line 809) | class AREG_API ComponentEntry
function ComponentList (line 1199) | class AREG_API ComponentList
function ComponentThreadEntry (line 1343) | class AREG_API ComponentThreadEntry
function ComponentThreadList (line 1574) | class AREG_API ComponentThreadList
function Model (line 1702) | class AREG_API Model
function TIME64 (line 2016) | inline TIME64 NERegistry::Model::getAliveDuration( void ) const
FILE: framework/areg/component/NEService.hpp
type NEService (line 64) | namespace NEService
type E_ResultType (line 71) | enum class E_ResultType : uint16_t
type E_DataStateType (line 111) | enum class E_DataStateType : uint16_t
type E_RequestType (line 129) | enum class E_RequestType : uint16_t
type E_MessageDataType (line 151) | enum class E_MessageDataType : uint16_t
type E_ServiceConnection (line 174) | enum class E_ServiceConnection : uint16_t
type E_DisconnectReason (line 221) | enum class E_DisconnectReason : uint16_t
type E_ServiceRequestType (line 246) | enum class E_ServiceRequestType : uint16_t
type E_ServiceType (line 263) | enum class E_ServiceType : uint16_t
type E_MessageSource (line 280) | enum class E_MessageSource : uint16_t
type E_InstanceBitness (line 299) | enum class E_InstanceBitness: uint16_t
type E_ServiceCall (line 382) | enum class E_ServiceCall : uint16_t
type E_FuncIdRange (line 460) | enum class E_FuncIdRange : uint32_t
class ParameterArray (line 575) | class ParameterArray
function StateArrayBase (line 584) | class AREG_API StateArray : private StateArrayBase
type AREG_API (line 673) | struct AREG_API
function ParameterArray (line 779) | class AREG_API ParameterArray
function ProxyData (line 964) | class AREG_API ProxyData
type sServiceConnectedInstance (line 1062) | struct sServiceConnectedInstance
function IEOutStream (line 1333) | inline IEOutStream& operator << (IEOutStream& stream, const NEService::s...
function IEInStream (line 1344) | inline const IEInStream& operator >> (const IEInStream& stream, NEServic...
FILE: framework/areg/component/NotificationEvent.hpp
class IENotificationEventConsumer (line 33) | class IENotificationEventConsumer
class NotificationEventData (line 34) | class NotificationEventData
class NotificationEvent (line 35) | class NotificationEvent
class ProxyBase (line 40) | class ProxyBase
function NotificationEventData (line 67) | class AREG_API NotificationEventData
function NotificationEvent (line 203) | class AREG_API NotificationEvent : public Event
function IENotificationEventConsumer (line 291) | class AREG_API IENotificationEventConsumer : public IEEventConsumer
function ProxyBase (line 354) | inline const ProxyBase* NotificationEventData::getProxy( void ) const
function SequenceNumber (line 384) | inline const SequenceNumber & NotificationEventData::getSequenceNr( void...
function NotificationEventData (line 397) | inline const NotificationEventData & NotificationEvent::getData( void ) ...
function NotificationEventData (line 402) | inline NotificationEventData & NotificationEvent::getData( void )
FILE: framework/areg/component/ProxyAddress.hpp
class IEInStream (line 33) | class IEInStream
class StubAddress (line 34) | class StubAddress
class Event (line 35) | class Event
class ServiceRequestEvent (line 36) | class ServiceRequestEvent
class ServiceResponseEvent (line 37) | class ServiceResponseEvent
function ServiceAddress (line 47) | class AREG_API ProxyAddress : public ServiceAddress
type std (line 401) | namespace std
type hash<ProxyAddress> (line 404) | struct hash<ProxyAddress>
function ProxyAddress (line 423) | inline ProxyAddress & ProxyAddress::operator = ( const ProxyAddress & so...
function ProxyAddress (line 436) | inline ProxyAddress & ProxyAddress::operator = ( ProxyAddress && source ...
function String (line 494) | inline const String & ProxyAddress::getThread(void) const
function Channel (line 499) | inline const Channel & ProxyAddress::getChannel( void ) const
function ITEM_ID (line 509) | inline const ITEM_ID & ProxyAddress::getCookie( void ) const
function ITEM_ID (line 519) | inline const ITEM_ID & ProxyAddress::getSource( void ) const
function ITEM_ID (line 529) | inline const ITEM_ID & ProxyAddress::getTarget( void ) const
function ProxyAddress (line 539) | inline ProxyAddress& ProxyAddress::self(void)
FILE: framework/areg/component/ProxyBase.hpp
class IENotificationEventConsumer (line 44) | class IENotificationEventConsumer
class NotificationEventData (line 45) | class NotificationEventData
class ServiceResponseEvent (line 46) | class ServiceResponseEvent
class RemoteResponseEvent (line 47) | class RemoteResponseEvent
class ServiceRequestEvent (line 48) | class ServiceRequestEvent
class NotificationEvent (line 49) | class NotificationEvent
class DispatcherThread (line 50) | class DispatcherThread
class EventDataStream (line 51) | class EventDataStream
class IEProxyListener (line 52) | class IEProxyListener
class ProxyEvent (line 53) | class ProxyEvent
class ProxyBase (line 54) | class ProxyBase
class Version (line 55) | class Version
function IEProxyEventConsumer (line 91) | class AREG_API ProxyBase : public IEProxyEventConsumer
function lockProxyResource (line 498) | static inline void lockProxyResource( void )
function unlockProxyResource (line 506) | static inline void unlockProxyResource( void )
function ProxyBase (line 1091) | inline ProxyBase & ProxyBase::self( void )
function ProxyAddress (line 1096) | inline const ProxyAddress& ProxyBase::getProxyAddress( void ) const
function StubAddress (line 1101) | inline const StubAddress& ProxyBase::getStubAddress( void ) const
function DispatcherThread (line 1209) | inline DispatcherThread & ProxyBase::getProxyDispatcherThread( void ) const
FILE: framework/areg/component/ProxyEvent.hpp
class ProxyEvent (line 30) | class ProxyEvent
class IEProxyEventConsumer (line 31) | class IEProxyEventConsumer
class Event (line 36) | class Event
class ProxyEvent (line 37) | class ProxyEvent
class StubAddress (line 38) | class StubAddress
class ServiceResponseEvent (line 39) | class ServiceResponseEvent
class IENotificationEventConsumer (line 40) | class IENotificationEventConsumer
class Channel (line 41) | class Channel
class ResponseEvent (line 42) | class ResponseEvent
class ProxyConnectEvent (line 43) | class ProxyConnectEvent
function StreamableEvent (line 63) | class AREG_API ProxyEvent : public StreamableEvent
function IEProxyEventConsumer (line 162) | class AREG_API IEProxyEventConsumer : public IEEventConsumer
function ProxyAddress (line 277) | inline const ProxyAddress & ProxyEvent::getTargetProxy( void ) const
FILE: framework/areg/component/RemoteEventFactory.hpp
class RemoteResponseEvent (line 26) | class RemoteResponseEvent
class StreamableEvent (line 27) | class StreamableEvent
class RemoteMessage (line 28) | class RemoteMessage
class Channel (line 29) | class Channel
function RemoteEventFactory (line 43) | class AREG_API RemoteEventFactory
FILE: framework/areg/component/RequestEvents.hpp
class RequestEvent (line 30) | class RequestEvent
class LocalRequestEvent (line 31) | class LocalRequestEvent
class RemoteRequestEvent (line 32) | class RemoteRequestEvent
class NotifyRequestEvent (line 34) | class NotifyRequestEvent
class LocalNotifyRequestEvent (line 35) | class LocalNotifyRequestEvent
class RemoteNotifyRequestEvent (line 36) | class RemoteNotifyRequestEvent
function ServiceRequestEvent (line 66) | class AREG_API RequestEvent : public ServiceRequestEvent
function LocalRequestEvent (line 201) | class AREG_API LocalRequestEvent : public RequestEvent
function RemoteRequestEvent (line 266) | class AREG_API RemoteRequestEvent : public RequestEvent
function ServiceRequestEvent (line 356) | class AREG_API NotifyRequestEvent : public ServiceRequestEvent
function LocalNotifyRequestEvent (line 408) | class AREG_API LocalNotifyRequestEvent : public NotifyRequestEvent
function RemoteNotifyRequestEvent (line 458) | class AREG_API RemoteNotifyRequestEvent : public NotifyRequestEvent
function EventData (line 532) | inline const EventData & RequestEvent::getData( void ) const
function EventData (line 542) | inline EventData& RequestEvent::getData( void )
function IEInStream (line 547) | inline const IEInStream & RequestEvent::getReadStream( void ) const
function IEOutStream (line 552) | inline IEOutStream & RequestEvent::getWriteStream( void )
function Channel (line 566) | inline const Channel & RemoteRequestEvent::getTargetChannel( void ) const
function Channel (line 576) | inline const Channel & RemoteRequestEvent::getSourceChannel( void ) const
function Channel (line 590) | inline const Channel & RemoteNotifyRequestEvent::getTargetChannel( void ...
function Channel (line 600) | inline const Channel & RemoteNotifyRequestEvent::getSourceChannel( void ...
FILE: framework/areg/component/ResponseEvents.hpp
class ResponseEvent (line 30) | class ResponseEvent
class LocalResponseEvent (line 31) | class LocalResponseEvent
class RemoteResponseEvent (line 32) | class RemoteResponseEvent
function ServiceResponseEvent (line 57) | class AREG_API ResponseEvent : public ServiceResponseEvent
function LocalResponseEvent (line 200) | class AREG_API LocalResponseEvent : public ResponseEvent
function RemoteResponseEvent (line 278) | class AREG_API RemoteResponseEvent: public ResponseEvent
function EventData (line 366) | inline const EventData & ResponseEvent::getData( void ) const
function EventData (line 376) | inline EventData & ResponseEvent::getData( void )
function IEInStream (line 381) | inline const IEInStream & ResponseEvent::getReadStream( void ) const
function IEOutStream (line 386) | inline IEOutStream & ResponseEvent::getWriteStream( void )
function Channel (line 400) | inline const Channel & RemoteResponseEvent::getTargetChannel( void ) const
FILE: framework/areg/component/ServiceAddress.hpp
class StubAddress (line 30) | class StubAddress
class ProxyAddress (line 31) | class ProxyAddress
function ServiceAddress (line 41) | class AREG_API ServiceAddress : public ServiceItem
type std (line 251) | namespace std
type hash<ServiceAddress> (line 254) | struct hash<ServiceAddress>
function ServiceAddress (line 268) | inline ServiceAddress & ServiceAddress::operator = ( const ServiceAddres...
function ServiceAddress (line 280) | inline ServiceAddress & ServiceAddress::operator = ( ServiceAddress && s...
function String (line 307) | inline const String & ServiceAddress::getRoleName(void) const
function ServiceItem (line 319) | inline const ServiceItem & ServiceAddress::getService( void ) const
function IEInStream (line 333) | inline const IEInStream & operator >> ( const IEInStream & stream, Servi...
function IEOutStream (line 342) | inline IEOutStream & operator << ( IEOutStream & stream, const ServiceAd...
FILE: framework/areg/component/ServiceItem.hpp
class IEInStream (line 33) | class IEInStream
function ServiceItem (line 43) | class AREG_API ServiceItem
type std (line 286) | namespace std
type hash<ServiceItem> (line 289) | struct hash<ServiceItem>
function String (line 303) | inline const String & ServiceItem::getServiceName( void ) const
function Version (line 315) | inline const Version & ServiceItem::getServiceVersion( void ) const
function ServiceItem (line 354) | inline ServiceItem & ServiceItem::operator = ( const ServiceItem & source )
function ServiceItem (line 367) | inline ServiceItem & ServiceItem::operator = ( ServiceItem && source ) n...
function IEInStream (line 400) | inline const IEInStream & operator >> ( const IEInStream & stream, Servi...
function IEOutStream (line 411) | inline IEOutStream & operator << ( IEOutStream & stream, const ServiceIt...
FILE: framework/areg/component/ServiceRequestEvent.hpp
class StubAddress (line 31) | class StubAddress
class ProxyAddress (line 32) | class ProxyAddress
class ComponentAddress (line 33) | class ComponentAddress
function ServiceRequestEvent (line 52) | class AREG_API ServiceRequestEvent : public StubEvent
function ProxyAddress (line 180) | inline const ProxyAddress & ServiceRequestEvent::getEventSource( void ) ...
function SequenceNumber (line 200) | inline const SequenceNumber & ServiceRequestEvent::getSequenceNumber( vo...
FILE: framework/areg/component/ServiceResponseEvent.hpp
class ProxyAddress (line 30) | class ProxyAddress
function ServiceResponseEvent (line 48) | class AREG_API ServiceResponseEvent : public ProxyEvent
function SequenceNumber (line 207) | inline const SequenceNumber & ServiceResponseEvent::getSequenceNumber( v...
FILE: framework/areg/component/StreamableEvent.hpp
function StreamableEvent (line 36) | class AREG_API StreamableEvent : public Event
FILE: framework/areg/component/StubAddress.hpp
class IEInStream (line 30) | class IEInStream
class ProxyAddress (line 31) | class ProxyAddress
class ServiceRequestEvent (line 32) | class ServiceRequestEvent
function ServiceAddress (line 51) | class AREG_API StubAddress : public ServiceAddress
type std (line 387) | namespace std
type hash<StubAddress> (line 390) | struct hash<StubAddress>
type equal_to<StubAddress> (line 400) | struct equal_to<StubAddress>
function StubAddress (line 418) | inline StubAddress & StubAddress::operator = ( const StubAddress & source )
function StubAddress (line 431) | inline StubAddress & StubAddress::operator = ( StubAddress && source ) n...
function StubAddress (line 444) | inline StubAddress & StubAddress::operator = (const ServiceAddress & add...
function StubAddress (line 457) | inline StubAddress & StubAddress::operator = ( ServiceAddress && addrSer...
function String (line 520) | inline const String & StubAddress::getThread( void ) const
function Channel (line 525) | inline const Channel & StubAddress::getChannel(void) const
function ITEM_ID (line 535) | inline const ITEM_ID & StubAddress::getCookie( void ) const
function ITEM_ID (line 545) | inline const ITEM_ID & StubAddress::getSource( void ) const
function StubAddress (line 555) | inline StubAddress& StubAddress::self(void)
FILE: framework/areg/component/StubBase.hpp
class RemoteNotifyRequestEvent (line 40) | class RemoteNotifyRequestEvent
class ServiceResponseEvent (line 41) | class ServiceResponseEvent
class RemoteRequestEvent (line 42) | class RemoteRequestEvent
class ComponentThread (line 43) | class ComponentThread
class EventDataStream (line 44) | class EventDataStream
class ResponseEvent (line 45) | class ResponseEvent
class Component (line 46) | class Component
class AREG_API (line 57) | class AREG_API
class AREG_API (line 89) | class AREG_API
FILE: framework/areg/component/StubEvent.hpp
class StubEvent (line 43) | class StubEvent
class IEStubEventConsumer (line 45) | class IEStubEventConsumer
class ServiceRequestEvent (line 50) | class ServiceRequestEvent
class RequestEvent (line 51) | class RequestEvent
class NotifyRequestEvent (line 52) | class NotifyRequestEvent
class StubConnectEvent (line 53) | class StubConnectEvent
function StreamableEvent (line 73) | class AREG_API StubEvent : public StreamableEvent
function IEStubEventConsumer (line 178) | class AREG_API IEStubEventConsumer : public IEEventConsumer
function StubAddress (line 313) | inline const StubAddress & StubEvent::getTargetStub( void ) const
function Event (line 318) | inline const Event* IEStubEventConsumer::getCurrentEvent(void) const
FILE: framework/areg/component/TEEvent.hpp
class __ (line 132) | class __##ConsumerClass : public IEEventConsumer ...
class __ (line 175) | class __
class __ (line 170) | class __##EventClass : public Event ...
class __ (line 175) | class __
function DATA_CLASS (line 563) | inline const DATA_CLASS & __##EventClass<DATA_CLASS>::getData( void ) co...
class __ (line 618) | class __
class __ (line 175) | class __
FILE: framework/areg/component/Timer.hpp
class IETimerConsumer (line 30) | class IETimerConsumer
class DispatcherThread (line 31) | class DispatcherThread
function TimerBase (line 44) | class AREG_API Timer : public TimerBase
function Timer (line 287) | inline Timer & Timer::self( void )
function IETimerConsumer (line 292) | inline IETimerConsumer& Timer::getConsumer( void ) const
FILE: framework/areg/component/TimerBase.hpp
function TimerBase (line 39) | class AREG_API TimerBase
function String (line 248) | inline const String & TimerBase::getName( void ) const
function TIMERHANDLE (line 268) | inline TIMERHANDLE TimerBase::getHandle(void) const
FILE: framework/areg/component/WorkerThread.hpp
class Component (line 30) | class Component
class ComponentThread (line 31) | class ComponentThread
class IEWorkerThreadConsumer (line 32) | class IEWorkerThreadConsumer
function DispatcherThread (line 70) | class AREG_API WorkerThread : public DispatcherThread
function Component (line 232) | inline Component& WorkerThread::getBindingComponent( void ) const
function WorkerThread (line 237) | inline WorkerThread& WorkerThread::self( void )
FILE: framework/areg/component/private/Channel.cpp
function Channel (line 20) | const Channel & Channel::getInvalidChannel( void )
function Channel (line 54) | Channel & Channel::operator = ( const Channel & source )
function Channel (line 62) | Channel & Channel::operator = ( Channel && source ) noexcept
function String (line 70) | String Channel::convToString( void ) const
function Channel (line 79) | const Channel & Channel::convFromString(const String & channel)
FILE: framework/areg/component/private/ClientInfo.cpp
function ClientInfo (line 32) | const ClientInfo & ClientInfo::getInvalidClientInfo( void )
function ClientInfo (line 78) | ClientInfo & ClientInfo::operator = ( const ClientInfo & src )
function ClientInfo (line 86) | ClientInfo & ClientInfo::operator = ( ClientInfo && src ) noexcept
function ClientInfo (line 94) | ClientInfo & ClientInfo::operator = ( const ProxyAddress & client )
function ClientInfo (line 101) | ClientInfo & ClientInfo::operator = ( ProxyAddress && client ) noexcept
FILE: framework/areg/component/private/ClientInfo.hpp
class StubAddress (line 25) | class StubAddress
class ClientInfo (line 34) | class ClientInfo
type std (line 204) | namespace std
type hash<ClientInfo> (line 207) | struct hash<ClientInfo>
function ProxyAddress (line 226) | inline const ProxyAddress & ClientInfo::getAddress( void ) const
FILE: framework/areg/component/private/ClientList.cpp
function ClientInfo (line 33) | const ClientInfo & ClientList::getClient( const ProxyAddress & whichClie...
function ClientInfo (line 39) | const ClientInfo & ClientList::registerClient( const ProxyAddress & whic...
FILE: framework/areg/component/private/ClientList.hpp
class ProxyAddress (line 28) | class ProxyAddress
class ServerInfo (line 29) | class ServerInfo
class ClientList (line 38) | class ClientList : public ClientListBase
method ClientList (line 47) | ClientList( void ) = default;
method ClientList (line 53) | ClientList( const ClientList & src ) = default;
method ClientList (line 59) | ClientList( ClientList && src ) noexcept = default;
method ClientList (line 74) | ClientList & operator = ( const ClientList & src ) = default;
method ClientList (line 80) | ClientList & operator = ( ClientList && src ) noexcept = default;
FILE: framework/areg/component/private/Component.cpp
function Component (line 41) | Component* Component::loadComponent(const NERegistry::ComponentEntry &en...
function Component (line 86) | Component* Component::findComponentByName( const String & roleName )
function Component (line 93) | Component * Component::findComponentByNumber(unsigned int magicNum)
function Component (line 100) | Component* Component::findComponentByAddress( const ComponentAddress& co...
function ComponentThread (line 112) | ComponentThread& Component::_getCurrentComponentThread( void )
function WorkerThread (line 161) | WorkerThread* Component::createWorkerThread( const String & threadName
function StubBase (line 256) | StubBase* Component::findServerByName( const String & serviceName )
function IEWorkerThreadConsumer (line 284) | IEWorkerThreadConsumer* Component::workerThreadConsumer( const String & ...
FILE: framework/areg/component/private/ComponentAddress.cpp
function ComponentAddress (line 46) | const ComponentAddress & ComponentAddress::getInvalidComponentAddress( v...
function String (line 129) | String ComponentAddress::convToString(void) const
function String (line 169) | String ComponentAddress::convAddressToPath( const ComponentAddress& comp...
function ComponentAddress (line 174) | ComponentAddress ComponentAddress::convPathToAddress( const char* compon...
FILE: framework/areg/component/private/ComponentInfo.cpp
function DispatcherThread (line 49) | DispatcherThread * ComponentInfo::findEventConsumer( const RuntimeClassI...
FILE: framework/areg/component/private/ComponentInfo.hpp
class ComponentThread (line 32) | class ComponentThread
class WorkerThread (line 33) | class WorkerThread
class DispatcherThread (line 34) | class DispatcherThread
function ComponentInfo (line 47) | class AREG_API ComponentInfo
function ComponentThread (line 274) | inline ComponentThread& ComponentInfo::getMasterThread( void ) const
function ComponentAddress (line 279) | inline const ComponentAddress& ComponentInfo::getAddress( void ) const
function String (line 284) | inline const String& ComponentInfo::getRoleName( void ) const
function WorkerThread (line 294) | inline WorkerThread* ComponentInfo::findWorkerThread( const ThreadAddres...
function WorkerThread (line 299) | inline WorkerThread* ComponentInfo::findWorkerThread( const String & thr...
function WorkerThread (line 305) | inline WorkerThread* ComponentInfo::findThreadByPath( const String & com...
function WorkerThread (line 311) | inline WorkerThread* ComponentInfo::getFirstWorkerThread( ThreadAddress ...
function WorkerThread (line 316) | inline WorkerThread* ComponentInfo::getNextWorkerThread( ThreadAddress &...
function WorkerThread (line 321) | inline WorkerThread* ComponentInfo::removeFirstWorkerThread(ThreadAddres...
FILE: framework/areg/component/private/ComponentLoader.cpp
function ComponentLoader (line 50) | ComponentLoader & ComponentLoader::getInstance( void )
FILE: framework/areg/component/private/ComponentThread.cpp
function Component (line 36) | Component* ComponentThread::getCurrentComponent( void )
function ComponentThread (line 50) | inline ComponentThread & ComponentThread::self( void )
function ComponentThread (line 55) | inline ComponentThread* ComponentThread::_getCurrentComponentThread( void )
function DispatcherThread (line 158) | DispatcherThread* ComponentThread::getEventConsumerThread( const Runtime...
FILE: framework/areg/component/private/DispatcherThread.cpp
function NullDispatcherThread (line 43) | class AREG_API NullDispatcherThread : public ComponentThread
function DispatcherThread (line 198) | DispatcherThread & DispatcherThread::_getNullDispatherThread( void )
function DispatcherThread (line 259) | DispatcherThread* DispatcherThread::getEventConsumerThread( const Runtim...
function DispatcherThread (line 288) | DispatcherThread * DispatcherThread::findEventConsumerThread( const Runt...
FILE: framework/areg/component/private/Event.cpp
function Event (line 97) | inline Event & Event::self( void )
function EventDispatcher (line 111) | EventDispatcher& Event::getDispatcher( void ) const
FILE: framework/areg/component/private/EventConsumerMap.hpp
class EventConsumerList (line 30) | class EventConsumerList
method EventConsumerList (line 66) | EventConsumerList( void ) = default;
method EventConsumerList (line 71) | EventConsumerList(const EventConsumerList & src) = default;
method EventConsumerList (line 76) | EventConsumerList( EventConsumerList && src ) noexcept = default;
method EventConsumerList (line 90) | inline EventConsumerList & operator = (const EventConsumerList & src )...
method EventConsumerList (line 96) | inline EventConsumerList & operator = ( EventConsumerList && src ) noe...
class IEEventConsumer (line 35) | class IEEventConsumer
class EventConsumerList (line 57) | class EventConsumerList : public EventConsumerListBase
method EventConsumerList (line 66) | EventConsumerList( void ) = default;
method EventConsumerList (line 71) | EventConsumerList(const EventConsumerList & src) = default;
method EventConsumerList (line 76) | EventConsumerList( EventConsumerList && src ) noexcept = default;
method EventConsumerList (line 90) | inline EventConsumerList & operator = (const EventConsumerList & src )...
method EventConsumerList (line 96) | inline EventConsumerList & operator = ( EventConsumerList && src ) noe...
class ImplEventConsumerMap (line 139) | class ImplEventConsumerMap : public TEResourceMapImpl<RuntimeClassID, Ev...
FILE: framework/areg/component/private/EventData.cpp
function EventData (line 62) | EventData & EventData::operator = (const EventData & src)
function EventData (line 69) | EventData & EventData::operator = ( EventData && src ) noexcept
FILE: framework/areg/component/private/EventDataStream.cpp
function EventDataStream (line 103) | EventDataStream & EventDataStream::operator = ( const EventDataStream & ...
function EventDataStream (line 115) | EventDataStream & EventDataStream::operator = ( EventDataStream && src )...
FILE: framework/areg/component/private/EventDispatcherBase.cpp
function Event (line 275) | Event* EventDispatcherBase::pickEvent( void )
FILE: framework/areg/component/private/EventDispatcherBase.hpp
class DispatcherThread (line 43) | class DispatcherThread
class AREG_API (line 58) | class AREG_API
function EventDispatcherBase (line 408) | inline EventDispatcherBase& EventDispatcherBase::self( void )
FILE: framework/areg/component/private/EventQueue.cpp
function Event (line 46) | Event* EventQueue::popEvent( void )
function InternalEventQueue (line 110) | inline InternalEventQueue & InternalEventQueue::self( void )
FILE: framework/areg/component/private/EventQueue.hpp
class Event (line 29) | class Event
class RuntimeClassID (line 30) | class RuntimeClassID
function EventQueue (line 41) | class AREG_API EventQueue
function ExternalEventQueue (line 169) | class AREG_API ExternalEventQueue : public EventQueue
class AREG_API (line 214) | class AREG_API
FILE: framework/areg/component/private/ExitEvent.cpp
function ExitEvent (line 28) | ExitEvent & ExitEvent::getExitEvent( void )
FILE: framework/areg/component/private/ExitEvent.hpp
class ExitEvent (line 28) | class ExitEvent : public Event
FILE: framework/areg/component/private/IEEventDispatcher.hpp
class Event (line 29) | class Event
class RuntimeClassID (line 30) | class RuntimeClassID
class IEEventConsumer (line 31) | class IEEventConsumer
function IEEventDispatcher (line 46) | class AREG_API IEEventDispatcher
FILE: framework/areg/component/private/IEQueueListener.hpp
class Event (line 30) | class Event
function IEQueueListener (line 41) | class AREG_API IEQueueListener
FILE: framework/areg/component/private/NERegistry.cpp
function AREG_API_IMPL (line 34) | AREG_API_IMPL const NERegistry::ServiceEntry & NERegistry::invalidServic...
function AREG_API_IMPL (line 43) | AREG_API_IMPL const NERegistry::ServiceList & NERegistry::invalidService...
function AREG_API_IMPL (line 52) | AREG_API_IMPL const NERegistry::WorkerThreadEntry & NERegistry::invalidW...
function AREG_API_IMPL (line 61) | AREG_API_IMPL const NERegistry::WorkerThreadList & NERegistry::invalidWo...
function AREG_API_IMPL (line 70) | AREG_API_IMPL const NERegistry::DependencyEntry & NERegistry::invalidDep...
function AREG_API_IMPL (line 79) | AREG_API_IMPL const NERegistry::DependencyList & NERegistry::invalidDepe...
function AREG_API_IMPL (line 88) | AREG_API_IMPL const NERegistry::ComponentEntry & NERegistry::invalidComp...
function AREG_API_IMPL (line 97) | AREG_API_IMPL const NERegistry::ComponentList & NERegistry::invalidCompo...
function AREG_API_IMPL (line 106) | AREG_API_IMPL const NERegistry::ComponentThreadEntry & NERegistry::inval...
function AREG_API_IMPL (line 115) | AREG_API_IMPL const NERegistry::ComponentThreadList & NERegistry::invali...
function AREG_API_IMPL (line 124) | AREG_API_IMPL const NERegistry::Model & NERegistry::invalidModel( void )
function String (line 322) | const String & NERegistry::DependencyEntry::getDepdendentService( void )...
function String (line 1045) | const String & NERegistry::Model::getModelName( void ) const
FILE: framework/areg/component/private/NEService.cpp
function AREG_API_IMPL (line 242) | AREG_API_IMPL NEService::SInterfaceData & NEService::getEmptyInterface(v...
FILE: framework/areg/component/private/NotificationEvent.cpp
function NotificationEventData (line 52) | NotificationEventData & NotificationEventData::operator = ( const Notifi...
function NotificationEventData (line 65) | NotificationEventData & NotificationEventData::operator = ( Notification...
FILE: framework/areg/component/private/ProxyAddress.cpp
function ProxyAddress (line 57) | const ProxyAddress & ProxyAddress::getInvalidProxyAddress()
function String (line 66) | String ProxyAddress::convAddressToPath( const ProxyAddress & proxyAddress )
function ProxyAddress (line 71) | ProxyAddress ProxyAddress::convPathToAddress( const char* pathProxy, con...
function String (line 250) | String ProxyAddress::convToString(void) const
function AREG_API_IMPL (line 290) | AREG_API_IMPL const IEInStream & operator >> ( const IEInStream & stream...
function AREG_API_IMPL (line 303) | AREG_API_IMPL IEOutStream & operator << ( IEOutStream & stream, const Pr...
FILE: framework/areg/component/private/ProxyBase.cpp
function RemoteResponseEvent (line 248) | RemoteResponseEvent * ProxyBase::createRequestFailureEvent(const ProxyAd...
function RemoteResponseEvent (line 650) | RemoteResponseEvent * ProxyBase::createRemoteResponseEvent(const IEInStr...
function RemoteResponseEvent (line 655) | RemoteResponseEvent * ProxyBase::createRemoteRequestFailedEvent( const ...
FILE: framework/areg/component/private/ProxyConnectEvent.cpp
function IEInStream (line 55) | const IEInStream & ProxyConnectEvent::readStream(const IEInStream & stream)
function IEOutStream (line 63) | IEOutStream & ProxyConnectEvent::writeStream(IEOutStream & stream) const
FILE: framework/areg/component/private/ProxyConnectEvent.hpp
class ProxyConnectEvent (line 37) | class ProxyConnectEvent : public ServiceResponseEvent
method ProxyConnectEvent (line 135) | ProxyConnectEvent( void ) = delete;
function StubAddress (line 143) | inline const StubAddress & ProxyConnectEvent::getStubAddress( void ) const
FILE: framework/areg/component/private/ProxyEvent.cpp
function IEInStream (line 69) | const IEInStream & ProxyEvent::readStream( const IEInStream & stream )
function IEOutStream (line 76) | IEOutStream & ProxyEvent::writeStream( IEOutStream & stream ) const
FILE: framework/areg/component/private/RemoteEventFactory.cpp
function StreamableEvent (line 33) | StreamableEvent * RemoteEventFactory::createEventFromStream( const Remot...
function StreamableEvent (line 289) | StreamableEvent * RemoteEventFactory::createRequestFailedEvent( const Re...
FILE: framework/areg/component/private/RequestEvents.cpp
function IEInStream (line 59) | const IEInStream & RequestEvent::readStream(const IEInStream & stream)
function IEOutStream (line 66) | IEOutStream & RequestEvent::writeStream(IEOutStream & stream) const
FILE: framework/areg/component/private/ResponseEvents.cpp
function IEInStream (line 65) | const IEInStream & ResponseEvent::readStream(const IEInStream & stream)
function IEOutStream (line 72) | IEOutStream & ResponseEvent::writeStream(IEOutStream & stream) const
FILE: framework/areg/component/private/ServerInfo.cpp
function ServerInfo (line 68) | ServerInfo & ServerInfo::operator = ( const ServerInfo & src )
function ServerInfo (line 76) | ServerInfo & ServerInfo::operator = ( ServerInfo && src ) noexcept
function ServerInfo (line 84) | ServerInfo & ServerInfo::operator = ( const StubAddress & server )
function ServerInfo (line 92) | ServerInfo & ServerInfo::operator = ( StubAddress && server ) noexcept
function ServerInfo (line 100) | ServerInfo & ServerInfo::operator = (const ServiceAddress & addService)
function ServerInfo (line 108) | ServerInfo & ServerInfo::operator = ( ServiceAddress && addService ) noe...
FILE: framework/areg/component/private/ServerInfo.hpp
class ClientInfo (line 29) | class ClientInfo
class ServerInfo (line 41) | class ServerInfo
type std (line 214) | namespace std
type hash<ServerInfo> (line 217) | struct hash<ServerInfo>
type equal_to<ServerInfo> (line 227) | struct equal_to<ServerInfo>
function StubAddress (line 241) | inline const StubAddress& ServerInfo::getAddress( void ) const
FILE: framework/areg/component/private/ServerList.cpp
function ServerInfo (line 58) | const ServerInfo & ServerList::registerClient( const ProxyAddress & whic...
function ServerInfo (line 79) | ServerInfo ServerList::unregisterClient( const ProxyAddress & whichClien...
function ServerInfo (line 114) | const ServerInfo & ServerList::registerServer( const StubAddress & addrS...
function ServerInfo (line 145) | ServerInfo ServerList::unregisterServer( const StubAddress & whichServer...
function ClientList (line 185) | const ClientList & ServerList::getClientList(const StubAddress & whichSe...
function ServerInfo (line 197) | const ServerInfo * ServerList::findClientServer(const ProxyAddress & whi...
FILE: framework/areg/component/private/ServerList.hpp
class StubAddress (line 30) | class StubAddress
class ProxyAddress (line 31) | class ProxyAddress
class ServerList (line 50) | class ServerList : public ServerListBase
method ServerList (line 60) | ServerList( void ) = default;
FILE: framework/areg/component/private/ServiceAddress.cpp
function String (line 27) | String ServiceAddress::convAddressToPath( const ServiceAddress & addServ...
function ServiceAddress (line 32) | ServiceAddress ServiceAddress::convPathToAddress( const char * pathServi...
function String (line 105) | String ServiceAddress::convToString(void) const
FILE: framework/areg/component/private/ServiceItem.cpp
function String (line 22) | String ServiceItem::convAddressToPath( const ServiceItem & service )
function ServiceItem (line 27) | ServiceItem ServiceItem::convPathToAddress( const char* pathService, con...
function String (line 88) | String ServiceItem::convToString(void) const
FILE: framework/areg/component/private/ServiceManager.cpp
function ServiceManager (line 56) | ServiceManager & ServiceManager::getInstance( void )
FILE: framework/areg/component/private/ServiceManager.hpp
class StubAddress (line 36) | class StubAddress
class ProxyAddress (line 37) | class ProxyAddress
class ServiceRequestEvent (line 38) | class ServiceRequestEvent
class ServiceResponseEvent (line 39) | class ServiceResponseEvent
class ServiceManager (line 67) | class ServiceManager : private DispatcherThread
function IEServiceConnectionProvider (line 470) | inline IEServiceConnectionProvider& ServiceManager::getServiceConnection...
function IEServiceRegisterProvider (line 475) | inline IEServiceRegisterProvider& ServiceManager::getServiceRegisterProv...
function ServiceManager (line 480) | inline ServiceManager & ServiceManager::self( void )
FILE: framework/areg/component/private/ServiceManagerEventProcessor.hpp
class IEServiceConnectionProvider (line 30) | class IEServiceConnectionProvider
class IEServiceRegisterProvider (line 31) | class IEServiceRegisterProvider
class ServiceManager (line 32) | class ServiceManager
class ProxyAddress (line 33) | class ProxyAddress
class StubAddress (line 34) | class StubAddress
class IEInStream (line 35) | class IEInStream
class ServiceManagerEventProcessor (line 44) | class ServiceManagerEventProcessor
method ServiceManagerEventProcessor (line 172) | ServiceManagerEventProcessor( void ) = delete;
function ServerList (line 180) | inline const ServerList & ServiceManagerEventProcessor::getRegisteredSer...
FILE: framework/areg/component/private/ServiceManagerEvents.cpp
function ServiceManagerEventData (line 27) | ServiceManagerEventData ServiceManagerEventData::stopMessageRouterClient...
function ServiceManagerEventData (line 32) | ServiceManagerEventData ServiceManagerEventData::shutdownServiceManager(...
function ServiceManagerEventData (line 37) | ServiceManagerEventData ServiceManagerEventData::registerProxy(const Pro...
function ServiceManagerEventData (line 46) | ServiceManagerEventData ServiceManagerEventData::unregisterProxy( const ...
function ServiceManagerEventData (line 56) | ServiceManagerEventData ServiceManagerEventData::registerStub(const Stub...
function ServiceManagerEventData (line 65) | ServiceManagerEventData ServiceManagerEventData::unregisterStub( const S...
function ServiceManagerEventData (line 75) | ServiceManagerEventData ServiceManagerEventData::configureConnection(NER...
function ServiceManagerEventData (line 84) | ServiceManagerEventData ServiceManagerEventData::startConnection(NERemot...
function ServiceManagerEventData (line 93) | ServiceManagerEventData ServiceManagerEventData::startNetConnection( con...
function ServiceManagerEventData (line 102) | ServiceManagerEventData ServiceManagerEventData::stopConnection(void)
function ServiceManagerEventData (line 107) | ServiceManagerEventData ServiceManagerEventData::registerConnection(cons...
function ServiceManagerEventData (line 115) | ServiceManagerEventData ServiceManagerEventData::unregisterConnection(co...
function ServiceManagerEventData (line 123) | ServiceManagerEventData ServiceManagerEventData::lostConnection(const Ch...
function ServiceManagerEventData (line 131) | ServiceManagerEventData ServiceManagerEventData::terminateComponentThrea...
function ServiceManagerEventData (line 139) | ServiceManagerEventData ServiceManagerEventData::createComponentThread(c...
FILE: framework/areg/component/private/ServiceManagerEvents.hpp
class ProxyAddress (line 31) | class ProxyAddress
class StubAddress (line 32) | class StubAddress
class Channel (line 33) | class Channel
class String (line 34) | class String
class ServiceManagerEventData (line 44) | class ServiceManagerEventData
type E_ServiceManagerCommands (line 53) | enum class E_ServiceManagerCommands
method ServiceManagerEventData (line 244) | ServiceManagerEventData( void ) = delete;
function ServiceManagerEventData (line 274) | inline ServiceManagerEventData & ServiceManagerEventData::operator = (co...
type E_ServiceManagerCommands (line 53) | enum class E_ServiceManagerCommands
method ServiceManagerEventData (line 244) | ServiceManagerEventData( void ) = delete;
function ServiceManagerEventData (line 282) | inline ServiceManagerEventData & ServiceManagerEventData::operator = ( S...
type E_ServiceManagerCommands (line 53) | enum class E_ServiceManagerCommands
method ServiceManagerEventData (line 244) | ServiceManagerEventData( void ) = delete;
function IEInStream (line 290) | inline const IEInStream & ServiceManagerEventData::getReadStream( void )...
function IEOutStream (line 295) | inline IEOutStream & ServiceManagerEventData::getWriteStream( void )
FILE: framework/areg/component/private/ServiceRequestEvent.cpp
function IEInStream (line 56) | const IEInStream & ServiceRequestEvent::readStream(const IEInStream & st...
function IEOutStream (line 66) | IEOutStream & ServiceRequestEvent::writeStream(IEOutStream & stream) const
FILE: framework/areg/component/private/ServiceResponseEvent.cpp
function ServiceResponseEvent (line 53) | ServiceResponseEvent* ServiceResponseEvent::cloneForTarget( const ProxyA...
function IEInStream (line 58) | const IEInStream & ServiceResponseEvent::readStream( const IEInStream & ...
function IEOutStream (line 67) | IEOutStream & ServiceResponseEvent::writeStream( IEOutStream & stream ) ...
FILE: framework/areg/component/private/SortedEventStack.hpp
class RuntimeClassID (line 26) | class RuntimeClassID
class SortedEventStack (line 51) | class SortedEventStack : protected TELockStack<Event *>
FILE: framework/areg/component/private/StreamableEvent.cpp
function IEInStream (line 44) | const IEInStream & StreamableEvent::readStream( const IEInStream & stream )
function IEOutStream (line 49) | IEOutStream & StreamableEvent::writeStream( IEOutStream & stream ) const
FILE: framework/areg/component/private/StubAddress.cpp
function String (line 46) | String StubAddress::convAddressToPath( const StubAddress & stubAddress )
function StubAddress (line 51) | StubAddress StubAddress::convPathToAddress( const char* pathStub, const ...
function StubAddress (line 58) | const StubAddress & StubAddress::getInvalidStubAddress( void )
function String (line 231) | String StubAddress::convToString(void) const
function AREG_API_IMPL (line 284) | AREG_API_IMPL const IEInStream & operator >> ( const IEInStream & stream...
function AREG_API_IMPL (line 297) | AREG_API_IMPL IEOutStream & operator << ( IEOutStream & stream, const St...
FILE: framework/areg/component/private/StubBase.cpp
function SessionID (line 108) | SessionID StubBase::unblockCurrentRequest( void )
function ComponentThread (line 263) | ComponentThread & StubBase::getComponentThread( void ) const
function StubBase (line 268) | StubBase* StubBase::findStubByAddress( const StubAddress& address )
function Version (line 525) | const Version & StubBase::getImplVersion( void ) const
function ResponseEvent (line 560) | ResponseEvent * StubBase::createResponseEvent( const ProxyAddress & ...
function RemoteRequestEvent (line 568) | RemoteRequestEvent * StubBase::createRemoteRequestEvent( const IEInStrea...
function RemoteNotifyRequestEvent (line 573) | RemoteNotifyRequestEvent * StubBase::createRemoteNotifyRequestEvent( con...
FILE: framework/areg/component/private/StubConnectEvent.cpp
function IEInStream (line 50) | const IEInStream & StubConnectEvent::readStream(const IEInStream & stream)
function IEOutStream (line 57) | IEOutStream & StubConnectEvent::writeStream(IEOutStream & stream) const
FILE: framework/areg/component/private/StubConnectEvent.hpp
class StubConnectEvent (line 29) | class StubConnectEvent : public ServiceRequestEvent
method StubConnectEvent (line 108) | StubConnectEvent( void ) = delete;
FILE: framework/areg/component/private/StubEvent.cpp
function IEInStream (line 52) | const IEInStream & StubEvent::readStream( const IEInStream & stream )
function IEOutStream (line 59) | IEOutStream & StubEvent::writeStream( IEOutStream & stream ) const
FILE: framework/areg/component/private/TimerEventData.hpp
class TimerEventData (line 27) | class TimerEventData
class TimerEvent (line 28) | class TimerEvent
class Timer (line 33) | class Timer
function TimerEventData (line 42) | class AREG_API TimerEventData
function TimerEventBase (line 120) | class AREG_API TimerEvent : public TimerEventBase
function Timer (line 213) | inline Timer* TimerEventData::getTimer( void ) const
function TimerEventData (line 218) | inline TimerEventData & TimerEventData::operator = ( const TimerEventDat...
function TimerEventData (line 224) | inline TimerEventData & TimerEventData::operator = ( TimerEventData && s...
FILE: framework/areg/component/private/TimerManager.cpp
function TimerManager (line 37) | TimerManager & TimerManager::getInstance( void )
FILE: framework/areg/component/private/TimerManager.hpp
class Timer (line 31) | class Timer
class TimerPosix (line 32) | class TimerPosix
class TimerManager (line 55) | class TimerManager : protected TimerManagerBase
FILE: framework/areg/component/private/TimerManagerBase.hpp
class TimerBase (line 29) | class TimerBase
class TimerManagerBase (line 40) | class TimerManagerBase : protected DispatcherThread
method TimerManagerBase (line 127) | TimerManagerBase(void) = delete;
function TimerManagerBase (line 135) | inline TimerManagerBase& TimerManagerBase::self( void )
method TimerManagerBase (line 127) | TimerManagerBase(void) = delete;
FILE: framework/areg/component/private/TimerManagerEvent.hpp
class TimerManagerEventData (line 31) | class TimerManagerEventData
class Timer (line 52) | class Timer
class TimerManagerEventData (line 65) | class TimerManagerEventData
function TimerManagerEventData (line 155) | inline TimerManagerEventData& TimerManagerEventData::operator = (const T...
function TimerBase (line 161) | inline TimerBase* TimerManagerEventData::getTimer(void) const
FILE: framework/areg/component/private/Watchdog.hpp
class ComponentThread (line 26) | class ComponentThread
class WorkerThread (line 27) | class WorkerThread
function Watchdog (line 44) | class AREG_API Watchdog : public TimerBase
function ComponentThread (line 229) | inline const ComponentThread& Watchdog::getComponentThread(void) const
FILE: framework/areg/component/private/WatchdogManager.cpp
function WatchdogManager (line 35) | WatchdogManager& WatchdogManager::getInstance(void)
FILE: framework/areg/component/private/WatchdogManager.hpp
class TimerPosix (line 30) | class TimerPosix
class WatchdogManager (line 32) | class WatchdogManager : protected TimerManagerBase
FILE: framework/areg/component/private/WorkerThread.cpp
function DispatcherThread (line 73) | DispatcherThread* WorkerThread::getEventConsumerThread( const RuntimeCla...
function ComponentThread (line 87) | ComponentThread & WorkerThread::getBindingComponentThread( void ) const
FILE: framework/areg/component/private/posix/TimerBasePosix.cpp
function TIMERHANDLE (line 28) | TIMERHANDLE TimerBase::_osCreateWaitableTimer( void )
FILE: framework/areg/component/private/posix/TimerManagerPosix.cpp
type timespec (line 85) | struct timespec
FILE: framework/areg/component/private/posix/TimerPosix.cpp
type sigevent (line 187) | struct sigevent
type sigevent (line 188) | struct sigevent
type itimerspec (line 267) | struct itimerspec
type itimerspec (line 268) | struct itimerspec
type itimerspec (line 311) | struct itimerspec
type itimerspec (line 312) | struct itimerspec
FILE: framework/areg/component/private/posix/TimerPosix.hpp
class TimerBase (line 36) | class TimerBase
class TimerPosix (line 37) | class TimerPosix
type timespec (line 249) | struct timespec
class TimerPosix (line 59) | class TimerPosix
type timespec (line 249) | struct timespec
function timer_t (line 268) | inline timer_t TimerPosix::getTimerId(void) const
function id_type (line 281) | inline id_type TimerPosix::getContextId(void) const
function timespec (line 287) | inline const timespec & TimerPosix::getDueTime(void) const
FILE: framework/areg/component/private/win32/TimerBaseWin32.cpp
function TIMERHANDLE (line 24) | TIMERHANDLE TimerBase::_osCreateWaitableTimer()
FILE: framework/areg/ipc/ClientConnection.hpp
function SocketConnectionBase (line 37) | class AREG_API ClientConnection : private SocketConnectionBase
function ITEM_ID (line 233) | inline const ITEM_ID & ClientConnection::getCookie( void ) const
function Socket (line 273) | inline Socket & ClientConnection::getSocket( void )
FILE: framework/areg/ipc/ConnectionConfiguration.hpp
function ConnectionConfiguration (line 33) | class AREG_API ConnectionConfiguration
function String (line 147) | inline const String& ConnectionConfiguration::getRemoteServiceName(void)...
function String (line 152) | inline const String& ConnectionConfiguration::getConnectionType(void) const
FILE: framework/areg/ipc/IERemoteMessageHandler.hpp
class RemoteMessage (line 26) | class RemoteMessage
class Socket (line 27) | class Socket
function IERemoteMessageHandler (line 37) | class AREG_API IERemoteMessageHandler
FILE: framework/areg/ipc/IEServiceConnectionConsumer.hpp
class Channel (line 26) | class Channel
function IEServiceConnectionConsumer (line 35) | class AREG_API IEServiceConnectionConsumer
FILE: framework/areg/ipc/IEServiceConnectionProvider.hpp
class String (line 30) | class String
function IEServiceConnectionProvider (line 41) | class AREG_API IEServiceConnectionProvider
FILE: framework/areg/ipc/IEServiceRegisterConsumer.hpp
class StreamableEvent (line 30) | class StreamableEvent
class Channel (line 31) | class Channel
function IEServiceRegisterConsumer (line 40) | class AREG_API IEServiceRegisterConsumer
FILE: framework/areg/ipc/IEServiceRegisterProvider.hpp
class StubAddress (line 24) | class StubAddress
class ProxyAddress (line 25) | class ProxyAddress
function IEServiceRegisterProvider (line 34) | class AREG_API IEServiceRegisterProvider
FILE: framework/areg/ipc/NERemoteService.hpp
class StubAddress (line 31) | class StubAddress
class ProxyAddress (line 32) | class ProxyAddress
class RemoteMessage (line 33) | class RemoteMessage
class Channel (line 34) | class Channel
type NERemoteService (line 43) | namespace NERemoteService
type eConnectionTypes (line 49) | enum eConnectionTypes : uint32_t
type eRemoteServices (line 62) | enum eRemoteServices : uint32_t
type eRemoteConnection (line 72) | enum eRemoteConnection : uint32_t
FILE: framework/areg/ipc/SendMessageEvent.hpp
function SendMessageEventData (line 36) | class AREG_API SendMessageEventData
function SendMessageEventData (line 169) | inline SendMessageEventData& SendMessageEventData::operator = (const Sen...
function SendMessageEventData (line 176) | inline SendMessageEventData& SendMessageEventData::operator = (SendMessa...
function RemoteMessage (line 183) | inline const RemoteMessage & SendMessageEventData::getRemoteMessage( voi...
FILE: framework/areg/ipc/ServerConnectionBase.hpp
function ServerConnectionBase (line 46) | class AREG_API ServerConnectionBase
function SOCKETHANDLE (line 374) | inline SOCKETHANDLE ServerConnectionBase::getSocketHandle( void ) const
function ITEM_ID (line 386) | inline ITEM_ID ServerConnectionBase::getCookie(const SocketAccepted & cl...
function ITEM_ID (line 391) | inline ITEM_ID ServerConnectionBase::getCookie(SOCKETHANDLE socketHandle...
function SocketAccepted (line 399) | inline SocketAccepted ServerConnectionBase::getClientByCookie(const ITEM...
fu
Copy disabled (too large)
Download .json
Condensed preview — 1112 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (19,711K chars).
[
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 833,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: bug\nassignees: aregtech\n\n---\n\n**Describ"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 610,
"preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: enhancement\nassignees: aregtech\n\n---"
},
{
"path": ".github/config.yml",
"chars": 112,
"preview": "# DCO Bot Configuration\ndco:\n enabled: true\n require:\n - pull_request\n token: ${{ secrets.GITHUB_TOKEN }}\n"
},
{
"path": ".github/dependabot.yml",
"chars": 605,
"preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
},
{
"path": ".github/pull_request_template.md",
"chars": 410,
"preview": "## Summary\n<!-- One or two sentences explaining the purpose of this PR. -->\n\n## Changes\n<!-- Key updates, fixes, or feat"
},
{
"path": ".github/workflows/accessibility-bot.yml",
"chars": 689,
"preview": "name: Accessibility-alt-text-bot\non: \n issues:\n types: [opened, edited]\n pull_request:\n types: [opened, edited]\n"
},
{
"path": ".github/workflows/cmake.yml",
"chars": 19496,
"preview": "name: CMake\n\non:\n push: # Keep empty to run on each branch when push the code. Otherwise use branches: [ master"
},
{
"path": ".github/workflows/codeql-analysis.yml",
"chars": 2359,
"preview": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# Y"
},
{
"path": ".github/workflows/msbuild.yml",
"chars": 3113,
"preview": "name: MSBuild\n\non:\n push: # Keep empty to run on each branch when push the code. Otherwise, use branches: [ mas"
},
{
"path": ".github/workflows/validate-pr.yml",
"chars": 821,
"preview": "name: PR Validation\n\non:\n pull_request:\n types: [opened, edited, reopened, synchronize]\n\njobs:\n pr-check:\n runs-"
},
{
"path": ".gitignore",
"chars": 545,
"preview": "*.aps\n*.opensdf\n*.suo\n*.sdf\n*.user\n*.o\n*.obj\n*.log\n*.stackdump\n*.d\n*.diff\n\n.git\n.metadata\n.vs\n.vscode\n\nbuild/*\nout/*\npro"
},
{
"path": "CMakeLists.txt",
"chars": 3224,
"preview": "# ###########################################################################\n# CMake options of Areg SDK\n"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 5224,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participa"
},
{
"path": "CONTRIBUTING.md",
"chars": 3846,
"preview": "# CONTRIBUTING TO Areg SDK\n\nThank you for your interest in contributing to Areg SDK. \nWe welcome developers, companies,"
},
{
"path": "LICENSE.txt",
"chars": 10762,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 30114,
"preview": "<h1 align=\"center\" style=\"font-size:2.5em; font-weight:bold; margin:1em 0;\">\n <a href=\"https://www.areg.tech\">\n <img"
},
{
"path": "Releases.md",
"chars": 897,
"preview": "# Release Notes\n\n```\nThis document contains the release notes of Areg SDK project.\nCopyright © Aregtech UG, 2021-2026\nCo"
},
{
"path": "areg-sdk.sln",
"chars": 109525,
"preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 17\nVisualStudioVersion = 17.2.3261"
},
{
"path": "areg.cmake",
"chars": 1998,
"preview": "# ###########################################################################\n# Settings for external projects to integr"
},
{
"path": "conf/README.md",
"chars": 8275,
"preview": "# Configuration Overview\n\nThis document provides a brief overview of the configuration directory's contents and instruct"
},
{
"path": "conf/cmake/clang.cmake",
"chars": 3678,
"preview": "# ###########################################################################\n# LLVM compiler and linker options for POS"
},
{
"path": "conf/cmake/common.cmake",
"chars": 10367,
"preview": "# ###########################################################################\n# Common settings for all projects\n# Copyr"
},
{
"path": "conf/cmake/functions.cmake",
"chars": 69056,
"preview": "# ###########################################################################\n# Areg CMake functions\n# Copyright 2022-20"
},
{
"path": "conf/cmake/gnu.cmake",
"chars": 3254,
"preview": "# ###########################################################################\n# GNU compiler and linker options for POSI"
},
{
"path": "conf/cmake/install.cmake",
"chars": 12183,
"preview": "# ###########################################################################\n# Configuration file to install Areg SDK m"
},
{
"path": "conf/cmake/msvc.cmake",
"chars": 905,
"preview": "# ###########################################################################\n# MSVC compiler and linker options for Win"
},
{
"path": "conf/cmake/setup.cmake",
"chars": 4930,
"preview": "# ###########################################################################\n# Areg Framework based project setups.\n# -"
},
{
"path": "conf/cmake/user.cmake",
"chars": 15384,
"preview": "# ###########################################################################\n# User specific settings\n# Copyright 2022-"
},
{
"path": "conf/exports/areg.pc.in",
"chars": 346,
"preview": "prefix=@CMAKE_INSTALL_PREFIX@\nexec_prefix=${prefix}/tools/areg\nlibdir=@CMAKE_INSTALL_FULL_LIBDIR@\nincludedir=@CMAKE_INST"
},
{
"path": "conf/exports/aregextend.pc.in",
"chars": 446,
"preview": "prefix=@CMAKE_INSTALL_PREFIX@\nexec_prefix=${prefix}/tools/areg\nlibdir=@CMAKE_INSTALL_FULL_LIBDIR@\nincludedir=@CMAKE_INST"
},
{
"path": "conf/exports/areglogger.pc.in",
"chars": 523,
"preview": "prefix=@CMAKE_INSTALL_PREFIX@\nexec_prefix=${prefix}/tools/areg\nlibdir=@CMAKE_INSTALL_FULL_LIBDIR@\nincludedir=@CMAKE_INST"
},
{
"path": "conf/exports/config.cmake.in",
"chars": 5007,
"preview": "@PACKAGE_INIT@\ninclude(CMakeFindDependencyMacro)\n\n# ##################################################\n# Set Areg SDK es"
},
{
"path": "conf/exports/example/CMakeLists.txt",
"chars": 291,
"preview": "# CMakeList.txt : include source and link with 'areg::areg'\ncmake_minimum_required(VERSION 3.20.0)\n\nproject (\"example\" "
},
{
"path": "conf/exports/example/ReadMe.md",
"chars": 1262,
"preview": "### Project Overview\nThis `example` is a small project that demonstrates linking with the `areg` library. It also output"
},
{
"path": "conf/exports/example/example.cpp",
"chars": 389,
"preview": "// example.cpp : Checks availability and compilation with 'areg' library.\n//\n\n#include <iostream>\n#include \"areg/base/S"
},
{
"path": "conf/exports/example/toolchains/clang-linux-arm32.cmake",
"chars": 772,
"preview": "# This toolchain builds 32-bit binaries with Clang compiler for Linux on 32-bit ARM processor\n# Run example:\n# cmake -B "
},
{
"path": "conf/exports/example/toolchains/clang-linux-arm64.cmake",
"chars": 781,
"preview": "# This toolchain builds 64-bit binaries with Clang compiler for Linux on 64-bit ARM (AARCH64) processor.\n# Run example:\n"
},
{
"path": "conf/exports/example/toolchains/clang-linux-x64.cmake",
"chars": 756,
"preview": "# This toolchain builds 64-bit binaries with Clang compiler for Linux on x86-64 processor\n# Run example:\n# cmake -B ./pr"
},
{
"path": "conf/exports/example/toolchains/clang-linux-x86.cmake",
"chars": 745,
"preview": "# This toolchain builds 32-bit binaries with Clang compiler for Linux on x86 processor\n# Run example:\n# cmake -B ./produ"
},
{
"path": "conf/exports/example/toolchains/clang-macos-arm64.cmake",
"chars": 994,
"preview": "# This toolchain builds 64-bit binaries with Apple Clang compiler for macOS on ARM64 processor (Apple Silicon M1/M2/M3)\n"
},
{
"path": "conf/exports/example/toolchains/clang-macos-x64.cmake",
"chars": 980,
"preview": "# This toolchain builds 64-bit binaries with Apple Clang compiler for macOS on x86-64 processor (Intel Macs)\n# Run examp"
},
{
"path": "conf/exports/example/toolchains/clang-win-x64.cmake",
"chars": 821,
"preview": "# This toolchain builds 64-bit binaries with Clang compiler for Windows on x86-64 processor\n# Run example:\n# cmake -B ./"
},
{
"path": "conf/exports/example/toolchains/clang-win-x86.cmake",
"chars": 818,
"preview": "# This toolchain builds 32-bit binaries with Clang compiler for Windows on x86 processor\n# Run example:\n# cmake -B ./pro"
},
{
"path": "conf/exports/example/toolchains/gnu-linux-arm32.cmake",
"chars": 806,
"preview": "# This toolchain builds 32-bit binaries with GNU g++/gcc compiler for Linux on 32-bit ARM processor\n# Run example:\n# cma"
},
{
"path": "conf/exports/example/toolchains/gnu-linux-arm64.cmake",
"chars": 811,
"preview": "# This toolchain builds 64-bit binaries with GNU g++/gcc compiler for Linux on 64-bit ARM (AARCH64) processor.\n# Run exa"
},
{
"path": "conf/exports/example/toolchains/gnu-linux-x64.cmake",
"chars": 850,
"preview": "# This toolchain builds 64-bit binaries with GNU g++/gcc compiler for Linux on x86-64 processor\n# Run example:\n# cmake -"
},
{
"path": "conf/exports/example/toolchains/gnu-linux-x86.cmake",
"chars": 731,
"preview": "# This toolchain builds 32-bit binaries with GNU compiler for Linux on x86 processor\n# Run example:\n# cmake -B ./product"
},
{
"path": "conf/exports/example/toolchains/msvc-win-x64.cmake",
"chars": 728,
"preview": "# This toolchain builds 64-bit binaries with MSVC compiler for Windows on x86-64 processor\n# Run example:\n# cmake -B ./p"
},
{
"path": "conf/exports/example/toolchains/msvc-win-x86.cmake",
"chars": 725,
"preview": "# This toolchain builds 32-bit binaries with MSVC compiler for Windows on x86 processor\n# Run example:\n# cmake -B ./prod"
},
{
"path": "conf/exports/logcollector.service.in",
"chars": 675,
"preview": "[Unit]\nDescription=Areg TCP/IP Logging Service to collect application logs\nStartLimitIntervalSec=1\n\n[Service]\n# Set the"
},
{
"path": "conf/exports/logcollector.service.install.bat.in",
"chars": 215,
"preview": "@echo off\n\nrem : To install the Areg Log Collector Service on local machine\nrem : run this file under Windows with Admin"
},
{
"path": "conf/exports/logcollector.service.install.sh.in",
"chars": 1752,
"preview": "#!/bin/sh\n# Areg Log Collector Service - macOS Installation Script\n# This script installs and enables the logcollector s"
},
{
"path": "conf/exports/logcollector.service.uninstall.bat.in",
"chars": 219,
"preview": "@echo off\n\nrem : To uninstall the Areg Log Collector Service on local machine\nrem : run this file under Windows with Adm"
},
{
"path": "conf/exports/logcollector.service.uninstall.sh.in",
"chars": 970,
"preview": "#!/bin/sh\n# Areg Log Collector Service - macOS Uninstallation Script\n# This script stops and removes the logcollector se"
},
{
"path": "conf/exports/mtrouter.service.in",
"chars": 658,
"preview": "[Unit]\nDescription=Areg TCP/IP Multitarget Router Service to automate messaging\nStartLimitIntervalSec=1\n\n[Service]\n# Se"
},
{
"path": "conf/exports/mtrouter.service.install.bat.in",
"chars": 216,
"preview": "@echo off\n\nrem : To install the Areg Multitarget Router Service on local machine\nrem : run this file under Windows with "
},
{
"path": "conf/exports/mtrouter.service.install.sh.in",
"chars": 1730,
"preview": "#!/bin/sh\n# Areg Multitarget Router Service - macOS Installation Script\n# This script installs and enables the mtrouter "
},
{
"path": "conf/exports/mtrouter.service.uninstall.bat.in",
"chars": 220,
"preview": "@echo off\n\nrem : To uninstall the Areg Multitarget Router Service on local machine\nrem : run this file under Windows wit"
},
{
"path": "conf/exports/mtrouter.service.uninstall.sh.in",
"chars": 960,
"preview": "#!/bin/sh\n# Areg Multitarget Router Service - macOS Uninstallation Script\n# This script stops and removes the mtrouter s"
},
{
"path": "conf/exports/tech.areg.logcollector.plist.in",
"chars": 1298,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "conf/exports/tech.areg.mtrouter.plist.in",
"chars": 1275,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "conf/msvc/compile.props",
"chars": 1426,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsof"
},
{
"path": "conf/msvc/project.props",
"chars": 3971,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "conf/msvc/project_defaults.props",
"chars": 4690,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "conf/msvc/user.props",
"chars": 12485,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "docs/DEVELOP.md",
"chars": 3092,
"preview": "# Developer Guide\n\n```\nThis file is part of Areg SDK\nCopyright (c) 2021-2026, Aregtech\nContact: info[at]areg.tech\nWebsit"
},
{
"path": "docs/HOWTO.md",
"chars": 4506,
"preview": "# How-To Guide\n\n```\nThis file is part of Areg SDK\nCopyright (c) 2021-2026, Aregtech\nContact: info[at]areg.tech\nWebsite: "
},
{
"path": "docs/HelloService.md",
"chars": 10459,
"preview": "# Hello Service Tutorial\n\n```\nThis file is part of Areg SDK\nCopyright (c) 2021-2026, Aregtech\nContact: info[at]areg.tech"
},
{
"path": "docs/HelloService.siml",
"chars": 1136,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<ServiceInterface FormatVersion=\"1.1.0\">\n <Overview ID=\"1\" Na"
},
{
"path": "docs/POSIX.md",
"chars": 4188,
"preview": "# POSIX API Reference\n\n```\nThis file is part of Areg SDK\nCopyright (c) Aregtech, 2021-2026\nContact: info[at]areg.tech\nWe"
},
{
"path": "docs/README.md",
"chars": 2567,
"preview": "# Documentation Overview\n\n```\nThis file is part of Areg SDK\nCopyright (c) Aregtech, 2021-2026\nContact: info[at]areg.tech"
},
{
"path": "docs/Sample.siml",
"chars": 7866,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<ServiceInterface FormatVersion=\"1.0.0\">\n <Overview ID=\"1\" Na"
},
{
"path": "docs/Sample.xsd",
"chars": 17164,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualif"
},
{
"path": "docs/ServiceInterface.md",
"chars": 7844,
"preview": "# Service Interface Guide\n\n```\nThis file is part of Areg SDK\nCopyright (c) 2021-2026, Aregtech\nContact: info[at]areg.tec"
},
{
"path": "docs/USECASES.md",
"chars": 6365,
"preview": "# Use Cases and Benefits\n\nThe Areg communication engine supports a wide range of multithreaded and multiprocess applicat"
},
{
"path": "docs/WIN32.md",
"chars": 4572,
"preview": "# Win32 API Reference\n\n```\nThis file is part of Areg SDK\nCopyright (c) Aregtech, 2017-2026\nContact: info[at]areg.tech\nWe"
},
{
"path": "docs/templates/Readme.md",
"chars": 3283,
"preview": "# Templates\n\nThis folder contains the temaplates that developer may use to create projects using prefered IDE. Regardles"
},
{
"path": "docs/templates/contributors.yml",
"chars": 1499,
"preview": "name: Generate Contributors\non:\n schedule:\n - cron: '0 1 * * 0' # At 01:00 on Sunday.\n push:\n branches:\n - "
},
{
"path": "docs/templates/msvc-dynamic-lib.vcxproj",
"chars": 2054,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "docs/templates/msvc-dynamic-lib.vcxproj.filters",
"chars": 909,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "docs/templates/msvc-exe.vcxproj",
"chars": 2425,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "docs/templates/msvc-exe.vcxproj.filters",
"chars": 909,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "docs/templates/msvc-static-lib.vcxproj",
"chars": 2053,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "docs/templates/msvc-static-lib.vcxproj.filters",
"chars": 909,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "docs/wiki/01a-areg-package.md",
"chars": 9016,
"preview": "# Installing Areg SDK with vcpkg Package Manager\n\nThis guide covers installing vcpkg, setting up the Areg SDK package, "
},
{
"path": "docs/wiki/01b-cmake-build.md",
"chars": 15725,
"preview": "# Building Areg SDK with CMake\n\nThis guide covers building Areg SDK on Linux, macOS, Windows, and Cygwin using CMake, i"
},
{
"path": "docs/wiki/01c-msvc-build.md",
"chars": 9405,
"preview": "# Building Areg SDK with Microsoft Visual Studio and MSBuild\n\nThis guide covers building Areg SDK using Microsoft Visua"
},
{
"path": "docs/wiki/01d-wsl-build.md",
"chars": 13356,
"preview": "# Building Areg SDK on Windows Subsystem for Linux (WSL)\n\nThis guide covers setting up WSL, building Areg SDK on Linux "
},
{
"path": "docs/wiki/02a-quick-project-setup.md",
"chars": 26810,
"preview": "# Quick Project Setup with Areg SDK\n\nCreate ready-to-build Areg SDK projects in 30 seconds using the interactive projec"
},
{
"path": "docs/wiki/02b-cmake-integrate.md",
"chars": 17399,
"preview": "# Integrating Areg Framework with CMake\n\nThis guide covers integrating Areg Framework into your project using CMake on "
},
{
"path": "docs/wiki/02c-msvc-integrate.md",
"chars": 16302,
"preview": "# Integrating Areg Framework with Microsoft Visual Studio\n\nThis guide covers integrating Areg Framework into Microsoft "
},
{
"path": "docs/wiki/02d-cmake-config.md",
"chars": 23884,
"preview": "# CMake Configuration Options for Areg SDK\n\nThis guide describes all CMake configuration options for building Areg SDK,"
},
{
"path": "docs/wiki/02e-cmake-functions.md",
"chars": 27960,
"preview": "# Areg SDK CMake Functions and Macros Reference\n\nThis document provides a comprehensive reference for CMake functions a"
},
{
"path": "docs/wiki/02f-preprocessor-definitions.md",
"chars": 18646,
"preview": "# Areg SDK Preprocessor Definitions Reference\n\nThis guide provides a comprehensive reference for preprocessor definitio"
},
{
"path": "docs/wiki/03a-mtrouter.md",
"chars": 32084,
"preview": "# Areg SDK Multitarget Router (mtrouter)\n\nThe Multitarget Router enables inter-process and networked communication betw"
},
{
"path": "docs/wiki/04a-logging-config.md",
"chars": 23088,
"preview": "# Areg SDK Logging Configuration\n\nThe Areg SDK provides a highly configurable logging system via the `areg.init` config"
},
{
"path": "docs/wiki/04b-logging-develop.md",
"chars": 24863,
"preview": "# Developing with Areg Logging System\n\nThis guide provides instructions for activating, configuring, and utilizing Areg"
},
{
"path": "docs/wiki/04c-logobserver.md",
"chars": 20440,
"preview": "# Areg SDK Log Observer Application\n\nThe Areg SDK Log Observer is a console application for real-time log monitoring, m"
},
{
"path": "docs/wiki/04d-logcollector.md",
"chars": 22859,
"preview": "# Areg SDK Log Collector Service\n\nThe Areg SDK Log Collector is a centralized service that gathers and routes log data "
},
{
"path": "docs/wiki/05a-persistence-syntax.md",
"chars": 18872,
"preview": "# Key-Value Data Persistence in Areg Framework\n\n## Overview\n\nThe Areg Framework provides a lightweight key-value persis"
},
{
"path": "docs/wiki/06a-areg-sdk-tools.md",
"chars": 10694,
"preview": "# Areg SDK Development Tools\n\nAreg SDK provides a comprehensive suite of development tools supporting the complete life"
},
{
"path": "docs/wiki/06b-code-generator.md",
"chars": 10921,
"preview": "# Areg SDK Code Generator (`codegen.jar`)\n\nThe Areg SDK Code Generator is a build-time utility that automates the gener"
},
{
"path": "docs/wiki/06c-build-lusan.md",
"chars": 11738,
"preview": "# Building Lusan with CMake or Qt Creator\n\nThis guide explains how to build **Lusan**, the graphical development and di"
},
{
"path": "docs/wiki/06d-setup-lusan.md",
"chars": 24026,
"preview": "# Setup and Using Lusan\n\nThis guide explains how to build, configure, and use **Lusan**, the graphical development and "
},
{
"path": "docs/wiki/06e-lusan-service-interface.md",
"chars": 17605,
"preview": "# Creating Service Interface Documents with Lusan\n\nThis guide explains how to create and maintain **Service Interface d"
},
{
"path": "docs/wiki/06f-lusan-live-logging.md",
"chars": 24502,
"preview": "# Lusan Live Log Viewer: Real-Time Monitoring for Areg Applications\n\nThis guide explains how to use **Lusan** as a **li"
},
{
"path": "docs/wiki/06g-lusan-offline-logging.md",
"chars": 21820,
"preview": "# Lusan Offline Log Viewer: Post-Mortem Analysis for Areg Applications\n\nThis guide explains how to use **Lusan** for **"
},
{
"path": "docs/wiki/07a-troubleshooting-wsl-update.md",
"chars": 12465,
"preview": "# Troubleshooting WSL Updates\n\nThis document outlines solutions to common issues encountered while updating the Windows"
},
{
"path": "docs/wiki/07b-troubleshooting-cmake-linux-builds.md",
"chars": 9192,
"preview": "# Troubleshooting CMake Builds on Linux\n\nThis guide provides solutions for common issues encountered when compiling pro"
},
{
"path": "docs/wiki/07c-troubleshooting-integration.md",
"chars": 16308,
"preview": "# Integration Troubleshooting\n\nThis guide provides solutions for common issues encountered when integrating the Areg SD"
},
{
"path": "docs/wiki/08a-examples-and-tests.md",
"chars": 16645,
"preview": "# Building and Running Areg SDK Examples and Unit Tests\n\nThe Areg SDK provides a comprehensive set of examples and unit"
},
{
"path": "docs/wiki/README.md",
"chars": 15521,
"preview": "<h1 align=\"center\" style=\"display: block; font-size: 2.5em; font-weight: bold; margin-block-start: 1em; margin-block-end"
},
{
"path": "examples/01_minimalrpc/01_generated.vcxproj",
"chars": 3139,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/01_minimalrpc/01_generated.vcxproj.filters",
"chars": 2520,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/01_minimalrpc/01_minimalrpc.vcxproj",
"chars": 1941,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/01_minimalrpc/01_minimalrpc.vcxproj.filters",
"chars": 934,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/01_minimalrpc/CMakeLists.txt",
"chars": 181,
"preview": "# add service interface files.\naddServiceInterface(01_generated examples/01_minimalrpc/services/HelloService.siml)\nmacro"
},
{
"path": "examples/01_minimalrpc/ReadMe.md",
"chars": 2159,
"preview": "# 01\\_minimalrpc\n\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\n\nThe **01\\_minimalrpc** example demonstrates"
},
{
"path": "examples/01_minimalrpc/services/HelloService.siml",
"chars": 294,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<ServiceInterface FormatVersion=\"1.1.0\">\n <Overview ID=\"1\" Na"
},
{
"path": "examples/01_minimalrpc/src/main.cpp",
"chars": 4074,
"preview": "/**\n * \\file src/main.cpp\n * \\brief Minimal RPC example to call 'requestHelloService()' of remote object running in"
},
{
"path": "examples/02_minimalipc/02_consumeripc.vcxproj",
"chars": 1950,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/02_minimalipc/02_consumeripc.vcxproj.filters",
"chars": 941,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/02_minimalipc/02_generated.vcxproj",
"chars": 3139,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/02_minimalipc/02_generated.vcxproj.filters",
"chars": 2520,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/02_minimalipc/02_provideripc.vcxproj",
"chars": 1950,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/02_minimalipc/02_provideripc.vcxproj.filters",
"chars": 941,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/02_minimalipc/CMakeLists.txt",
"chars": 280,
"preview": "\n# add service interface files.\naddServiceInterface(02_generated examples/02_minimalipc/services/HelloService.siml)\n\n# a"
},
{
"path": "examples/02_minimalipc/ReadMe.md",
"chars": 1905,
"preview": "# 02_minimalipc\n\n🚀 **Type:** IPC / Multi-Process\n\n## Overview\nThe **02_minimalipc** example demonstrates how to use **R"
},
{
"path": "examples/02_minimalipc/services/HelloService.siml",
"chars": 711,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<ServiceInterface FormatVersion=\"1.1.0\">\n <Overview ID=\"1\" Na"
},
{
"path": "examples/02_minimalipc/src/consumeripc.cpp",
"chars": 3937,
"preview": "/**\n * \\file src/consumeripc.cpp\n * \\brief Minimal IPC example with request-response.\n * It calls 'request"
},
{
"path": "examples/02_minimalipc/src/provideripc.cpp",
"chars": 3195,
"preview": "/**\n * \\file src/provideripc.cpp\n * \\brief Minimal IPC example with request-response.\n * It gets 'requestH"
},
{
"path": "examples/03_helloservice/03_clientproc.vcxproj",
"chars": 2232,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/03_helloservice/03_clientproc.vcxproj.filters",
"chars": 1429,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/03_helloservice/03_generated.vcxproj",
"chars": 3159,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/03_helloservice/03_generated.vcxproj.filters",
"chars": 2540,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/03_helloservice/03_onethread.vcxproj",
"chars": 2216,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/03_helloservice/03_onethread.vcxproj.filters",
"chars": 1415,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/03_helloservice/03_serviceproc.vcxproj",
"chars": 2235,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/03_helloservice/03_serviceproc.vcxproj.filters",
"chars": 1430,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/03_helloservice/03_twothreads.vcxproj",
"chars": 2219,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/03_helloservice/03_twothreads.vcxproj.filters",
"chars": 1416,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/03_helloservice/CMakeLists.txt",
"chars": 781,
"preview": "\n# add service interface files.\naddServiceInterface(03_generated examples/03_helloservice/services/HelloService.siml)\n\n#"
},
{
"path": "examples/03_helloservice/ReadMe.md",
"chars": 2889,
"preview": "# 03_helloservice\n\n🧵🚀 **Type:** Multithreading + IPC\n\n## Overview\nThe **03_helloservice** example demonstrates building"
},
{
"path": "examples/03_helloservice/common/src/ClientComponent.cpp",
"chars": 2334,
"preview": "/**\n * \\file common/src/ClientComponent.hpp\n * \\brief Implementation of the service client component.\n **/\n#include"
},
{
"path": "examples/03_helloservice/common/src/ClientComponent.hpp",
"chars": 2993,
"preview": "/**\n * \\file common/src/ClientComponent.hpp\n * \\brief Declaration of the service client component.\n **/\n#pragma onc"
},
{
"path": "examples/03_helloservice/common/src/ServiceComponent.cpp",
"chars": 609,
"preview": "/**\n * \\file common/src/ServiceComponent.cpp\n * \\brief Implementation of the service component.\n **/\n#include \"comm"
},
{
"path": "examples/03_helloservice/common/src/ServiceComponent.hpp",
"chars": 1603,
"preview": "/**\n * \\file common/src/ServiceComponent.hpp\n * \\brief Declaration of the service component.\n **/\n#pragma once\n\n#in"
},
{
"path": "examples/03_helloservice/multiprocess/clientproc/src/main.cpp",
"chars": 1936,
"preview": "/**\n * \\file multiprocess/clientproc/src/main.hpp\n * \\brief Runs service and the client in one thread.\n **/\n\n#inclu"
},
{
"path": "examples/03_helloservice/multiprocess/serviceproc/src/main.cpp",
"chars": 1744,
"preview": "/**\n * \\file multiprocess/serviceproc/src/main.cpp\n * \\brief Runs service in the process.\n **/\n#include \"areg/base/"
},
{
"path": "examples/03_helloservice/onethread/src/main.cpp",
"chars": 2100,
"preview": "/**\n * \\file onethread/src/main.cpp\n * \\brief Runs service and the client in one thread.\n **/\n#include \"areg/base/G"
},
{
"path": "examples/03_helloservice/services/HelloService.siml",
"chars": 1132,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<ServiceInterface FormatVersion=\"1.1.0\">\n <Overview ID=\"1\" Na"
},
{
"path": "examples/03_helloservice/twothreads/src/main.cpp",
"chars": 2178,
"preview": "/**\n * \\file twothreads/src/main.cpp\n * \\brief Runs service and the client in one thread.\n **/\n#include \"areg/base/"
},
{
"path": "examples/04_hellothread/04_hellothread.vcxproj",
"chars": 2072,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/04_hellothread/04_hellothread.vcxproj.filters",
"chars": 1063,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/04_hellothread/CMakeLists.txt",
"chars": 54,
"preview": "macro_declare_executable(04_hellothread src/main.cpp)\n"
},
{
"path": "examples/04_hellothread/ReadMe.md",
"chars": 1741,
"preview": "# 04_hellothread\n\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\nThe **04_hellothread** example demonstrates "
},
{
"path": "examples/04_hellothread/src/main.cpp",
"chars": 2001,
"preview": "//============================================================================\n// Name : main.cpp\n// Author "
},
{
"path": "examples/05_buffer/05_buffer.vcxproj",
"chars": 2062,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/05_buffer/05_buffer.vcxproj.filters",
"chars": 1063,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/05_buffer/CMakeLists.txt",
"chars": 49,
"preview": "macro_declare_executable(05_buffer src/main.cpp)\n"
},
{
"path": "examples/05_buffer/ReadMe.md",
"chars": 2018,
"preview": "# 05_buffer\n\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\nThe **05_buffer** example demonstrates how to man"
},
{
"path": "examples/05_buffer/src/main.cpp",
"chars": 2871,
"preview": "//============================================================================\n// Name : main.cpp\n// Author "
},
{
"path": "examples/06_file/06_file.vcxproj",
"chars": 2058,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/06_file/06_file.vcxproj.filters",
"chars": 1063,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/06_file/CMakeLists.txt",
"chars": 47,
"preview": "macro_declare_executable(06_file src/main.cpp)\n"
},
{
"path": "examples/06_file/ReadMe.md",
"chars": 1903,
"preview": "# 06_file\n\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\nThe **06_file** example demonstrates how to handle "
},
{
"path": "examples/06_file/src/main.cpp",
"chars": 4594,
"preview": "//============================================================================\n// Name : main.cpp\n// Author "
},
{
"path": "examples/07_logging/07_logging.vcxproj",
"chars": 2064,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/07_logging/07_logging.vcxproj.filters",
"chars": 1063,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/07_logging/CMakeLists.txt",
"chars": 50,
"preview": "macro_declare_executable(07_logging src/main.cpp)\n"
},
{
"path": "examples/07_logging/ReadMe.md",
"chars": 2266,
"preview": "# 07_logging\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\nThe **07_logging** project demonstrates how to im"
},
{
"path": "examples/07_logging/src/main.cpp",
"chars": 3320,
"preview": "//============================================================================\n// Name : main.cpp\n// Author "
},
{
"path": "examples/08_timer/08_timer.vcxproj",
"chars": 2060,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/08_timer/08_timer.vcxproj.filters",
"chars": 1063,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/08_timer/CMakeLists.txt",
"chars": 48,
"preview": "macro_declare_executable(08_timer src/main.cpp)\n"
},
{
"path": "examples/08_timer/ReadMe.md",
"chars": 2029,
"preview": "# 08\\_timer\n\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\n\nThe **08\\_timer** project demonstrates how to im"
},
{
"path": "examples/08_timer/src/main.cpp",
"chars": 6678,
"preview": "//============================================================================\n// Name : main.cpp\n// Author "
},
{
"path": "examples/09_threads/09_threads.vcxproj",
"chars": 2064,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/09_threads/09_threads.vcxproj.filters",
"chars": 1063,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/09_threads/CMakeLists.txt",
"chars": 50,
"preview": "macro_declare_executable(09_threads src/main.cpp)\n"
},
{
"path": "examples/09_threads/ReadMe.md",
"chars": 2044,
"preview": "# 09_thread\n\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\nThe **09_thread** project demonstrates how to cre"
},
{
"path": "examples/09_threads/src/main.cpp",
"chars": 5891,
"preview": "//============================================================================\n// Name : main.cpp\n// Author "
},
{
"path": "examples/10_sync/10_sync.vcxproj",
"chars": 2058,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/10_sync/10_sync.vcxproj.filters",
"chars": 1063,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/10_sync/CMakeLists.txt",
"chars": 47,
"preview": "macro_declare_executable(10_sync src/main.cpp)\n"
},
{
"path": "examples/10_sync/ReadMe.md",
"chars": 1991,
"preview": "# 10_sync\n\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\nThe **10_sync** project demonstrates how to impleme"
},
{
"path": "examples/10_sync/src/main.cpp",
"chars": 8106,
"preview": "//============================================================================\n// Name : main.cpp\n// Author "
},
{
"path": "examples/11_service/11_service.vcxproj",
"chars": 2203,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/11_service/11_service.vcxproj.filters",
"chars": 1304,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/11_service/CMakeLists.txt",
"chars": 87,
"preview": "macro_declare_executable(11_service \n src/main.cpp\n src/ServicingComponent.cpp\n)\n"
},
{
"path": "examples/11_service/ReadMe.md",
"chars": 1958,
"preview": "# 11_service\n\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\nThe **11_service** project demonstrates how to c"
},
{
"path": "examples/11_service/src/ServicingComponent.cpp",
"chars": 3250,
"preview": "/************************************************************************\n * \\file src/ServicingComponent.cpp\n * "
},
{
"path": "examples/11_service/src/ServicingComponent.hpp",
"chars": 4485,
"preview": "#pragma once\n\n/************************************************************************\n * \\file src/ServicingCom"
},
{
"path": "examples/11_service/src/main.cpp",
"chars": 3607,
"preview": "//============================================================================\n// Name : main.cpp\n// Author "
},
{
"path": "examples/12_svcmulti/12_svcmulti.vcxproj",
"chars": 2205,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
},
{
"path": "examples/12_svcmulti/12_svcmulti.vcxproj.filters",
"chars": 1304,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
},
{
"path": "examples/12_svcmulti/CMakeLists.txt",
"chars": 88,
"preview": "macro_declare_executable(12_svcmulti \n src/main.cpp\n src/ServicingComponent.cpp\n)\n"
},
{
"path": "examples/12_svcmulti/ReadMe.md",
"chars": 2008,
"preview": "# 12_svcmulti\n\n🧵 **Type:** Multithreading / Single Process\n\n## Overview\nThe **12_svcmulti** project extends the concept"
},
{
"path": "examples/12_svcmulti/src/ServicingComponent.cpp",
"chars": 3280,
"preview": "/************************************************************************\n * \\file src/ServicingComponent.cpp\n * "
},
{
"path": "examples/12_svcmulti/src/ServicingComponent.hpp",
"chars": 4478,
"preview": "#pragma once\n\n/************************************************************************\n * \\file src/ServicingCom"
}
]
// ... and 912 more files (download for full content)
About this extraction
This page contains the full source code of the aregtech/areg-sdk GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1112 files (18.1 MB), approximately 4.8M tokens, and a symbol index with 8517 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.