From fa9d13b1123b02ce937474ccf9eeaa503e9b20d2 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 21 Nov 2023 08:16:11 +1000 Subject: [PATCH 01/60] Updating next version to be v6.2.5. --- lib/include/commsdsl/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/include/commsdsl/version.h b/lib/include/commsdsl/version.h index e5a20d35..abdb7d03 100644 --- a/lib/include/commsdsl/version.h +++ b/lib/include/commsdsl/version.h @@ -26,7 +26,7 @@ #define COMMSDSL_MINOR_VERSION 2U /// @brief Patch level of the library -#define COMMSDSL_PATCH_VERSION 4U +#define COMMSDSL_PATCH_VERSION 5U /// @brief Macro to create numeric version as single unsigned number #define COMMSDSL_MAKE_VERSION(major_, minor_, patch_) \ From f2e872c47c9be77770505399dccf8ab3de0370b3 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 09:02:13 +1000 Subject: [PATCH 02/60] Not using CACHE variables during project configuration any more. --- CMakeLists.txt | 18 +++++++++++++++--- app/commsdsl2test/src/TestCmake.cpp | 5 ++--- app/commsdsl2tools_qt/src/ToolsQtCmake.cpp | 7 ++++++- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1cbf2551..41fe63a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,11 @@ option (COMMSDSL_WIN_ALLOW_LIBXML_BUILD "Allow internal build of libxml2 on Wind # COMMSDSL_TESTS_C_COMPILER - C compiler to build unittests # COMMSDSL_TESTS_CXX_COMPILER - C++ compiler to build unittests # COMMSDSL_EXTERNALS_DIR - Directory to contain sources for external projects, defaults to ${PROJECT_SOURCE_DIR}/externals. -set (COMMSDSL_TESTS_QT_VERSION 5 CACHE STRING "The major Qt version for tests") +# COMMSDSL_TESTS_QT_VERSION - The major Qt version for tests, defaults to 5 +# COMMSDSL_TESTS_CXX_STANDARD - The C++ standard to use in tests, defaults to 11 + +# Other used CMake variables +# CMAKE_CXX_STANDARD - The C++ standard to use during the compilation, defaults to 17 (min) # Deprecated options for backward compatibility, use the ones above for new builds. # --------------------------- @@ -52,9 +56,17 @@ commsdsl_negate_option(COMMSDSL_NO_TESTS COMMSDSL_BUILD_UNIT_TESTS) ################################################ -set(CMAKE_CXX_STANDARD 17 CACHE STRING "The C++ standard to use") -set(COMMSDSL_TESTS_CXX_STANDARD 11 CACHE STRING "The C++ standard to use in tests") +if ("${COMMSDSL_TESTS_QT_VERSION}" STREQUAL "") + set (COMMSDSL_TESTS_QT_VERSION 5) +endif () +if ("${CMAKE_CXX_STANDARD}" STREQUAL "") + set (CMAKE_CXX_STANDARD 17) +endif () + +if ("${COMMSDSL_TESTS_CXX_STANDARD}" STREQUAL "") + set (COMMSDSL_TESTS_CXX_STANDARD 11) +endif () if (NOT COMMSDSL_TESTS_C_COMPILER) set (COMMSDSL_TESTS_C_COMPILER ${CMAKE_C_COMPILER}) diff --git a/app/commsdsl2test/src/TestCmake.cpp b/app/commsdsl2test/src/TestCmake.cpp index f1054b37..870200d9 100644 --- a/app/commsdsl2test/src/TestCmake.cpp +++ b/app/commsdsl2test/src/TestCmake.cpp @@ -97,10 +97,9 @@ bool TestCmake::testWriteInternal() const "# OPT_TEST_INPUT_MESSAGES - All input messages bundle for test applications,\n" "# defaults to #^#INPUT_SCOPE#$#.\n" "# OPT_MSVC_FORCE_WARN_LEVEL - Force msvc warning level\n\n" - "if (CMAKE_TOOLCHAIN_FILE AND EXISTS ${CMAKE_TOOLCHAIN_FILE})\n" - " message(STATUS \"Loading toolchain from ${CMAKE_TOOLCHAIN_FILE}\")\n" + "if (\"${CMAKE_CXX_STANDARD}\" STREQUAL \"\")\n" + " set(CMAKE_CXX_STANDARD 11)\n" "endif()\n\n" - "set(CMAKE_CXX_STANDARD 11 CACHE STRING \"The C++ standard to use\")\n\n" "include(GNUInstallDirs)\n" "######################################################################\n" "function (define_test name)\n" diff --git a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp index fe0c481c..c7ab80a4 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp @@ -60,7 +60,12 @@ bool ToolsQtCmake::testWriteInternal() const static const std::string Template = "cmake_minimum_required (VERSION 3.1)\n" "project (\"#^#MAIN_NS#$#_cc_tools_qt_plugin\")\n\n" - "set (OPT_QT_MAJOR_VERSION 5 CACHE STRING \"The major Qt version\")\n\n" + "# Configuration variables\n" + "# OPT_QT_MAJOR_VERSION - The major Qt version, defaults to 5\n\n" + "######################################################################\n\n" + "if (\"${OPT_QT_MAJOR_VERSION}\" STREQUAL \"\")\n" + " set(OPT_QT_MAJOR_VERSION 5)\n" + "endif()\n\n" "find_package(LibComms REQUIRED)\n" "find_package(#^#MAIN_NS#$# REQUIRED)\n" "find_package(cc_tools_qt REQUIRED)\n" From 370e92dbeeecec06b97c1b13b3e992fc464018da Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 09:23:51 +1000 Subject: [PATCH 03/60] Testing not building tools tests for C++11/14 in github actions. --- .github/workflows/actions_build.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 7b08e1f4..a4c821b6 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -58,7 +58,7 @@ jobs: -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install \ -DCOMMSDSL_TESTS_C_COMPILER=gcc-${{matrix.cc_ver}} -DCOMMSDSL_TESTS_CXX_COMPILER=g++-${{matrix.cc_ver}} \ -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_USE_SANITIZERS=OFF \ - -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON + -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF env: CC: gcc-8 CXX: g++-8 @@ -117,10 +117,12 @@ jobs: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \ -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} \ -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_BUILD_DOC=ON \ - -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON + -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \ + -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} env: CC: gcc-${{matrix.cc_ver}} CXX: g++-${{matrix.cc_ver}} + BUILD_TOOLS_QT_UNIT_TESTS: "${{ ${{matrix.cpp}} >= 17 && 'ON' || 'OFF' }}" - name: Build Target working-directory: ${{runner.workspace}}/build @@ -182,10 +184,12 @@ jobs: -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \ -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_BUILD_DOC=ON -DCMAKE_IGNORE_PATH=/usr/local/bin \ -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \ - -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON + -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \ + -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} env: CC: gcc-${{matrix.cc_ver}} CXX: g++-${{matrix.cc_ver}} + BUILD_TOOLS_QT_UNIT_TESTS: "${{ ${{matrix.cpp}} >= 17 && 'ON' || 'OFF' }}" - name: Build Target working-directory: ${{runner.workspace}}/build From 75f3eec276d345fd26d03b1181b04eba2d1271a8 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 16:57:50 +1000 Subject: [PATCH 04/60] Attempt to fix github actions configuration. --- .github/workflows/actions_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index a4c821b6..8bc6bbd5 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -122,7 +122,7 @@ jobs: env: CC: gcc-${{matrix.cc_ver}} CXX: g++-${{matrix.cc_ver}} - BUILD_TOOLS_QT_UNIT_TESTS: "${{ ${{matrix.cpp}} >= 17 && 'ON' || 'OFF' }}" + BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}" - name: Build Target working-directory: ${{runner.workspace}}/build @@ -189,7 +189,7 @@ jobs: env: CC: gcc-${{matrix.cc_ver}} CXX: g++-${{matrix.cc_ver}} - BUILD_TOOLS_QT_UNIT_TESTS: "${{ ${{matrix.cpp}} >= 17 && 'ON' || 'OFF' }}" + BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}" - name: Build Target working-directory: ${{runner.workspace}}/build From 8daf3bd0f5b2f12d3843604ae2824fde9dbc946a Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 17:25:06 +1000 Subject: [PATCH 05/60] Compiling CommsChampion Tools and the relevant tests of the commsdsl2tools_qt in appveyor only if C++17 or above is chosen. --- .appveyor.yml | 5 +++- script/prepare_externals.bat | 58 +++++++++++++++++++++--------------- 2 files changed, 38 insertions(+), 25 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index c31e5480..a2c57c0f 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -22,7 +22,9 @@ environment: CC_TOOLS_QT_BRANCH: v4.2.3 matrix: - CPP_STD: 11 + EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF - CPP_STD: 14 + EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF - CPP_STD: 17 - CPP_STD: 20 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF @@ -56,7 +58,8 @@ build_script: - cd %BUILD_DIR% - cmake .. -DCMAKE_BUILD_TYPE=%CONFIGURATION% -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX="%COMMON_INSTALL_DIR%" ^ -DCMAKE_PREFIX_PATH="%COMMON_INSTALL_DIR%" -DCOMMSDSL_TESTS_CXX_STANDARD=%CPP_STD% ^ - -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON %EXTRA_CONFIG% + -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON ^ + %EXTRA_CONFIG% - cmake --build . --config %CONFIGURATION% --target install - echo ------------------------- Testing ------------------------- - ctest diff --git a/script/prepare_externals.bat b/script/prepare_externals.bat index 32f49d5b..837ac137 100755 --- a/script/prepare_externals.bat +++ b/script/prepare_externals.bat @@ -46,20 +46,21 @@ if NOT [%CC_TOOLS_QT_MAJOR_QT_VERSION%] == [] set CC_TOOLS_QT_VERSION_OPT="-DCC_ rem ---------------------------------------------------- mkdir "%EXTERNALS_DIR%" -if exist %COMMS_SRC_DIR%/.git goto comms_update -echo "Cloning COMMS library..." -git clone -b %COMMS_TAG% %COMMS_REPO% %COMMS_SRC_DIR% -if %errorlevel% neq 0 exit /b %errorlevel% -goto comms_build - -:comms_update -echo "Updating COMMS library..." -cd "%COMMS_SRC_DIR%" -git pull -git checkout %COMMS_TAG% -if %errorlevel% neq 0 exit /b %errorlevel% +if exist %COMMS_SRC_DIR%/.git ( + echo "Updating COMMS library..." + cd "%COMMS_SRC_DIR%" + git fetch --all + git checkout . + git checkout %COMMS_TAG% + git pull --all + if %errorlevel% neq 0 exit /b %errorlevel% +) +else ( + echo "Cloning COMMS library..." + git clone -b %COMMS_TAG% %COMMS_REPO% %COMMS_SRC_DIR% + if %errorlevel% neq 0 exit /b %errorlevel% +) -:comms_build echo "Building COMMS library..." mkdir "%COMMS_BUILD_DIR%" cd %COMMS_BUILD_DIR% @@ -69,19 +70,27 @@ if %errorlevel% neq 0 exit /b %errorlevel% cmake --build %COMMS_BUILD_DIR% --config %COMMON_BUILD_TYPE% --target install if %errorlevel% neq 0 exit /b %errorlevel% -if exist %CC_TOOLS_QT_SRC_DIR%/.git goto cc_tools_qt_update -echo "Cloning cc_tools_qt ..." -git clone -b %CC_TOOLS_QT_TAG% %CC_TOOLS_QT_REPO% %CC_TOOLS_QT_SRC_DIR% -if %errorlevel% neq 0 exit /b %errorlevel% -goto cc_tools_qt_build +rem ---------------------------------------------------- -:cc_tools_qt_update -echo "Updating cc_tools_qt..." -cd %CC_TOOLS_QT_SRC_DIR% -git pull -git checkout %CC_TOOLS_QT_TAG% +if %COMMON_CXX_STANDARD% LSS 17 ( + echo "Skipping build of cc_tools_qt due to old C++ standard" + goto cc_tools_qt_end +) + +if exist %CC_TOOLS_QT_SRC_DIR%/.git ( + echo "Updating cc_tools_qt..." + cd %CC_TOOLS_QT_SRC_DIR% + git fetch --all + git checkout . + git checkout %CC_TOOLS_QT_TAG% + git pull --all +) +else ( + echo "Cloning cc_tools_qt ..." + git clone -b %CC_TOOLS_QT_TAG% %CC_TOOLS_QT_REPO% %CC_TOOLS_QT_SRC_DIR% + if %errorlevel% neq 0 exit /b %errorlevel% +) -:cc_tools_qt_build echo "Building cc_tools_qt ..." mkdir "%CC_TOOLS_QT_BUILD_DIR%" cd %CC_TOOLS_QT_BUILD_DIR% @@ -91,3 +100,4 @@ cmake -G %GENERATOR% -S %CC_TOOLS_QT_SRC_DIR% -B %CC_TOOLS_QT_BUILD_DIR% -DCMAKE if %errorlevel% neq 0 exit /b %errorlevel% cmake --build %CC_TOOLS_QT_BUILD_DIR% --config %COMMON_BUILD_TYPE% --target install if %errorlevel% neq 0 exit /b %errorlevel% +:cc_tools_qt_end From 7e425a9e41ea6a2eaa9c80d577020268db4b780d Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 17:35:03 +1000 Subject: [PATCH 06/60] Compiling cc_tools_qt and the relevant tests only if C++17 and above is used in the unittesting. --- .github/workflows/actions_build.yml | 14 +++++++++++--- script/prepare_externals.sh | 5 +++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 8bc6bbd5..daf51a61 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -49,6 +49,7 @@ jobs: COMMON_CXX_STANDARD: ${{matrix.cpp}} COMMS_TAG: ${{env.COMMS_BRANCH}} CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_BRANCH}} + CC_TOOLS_QT_SKIP: 1 - name: Configure CMake shell: bash @@ -257,10 +258,12 @@ jobs: -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install \ -DCOMMSDSL_TESTS_C_COMPILER=clang-${{matrix.cc_ver}} -DCOMMSDSL_TESTS_CXX_COMPILER=clang++-${{matrix.cc_ver}} \ -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_USE_SANITIZERS=OFF \ - -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON + -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \ + -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} env: CC: clang-6.0 CXX: clang++-6.0 + BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}" - name: Build Target working-directory: ${{runner.workspace}}/build @@ -321,10 +324,12 @@ jobs: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \ -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} \ -DCOMMSDSL_BUILD_UNIT_TESTS=ON \ - -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON + -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \ + -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} env: CC: clang-${{matrix.cc_ver}} CXX: clang++-${{matrix.cc_ver}} + BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}" - name: Build Target working-directory: ${{runner.workspace}}/build @@ -386,10 +391,13 @@ jobs: -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \ -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCMAKE_IGNORE_PATH=/usr/local/bin \ -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \ - -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON + -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \ + -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} + env: CC: clang-${{matrix.cc_ver}} CXX: clang++-${{matrix.cc_ver}} + BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}" - name: Build Target working-directory: ${{runner.workspace}}/build diff --git a/script/prepare_externals.sh b/script/prepare_externals.sh index f276ee4f..ce334449 100755 --- a/script/prepare_externals.sh +++ b/script/prepare_externals.sh @@ -90,6 +90,11 @@ function build_comms() { } function build_cc_tools_qt() { + if [ -n "${COMMON_CXX_STANDARD}" -a "${COMMON_CXX_STANDARD}" -lt "17" ]; then + echo "Skipping build of cc_tools_qt due to old C++ standard" + return; + fi + if [ -e ${CC_TOOLS_QT_SRC_DIR}/.git ]; then echo "Updating cc_tools_qt..." cd ${CC_TOOLS_QT_SRC_DIR} From f44c77a8034d6acbb466737487f895ac509afc4e Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 18:04:23 +1000 Subject: [PATCH 07/60] Requiring C++17 or later to compile projects generated by the commsdsl2tools_qt. --- CMakeLists.txt | 6 +++++- app/commsdsl2tools_qt/src/ToolsQtCmake.cpp | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 41fe63a0..cfde9e54 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,8 +64,12 @@ if ("${CMAKE_CXX_STANDARD}" STREQUAL "") set (CMAKE_CXX_STANDARD 17) endif () +if ("${CMAKE_CXX_STANDARD}" VERSION_LESS "17") + message (FATAL_ERROR "Use C++17 or later to compile this project.") +endif() + if ("${COMMSDSL_TESTS_CXX_STANDARD}" STREQUAL "") - set (COMMSDSL_TESTS_CXX_STANDARD 11) + set (COMMSDSL_TESTS_CXX_STANDARD ${CMAKE_CXX_STANDARD}) endif () if (NOT COMMSDSL_TESTS_C_COMPILER) diff --git a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp index c7ab80a4..02648347 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp @@ -66,6 +66,12 @@ bool ToolsQtCmake::testWriteInternal() const "if (\"${OPT_QT_MAJOR_VERSION}\" STREQUAL \"\")\n" " set(OPT_QT_MAJOR_VERSION 5)\n" "endif()\n\n" + "if (\"${CMAKE_CXX_STANDARD}\" STREQUAL \"\")\n" + " set(CMAKE_CXX_STANDARD 17)\n" + "endif()\n\n" + "if (\"${CMAKE_CXX_STANDARD}\" VERSION_LESS \"17\")\n" + " message (FATAL_ERROR \"Use C++17 or later (instead of C++${CMAKE_CXX_STANDARD}) to compile this project.\")\n" + "endif()\n\n" "find_package(LibComms REQUIRED)\n" "find_package(#^#MAIN_NS#$# REQUIRED)\n" "find_package(cc_tools_qt REQUIRED)\n" From b59fc0eecb4732008dd044c3dd67f9d691eb6433 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 18:06:08 +1000 Subject: [PATCH 08/60] Added testing with clang-15 in github actions. --- .github/workflows/actions_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index daf51a61..6b94b2f8 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -349,7 +349,7 @@ jobs: fail-fast: false matrix: type: [Debug, Release, MinSizeRel] - cc_ver: [12, 13, 14] + cc_ver: [12, 13, 14, 15] cpp: [11, 14, 17, 20] qt_ver: [5, 6] @@ -393,7 +393,7 @@ jobs: -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \ -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \ -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} - + env: CC: clang-${{matrix.cc_ver}} CXX: clang++-${{matrix.cc_ver}} From f8dd1e9bf09c181a1c1020d107afb23b33d816cd Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 18:08:21 +1000 Subject: [PATCH 09/60] Requiring minimal cmake version to be 3.10. --- CMakeLists.txt | 2 +- app/commsdsl2comms/src/CommsCmake.cpp | 2 +- app/commsdsl2test/src/TestCmake.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtCmake.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cfde9e54..44e53394 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 3.1) +cmake_minimum_required (VERSION 3.10) project ("commsdsl") option (COMMSDSL_WARN_AS_ERR "Treat warning as error" ON) diff --git a/app/commsdsl2comms/src/CommsCmake.cpp b/app/commsdsl2comms/src/CommsCmake.cpp index 7dcc9f74..960bfa16 100644 --- a/app/commsdsl2comms/src/CommsCmake.cpp +++ b/app/commsdsl2comms/src/CommsCmake.cpp @@ -58,7 +58,7 @@ bool CommsCmake::commsWriteInternal() const } const std::string Templ = - "cmake_minimum_required (VERSION 3.1)\n" + "cmake_minimum_required (VERSION 3.10)\n" "project (\"#^#NAME#$#\")\n\n" "option (OPT_REQUIRE_COMMS_LIB \"Require COMMS library, find it and set as dependency to the protocol library\" ON)\n\n" "# Other parameters:\n" diff --git a/app/commsdsl2test/src/TestCmake.cpp b/app/commsdsl2test/src/TestCmake.cpp index 870200d9..0939d3f9 100644 --- a/app/commsdsl2test/src/TestCmake.cpp +++ b/app/commsdsl2test/src/TestCmake.cpp @@ -82,7 +82,7 @@ bool TestCmake::testWriteInternal() const }; static const std::string Template = - "cmake_minimum_required (VERSION 3.1)\n" + "cmake_minimum_required (VERSION 3.10)\n" "project (\"#^#PROJ_NAME#$#_test\")\n\n" "option (OPT_WARN_AS_ERR \"Treat warning as error\" ON)\n" "option (OPT_USE_CCACHE \"Use of ccache on UNIX system\" ON)\n" diff --git a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp index 02648347..1f865d20 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp @@ -58,7 +58,7 @@ bool ToolsQtCmake::testWriteInternal() const } static const std::string Template = - "cmake_minimum_required (VERSION 3.1)\n" + "cmake_minimum_required (VERSION 3.10)\n" "project (\"#^#MAIN_NS#$#_cc_tools_qt_plugin\")\n\n" "# Configuration variables\n" "# OPT_QT_MAJOR_VERSION - The major Qt version, defaults to 5\n\n" From f6e8cae3dabbd44c9e7da90fbf63d2cbb9c58655 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 18:18:21 +1000 Subject: [PATCH 10/60] Allow usage of generator in the externals preparation scripts. --- .appveyor.yml | 2 +- script/appveyor_install.bat | 21 ++++++++------------- script/prepare_externals.bat | 7 +++++-- script/prepare_externals.sh | 11 +++++++++-- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index a2c57c0f..64b41a76 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -56,7 +56,7 @@ install: build_script: - echo ------------------------- Building Project ------------------------- - cd %BUILD_DIR% - - cmake .. -DCMAKE_BUILD_TYPE=%CONFIGURATION% -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX="%COMMON_INSTALL_DIR%" ^ + - cmake .. -DCMAKE_BUILD_TYPE=%CONFIGURATION% -G "%CMAKE_GENERATOR%" %PLATFORM_PARAM% -DCMAKE_INSTALL_PREFIX="%COMMON_INSTALL_DIR%" ^ -DCMAKE_PREFIX_PATH="%COMMON_INSTALL_DIR%" -DCOMMSDSL_TESTS_CXX_STANDARD=%CPP_STD% ^ -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON ^ %EXTRA_CONFIG% diff --git a/script/appveyor_install.bat b/script/appveyor_install.bat index 54d5ba96..6b46473d 100644 --- a/script/appveyor_install.bat +++ b/script/appveyor_install.bat @@ -1,19 +1,8 @@ -IF "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" ( - set TOOLCHAIN=msvc14 - set QT_SUBDIR=msvc2015 - set QT_VER=5.6 - set ENV_SCRIPT="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" - IF "%PLATFORM%"=="x86" ( - echo Performing x86 build in VS2015 - set ENV_SCRIPT_PARAM=x86 - ) ELSE ( - echo Performing amd64 build in VS2015 - set ENV_SCRIPT_PARAM=amd64 - ) -) ELSE IF "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( +IF "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( set TOOLCHAIN=msvc15 set QT_SUBDIR=msvc2017 set QT_VER=5.11 + set CMAKE_GENERATOR=NMake Makefiles set ENV_SCRIPT_PARAM= IF "%PLATFORM%"=="x86" ( echo Performing x86 build in VS2017 @@ -26,24 +15,30 @@ IF "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" ( set TOOLCHAIN=msvc16 set QT_SUBDIR=msvc2019 set QT_VER=5.15.2 + set CMAKE_GENERATOR=Visual Studio 16 2019 set ENV_SCRIPT_PARAM= IF "%PLATFORM%"=="x86" ( echo Performing x86 build in VS2019 set ENV_SCRIPT="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" + set CMAKE_PLATFORM=Win32 ) ELSE ( echo Performing amd64 build in VS2019 set ENV_SCRIPT="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" + set CMAKE_PLATFORM=x64 ) ) ELSE IF "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2022" ( set TOOLCHAIN=msvc17 set QT_SUBDIR=msvc2019 set QT_VER=5.15.2 + set CMAKE_GENERATOR=Visual Studio 17 2022 IF "%PLATFORM%"=="x86" ( echo Performing x86 build in VS2022 call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat" + set CMAKE_PLATFORM=Win32 ) ELSE ( echo Performing amd64 build in VS2022 call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" + set CMAKE_PLATFORM=x64 ) ) ELSE ( echo Toolchain %TOOLCHAIN% is not supported diff --git a/script/prepare_externals.bat b/script/prepare_externals.bat index 837ac137..0c907c44 100755 --- a/script/prepare_externals.bat +++ b/script/prepare_externals.bat @@ -1,6 +1,7 @@ rem Input rem BUILD_DIR - Main build directory rem GENERATOR - CMake generator +rem PLATFORM - CMake generator platform rem QTDIR - Path to Qt installation rem EXTERNALS_DIR - (Optional) Directory where externals need to be located rem COMMS_REPO - (Optional) Repository of the COMMS library @@ -18,6 +19,8 @@ if [%BUILD_DIR%] == [] echo "BUILD_DIR hasn't been specified" & exit /b 1 if [%GENERATOR%] == [] set GENERATOR="NMake Makefiles" +if NOT [%PLATFORM%] == [] set PLATFORM_PARAM=-A %PLATFORM% + if [%EXTERNALS_DIR%] == [] set EXTERNALS_DIR=%BUILD_DIR%/externals if [%COMMS_REPO%] == [] set COMMS_REPO="https://github.com/commschamp/comms.git" @@ -64,7 +67,7 @@ else ( echo "Building COMMS library..." mkdir "%COMMS_BUILD_DIR%" cd %COMMS_BUILD_DIR% -cmake -G %GENERATOR% -S %COMMS_SRC_DIR% -B %COMMS_BUILD_DIR% -DCMAKE_INSTALL_PREFIX=%COMMS_INSTALL_DIR% ^ +cmake -G %GENERATOR% %PLATFORM_PARAM% -S %COMMS_SRC_DIR% -B %COMMS_BUILD_DIR% -DCMAKE_INSTALL_PREFIX=%COMMS_INSTALL_DIR% ^ -DCMAKE_BUILD_TYPE=%COMMON_BUILD_TYPE% -DCMAKE_CXX_STANDARD=%COMMON_CXX_STANDARD% if %errorlevel% neq 0 exit /b %errorlevel% cmake --build %COMMS_BUILD_DIR% --config %COMMON_BUILD_TYPE% --target install @@ -94,7 +97,7 @@ else ( echo "Building cc_tools_qt ..." mkdir "%CC_TOOLS_QT_BUILD_DIR%" cd %CC_TOOLS_QT_BUILD_DIR% -cmake -G %GENERATOR% -S %CC_TOOLS_QT_SRC_DIR% -B %CC_TOOLS_QT_BUILD_DIR% -DCMAKE_INSTALL_PREFIX=%CC_TOOLS_QT_INSTALL_DIR% ^ +cmake -G %GENERATOR% %PLATFORM_PARAM% -S %CC_TOOLS_QT_SRC_DIR% -B %CC_TOOLS_QT_BUILD_DIR% -DCMAKE_INSTALL_PREFIX=%CC_TOOLS_QT_INSTALL_DIR% ^ -DCMAKE_BUILD_TYPE=%COMMON_BUILD_TYPE% -DCC_TOOLS_QT_BUILD_APPS=OFF -DCMAKE_PREFIX_PATH=%COMMS_INSTALL_DIR%;%QTDIR% ^ -DCMAKE_CXX_STANDARD=%COMMON_CXX_STANDARD% %CC_TOOLS_QT_VERSION_OPT% if %errorlevel% neq 0 exit /b %errorlevel% diff --git a/script/prepare_externals.sh b/script/prepare_externals.sh index ce334449..cd08abd4 100755 --- a/script/prepare_externals.sh +++ b/script/prepare_externals.sh @@ -14,6 +14,8 @@ # COMMON_INSTALL_DIR - (Optional) Common directory to perform installations # COMMON_BUILD_TYPE - (Optional) CMake build type # COMMON_CXX_STANDARD - (Optional) CMake C++ standard +# COMMON_CMAKE_GENERATOR - (Optional) CMake generator +# COMMON_CMAKE_PLATFORM - (Optional) CMake platform ##################################### @@ -85,7 +87,10 @@ function build_comms() { echo "Building COMMS library..." mkdir -p ${COMMS_BUILD_DIR} - cmake -S ${COMMS_SRC_DIR} -B ${COMMS_BUILD_DIR} -DCMAKE_INSTALL_PREFIX=${COMMS_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${COMMON_BUILD_TYPE} -DCMAKE_CXX_STANDARD=${COMMON_CXX_STANDARD} + cmake \ + ${COMMON_CMAKE_GENERATOR:+"-G ${COMMON_CMAKE_GENERATOR}"} ${COMMON_CMAKE_PLATFORM:+"-A ${COMMON_CMAKE_PLATFORM}"} \ + -S ${COMMS_SRC_DIR} -B ${COMMS_BUILD_DIR} -DCMAKE_INSTALL_PREFIX=${COMMS_INSTALL_DIR} \ + -DCMAKE_BUILD_TYPE=${COMMON_BUILD_TYPE} -DCMAKE_CXX_STANDARD=${COMMON_CXX_STANDARD} cmake --build ${COMMS_BUILD_DIR} --config ${COMMON_BUILD_TYPE} --target install ${procs_param} } @@ -108,7 +113,9 @@ function build_cc_tools_qt() { echo "Building cc_tools_qt ..." mkdir -p ${CC_TOOLS_QT_BUILD_DIR} - cmake -S ${CC_TOOLS_QT_SRC_DIR} -B ${CC_TOOLS_QT_BUILD_DIR} -DCMAKE_INSTALL_PREFIX=${CC_TOOLS_QT_INSTALL_DIR} \ + cmake -S ${CC_TOOLS_QT_SRC_DIR} -B ${CC_TOOLS_QT_BUILD_DIR} \ + ${COMMON_CMAKE_GENERATOR:+"-G ${COMMON_CMAKE_GENERATOR}"} ${COMMON_CMAKE_PLATFORM:+"-A ${COMMON_CMAKE_PLATFORM}"} \ + -DCMAKE_INSTALL_PREFIX=${CC_TOOLS_QT_INSTALL_DIR} \ -DCMAKE_BUILD_TYPE=${COMMON_BUILD_TYPE} -DCC_TOOLS_QT_BUILD_APPS=OFF -DCMAKE_PREFIX_PATH=${COMMS_INSTALL_DIR} \ -DCMAKE_CXX_STANDARD=${COMMON_CXX_STANDARD} ${CC_TOOLS_QT_VERSION_OPT} cmake --build ${CC_TOOLS_QT_BUILD_DIR} --config ${COMMON_BUILD_TYPE} --target install ${procs_param} From d9b4b9670b8582be8768c34342f653cd47bf6796 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 18:19:46 +1000 Subject: [PATCH 11/60] Requiring min v5.2.2 of the comms library. --- .appveyor.yml | 2 +- .github/workflows/actions_build.yml | 2 +- app/commsdsl2comms/src/CommsGenerator.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 64b41a76..889c7a15 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -18,7 +18,7 @@ configuration: - Release environment: - COMMS_BRANCH: v5.2.1 + COMMS_BRANCH: v5.2.2 CC_TOOLS_QT_BRANCH: v4.2.3 matrix: - CPP_STD: 11 diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 6b94b2f8..e1ddf81a 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -3,7 +3,7 @@ name: Github Actions Build on: [push] env: - COMMS_BRANCH: v5.2.1 + COMMS_BRANCH: v5.2.2 CC_TOOLS_QT_BRANCH: v4.2.3 jobs: diff --git a/app/commsdsl2comms/src/CommsGenerator.cpp b/app/commsdsl2comms/src/CommsGenerator.cpp index 9b6190cc..a1ae1ae5 100644 --- a/app/commsdsl2comms/src/CommsGenerator.cpp +++ b/app/commsdsl2comms/src/CommsGenerator.cpp @@ -68,7 +68,7 @@ namespace util = commsdsl::gen::util; namespace commsdsl2comms { -const std::string MinCommsVersion("5.2.1"); +const std::string MinCommsVersion("5.2.2"); const std::string& CommsGenerator::commsFileGeneratedComment() { From cc4e82e6a68af3e38804715107842f018d9f1972 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 18:21:50 +1000 Subject: [PATCH 12/60] Requiring min v5.1 of the cc_tools_qt. --- .appveyor.yml | 2 +- .github/workflows/actions_build.yml | 2 +- app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 889c7a15..aaabf0a9 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -19,7 +19,7 @@ configuration: environment: COMMS_BRANCH: v5.2.2 - CC_TOOLS_QT_BRANCH: v4.2.3 + CC_TOOLS_QT_BRANCH: develop matrix: - CPP_STD: 11 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index e1ddf81a..84c2b6c8 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -4,7 +4,7 @@ on: [push] env: COMMS_BRANCH: v5.2.2 - CC_TOOLS_QT_BRANCH: v4.2.3 + CC_TOOLS_QT_BRANCH: develop jobs: build_gcc_old_ubuntu_20_04: diff --git a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp index 8a73e82f..5a71746b 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp @@ -58,7 +58,7 @@ namespace commsdsl2tools_qt namespace { -const std::string MinToolsQtVersion("4.2.3"); +const std::string MinToolsQtVersion("5.1.0"); } // namespace From 1d5cccdb09b6eec142a6b0a4e253782331b5fc26 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Fri, 16 Feb 2024 18:56:50 +1000 Subject: [PATCH 13/60] Using [[maybe_unused]] attribute instead of void casts. --- app/commsdsl2comms/src/CommsCmake.cpp | 1 - app/commsdsl2comms/src/CommsDataField.cpp | 3 +- app/commsdsl2comms/src/CommsDispatch.cpp | 3 +- app/commsdsl2comms/src/CommsEnumField.cpp | 3 +- app/commsdsl2comms/src/CommsField.cpp | 30 ++++------ app/commsdsl2comms/src/CommsInputMessages.cpp | 3 +- app/commsdsl2comms/src/CommsIntField.cpp | 10 +--- app/commsdsl2comms/src/CommsLayer.cpp | 4 +- app/commsdsl2comms/src/CommsListField.cpp | 3 +- app/commsdsl2comms/src/CommsMsgFactory.cpp | 15 ++--- app/commsdsl2comms/src/CommsOptionalField.cpp | 3 +- app/commsdsl2comms/src/CommsPayloadLayer.cpp | 3 +- app/commsdsl2comms/src/CommsStringField.cpp | 9 ++- .../src/EmscriptenField.cpp | 3 +- .../src/EmscriptenProtocolOptions.cpp | 16 +---- app/commsdsl2emscripten/src/main.cpp | 3 - app/commsdsl2swig/src/SwigField.cpp | 6 +- app/commsdsl2swig/src/SwigLayer.cpp | 3 +- app/commsdsl2swig/src/SwigProtocolOptions.cpp | 16 +---- app/commsdsl2swig/src/main.cpp | 3 - app/commsdsl2test/src/TestCmake.cpp | 1 - app/commsdsl2tools_qt/src/ToolsQtCmake.cpp | 1 - app/commsdsl2tools_qt/src/ToolsQtField.cpp | 1 - .../src/ToolsQtInputMessages.cpp | 3 +- app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp | 8 --- lib/src/gen/Field.cpp | 6 +- lib/src/gen/Generator.cpp | 3 +- lib/src/gen/Layer.cpp | 9 +-- lib/src/gen/Namespace.cpp | 3 +- lib/src/gen/util.cpp | 7 +-- lib/src/parse/BitfieldFieldImpl.cpp | 3 +- lib/src/parse/BundleFieldImpl.cpp | 3 +- lib/src/parse/EnumFieldImpl.cpp | 9 +-- lib/src/parse/FieldImpl.cpp | 58 ++++++------------- lib/src/parse/IntFieldImpl.cpp | 3 +- lib/src/parse/LayerImpl.cpp | 3 +- lib/src/parse/OptCondImpl.cpp | 3 +- lib/src/parse/SetFieldImpl.cpp | 6 +- script/prepare_externals.sh | 8 ++- 39 files changed, 81 insertions(+), 197 deletions(-) diff --git a/app/commsdsl2comms/src/CommsCmake.cpp b/app/commsdsl2comms/src/CommsCmake.cpp index 960bfa16..2cd91cc4 100644 --- a/app/commsdsl2comms/src/CommsCmake.cpp +++ b/app/commsdsl2comms/src/CommsCmake.cpp @@ -45,7 +45,6 @@ bool CommsCmake::write(CommsGenerator& generator) bool CommsCmake::commsWriteInternal() const { - static_cast(m_generator); auto filePath = util::pathAddElem( m_generator.getOutputDir(), strings::cmakeListsFileStr()); diff --git a/app/commsdsl2comms/src/CommsDataField.cpp b/app/commsdsl2comms/src/CommsDataField.cpp index 85279fd3..b5493a74 100644 --- a/app/commsdsl2comms/src/CommsDataField.cpp +++ b/app/commsdsl2comms/src/CommsDataField.cpp @@ -353,9 +353,8 @@ std::size_t CommsDataField::commsMaxLengthImpl() const return comms::maxPossibleLength(); } -std::string CommsDataField::commsSizeAccessStrImpl(const std::string& accStr, const std::string& prefix) const +std::string CommsDataField::commsSizeAccessStrImpl([[maybe_unused]] const std::string& accStr, const std::string& prefix) const { - static_cast(accStr); assert(accStr.empty()); return prefix + ".getValue().size()"; } diff --git a/app/commsdsl2comms/src/CommsDispatch.cpp b/app/commsdsl2comms/src/CommsDispatch.cpp index 5c0455fa..2efa01d2 100644 --- a/app/commsdsl2comms/src/CommsDispatch.cpp +++ b/app/commsdsl2comms/src/CommsDispatch.cpp @@ -324,9 +324,8 @@ bool CommsDispatch::commsWriteInternal() const bool CommsDispatch::commsWriteDispatchInternal() const { auto checkFunc = - [](const commsdsl::gen::Message& msg) noexcept + []([[maybe_unused]] const commsdsl::gen::Message& msg) noexcept { - static_cast(msg); return true; }; diff --git a/app/commsdsl2comms/src/CommsEnumField.cpp b/app/commsdsl2comms/src/CommsEnumField.cpp index 59212111..fd96d422 100644 --- a/app/commsdsl2comms/src/CommsEnumField.cpp +++ b/app/commsdsl2comms/src/CommsEnumField.cpp @@ -486,9 +486,8 @@ std::size_t CommsEnumField::commsMinLengthImpl() const return CommsBase::commsMinLengthImpl(); } -std::string CommsEnumField::commsCompPrepValueStrImpl(const std::string& accStr, const std::string& value) const +std::string CommsEnumField::commsCompPrepValueStrImpl([[maybe_unused]] const std::string& accStr, const std::string& value) const { - static_cast(accStr); assert(accStr.empty()); if (value.empty()) { diff --git a/app/commsdsl2comms/src/CommsField.cpp b/app/commsdsl2comms/src/CommsField.cpp index 06153f3f..ea2d5c2b 100644 --- a/app/commsdsl2comms/src/CommsField.cpp +++ b/app/commsdsl2comms/src/CommsField.cpp @@ -587,9 +587,8 @@ CommsField::StringsList CommsField::commsDefReadMsvcSuppressWarningsImpl() const return StringsList(); } -std::string CommsField::commsDefBundledReadPrepareFuncBodyImpl(const CommsFieldsList& siblings) const +std::string CommsField::commsDefBundledReadPrepareFuncBodyImpl([[maybe_unused]] const CommsFieldsList& siblings) const { - static_cast(siblings); return strings::emptyString(); } @@ -603,9 +602,8 @@ std::string CommsField::commsDefRefreshFuncBodyImpl() const return strings::emptyString(); } -std::string CommsField::commsDefBundledRefreshFuncBodyImpl(const CommsFieldsList& siblings) const +std::string CommsField::commsDefBundledRefreshFuncBodyImpl([[maybe_unused]] const CommsFieldsList& siblings) const { - static_cast(siblings); return strings::emptyString(); } @@ -634,9 +632,8 @@ bool CommsField::commsDefHasNameFuncImpl() const return true; } -std::string CommsField::commsMembersCustomizationOptionsBodyImpl(FieldOptsFunc fieldOptsFunc) const +std::string CommsField::commsMembersCustomizationOptionsBodyImpl([[maybe_unused]] FieldOptsFunc fieldOptsFunc) const { - static_cast(fieldOptsFunc); return strings::emptyString(); } @@ -660,9 +657,8 @@ std::size_t CommsField::commsMaxLengthImpl() const return m_field.dslObj().maxLength(); } -std::string CommsField::commsValueAccessStrImpl(const std::string& accStr, const std::string& prefix) const +std::string CommsField::commsValueAccessStrImpl([[maybe_unused]] const std::string& accStr, const std::string& prefix) const { - static_cast(accStr); assert(accStr.empty()); return prefix + ".getValue()"; } @@ -675,24 +671,21 @@ std::string CommsField::commsSizeAccessStrImpl( return strings::emptyString(); } -void CommsField::commsCompOptChecksImpl(const std::string& accStr, StringsList& checks, const std::string& prefix) const +void CommsField::commsCompOptChecksImpl( + [[maybe_unused]] const std::string& accStr, + [[maybe_unused]] StringsList& checks, + [[maybe_unused]] const std::string& prefix) const { - static_cast(accStr); - static_cast(checks); - static_cast(prefix); } -std::string CommsField::commsCompValueCastTypeImpl(const std::string& accStr, const std::string& prefix) const +std::string CommsField::commsCompValueCastTypeImpl([[maybe_unused]] const std::string& accStr, const std::string& prefix) const { - static_cast(accStr); - static_cast(prefix); assert(accStr.empty()); return prefix + "ValueType"; } -std::string CommsField::commsCompPrepValueStrImpl(const std::string& accStr, const std::string& value) const +std::string CommsField::commsCompPrepValueStrImpl([[maybe_unused]] const std::string& accStr, const std::string& value) const { - static_cast(accStr); assert(accStr.empty()); return value; } @@ -702,9 +695,8 @@ bool CommsField::commsHasCustomLengthDeepImpl() const return false; } -bool CommsField::commsVerifyInnerRefImpl(const std::string& refStr) const +bool CommsField::commsVerifyInnerRefImpl([[maybe_unused]] const std::string& refStr) const { - static_cast(refStr); return false; } diff --git a/app/commsdsl2comms/src/CommsInputMessages.cpp b/app/commsdsl2comms/src/CommsInputMessages.cpp index 316c2035..90fb20f5 100644 --- a/app/commsdsl2comms/src/CommsInputMessages.cpp +++ b/app/commsdsl2comms/src/CommsInputMessages.cpp @@ -175,9 +175,8 @@ bool CommsInputMessages::commsWriteInternal() const bool CommsInputMessages::commsWriteAllMessagesInternal() const { auto checkFunc = - [](const commsdsl::gen::Message& msg) noexcept + []([[maybe_unused]] const commsdsl::gen::Message& msg) noexcept { - static_cast(msg); return true; }; diff --git a/app/commsdsl2comms/src/CommsIntField.cpp b/app/commsdsl2comms/src/CommsIntField.cpp index 27fe84a1..c083c1ff 100644 --- a/app/commsdsl2comms/src/CommsIntField.cpp +++ b/app/commsdsl2comms/src/CommsIntField.cpp @@ -391,9 +391,8 @@ std::size_t CommsIntField::commsMinLengthImpl() const return CommsBase::commsMinLengthImpl(); } -std::string CommsIntField::commsCompPrepValueStrImpl(const std::string& accStr, const std::string& value) const +std::string CommsIntField::commsCompPrepValueStrImpl([[maybe_unused]] const std::string& accStr, const std::string& value) const { - static_cast(accStr); assert(accStr.empty()); auto valToString = @@ -458,8 +457,7 @@ std::string CommsIntField::commsCompPrepValueStrImpl(const std::string& accStr, } while (false); gen.logger().error("Unknown value comparison string \"" + value + "\" for field " + comms::scopeFor(*this, gen)); - static constexpr bool Not_yet_implemented = false; - static_cast(Not_yet_implemented); + [[maybe_unused]] static constexpr bool Not_yet_implemented = false; assert(Not_yet_implemented); return strings::unexpectedValueStr(); } @@ -923,10 +921,8 @@ void CommsIntField::commsAddValidRangesOptInternal(StringsList& opts) const auto needToMergeCheck = - [](auto min1, auto max1, auto min2, auto max2) -> bool + []([[maybe_unused]] auto min1, auto max1, auto min2, [[maybe_unused]] auto max2) -> bool { - static_cast(min1); - static_cast(max2); assert(min1 <= min2); if (min2 <= (max1 + 1)) { assert(max1 <= max2); diff --git a/app/commsdsl2comms/src/CommsLayer.cpp b/app/commsdsl2comms/src/CommsLayer.cpp index e6ae0001..d46b76f4 100644 --- a/app/commsdsl2comms/src/CommsLayer.cpp +++ b/app/commsdsl2comms/src/CommsLayer.cpp @@ -35,7 +35,6 @@ namespace commsdsl2comms CommsLayer::CommsLayer(commsdsl::gen::Layer& layer) : m_layer(layer) { - static_cast(m_layer); } CommsLayer::~CommsLayer() = default; @@ -215,9 +214,8 @@ CommsLayer::IncludesList CommsLayer::commsDefIncludesImpl() const return IncludesList(); } -std::string CommsLayer::commsDefBaseTypeImpl(const std::string& prevName) const +std::string CommsLayer::commsDefBaseTypeImpl([[maybe_unused]] const std::string& prevName) const { - static_cast(prevName); assert(false); // Not implemented in derived class return strings::emptyString(); } diff --git a/app/commsdsl2comms/src/CommsListField.cpp b/app/commsdsl2comms/src/CommsListField.cpp index 9a6f97c6..7ddd5d58 100644 --- a/app/commsdsl2comms/src/CommsListField.cpp +++ b/app/commsdsl2comms/src/CommsListField.cpp @@ -547,9 +547,8 @@ std::size_t CommsListField::commsMaxLengthImpl() const return comms::maxPossibleLength(); } -std::string CommsListField::commsSizeAccessStrImpl(const std::string& accStr, const std::string& prefix) const +std::string CommsListField::commsSizeAccessStrImpl([[maybe_unused]] const std::string& accStr, const std::string& prefix) const { - static_cast(accStr); assert(accStr.empty()); return prefix + ".getValue().size()"; } diff --git a/app/commsdsl2comms/src/CommsMsgFactory.cpp b/app/commsdsl2comms/src/CommsMsgFactory.cpp index e97b2ef1..ce7bc7e3 100644 --- a/app/commsdsl2comms/src/CommsMsgFactory.cpp +++ b/app/commsdsl2comms/src/CommsMsgFactory.cpp @@ -81,11 +81,11 @@ std::string commsDynMemAllocCodeFuncInternal(const commsdsl::gen::Message& msg, return util::processTemplate(Templ, repl); } -std::string commsInPlaceAllocCodeFuncInternal(const commsdsl::gen::Message& msg, const CommsGenerator& generator, int idx) +std::string commsInPlaceAllocCodeFuncInternal( + [[maybe_unused]] const commsdsl::gen::Message& msg, + [[maybe_unused]] const CommsGenerator& generator, + [[maybe_unused]] int idx) { - static_cast(msg); - static_cast(generator); - static_cast(idx); assert(false); // Not implemented return std::string(); } @@ -206,15 +206,13 @@ bool commsWriteFileInternal( { auto* typeStr = &DynMemStr; auto* policyStr = &DynMemAllocPolicyStr; - auto codeFunc = &commsDynMemAllocCodeFuncInternal; + [[maybe_unused]] auto codeFunc = &commsDynMemAllocCodeFuncInternal; if (inPlaceAlloc) { typeStr = &InPlaceStr; policyStr = &InPlacePolicyStr; codeFunc = &commsInPlaceAllocCodeFuncInternal; } - static_cast(codeFunc); - auto name = prefix + *typeStr + MsgFactorySuffixStr; auto filePath = comms::headerPathForFactory(name, generator); generator.logger().info("Generating " + filePath); @@ -421,9 +419,8 @@ bool CommsMsgFactory::commsWriteInternal() const bool CommsMsgFactory::commsWriteAllMsgFactoryInternal() const { auto checkFunc = - [](const commsdsl::gen::Message& msg) noexcept + []([[maybe_unused]] const commsdsl::gen::Message& msg) noexcept { - static_cast(msg); return true; }; diff --git a/app/commsdsl2comms/src/CommsOptionalField.cpp b/app/commsdsl2comms/src/CommsOptionalField.cpp index 29ff5271..16e4dc3d 100644 --- a/app/commsdsl2comms/src/CommsOptionalField.cpp +++ b/app/commsdsl2comms/src/CommsOptionalField.cpp @@ -433,9 +433,8 @@ std::string CommsOptionalField::commsDefBaseClassImpl() const return util::processTemplate(Templ, repl); } -std::string CommsOptionalField::commsDefBundledReadPrepareFuncBodyImpl(const CommsFieldsList& siblings) const +std::string CommsOptionalField::commsDefBundledReadPrepareFuncBodyImpl([[maybe_unused]] const CommsFieldsList& siblings) const { - static_cast(siblings); auto c = optionalDslObj().cond(); if (!c.valid()) { return strings::emptyString(); diff --git a/app/commsdsl2comms/src/CommsPayloadLayer.cpp b/app/commsdsl2comms/src/CommsPayloadLayer.cpp index 390c1a5b..fff74bb2 100644 --- a/app/commsdsl2comms/src/CommsPayloadLayer.cpp +++ b/app/commsdsl2comms/src/CommsPayloadLayer.cpp @@ -50,9 +50,8 @@ CommsPayloadLayer::IncludesList CommsPayloadLayer::commsDefIncludesImpl() const return result; } -std::string CommsPayloadLayer::commsDefBaseTypeImpl(const std::string& prevName) const +std::string CommsPayloadLayer::commsDefBaseTypeImpl([[maybe_unused]] const std::string& prevName) const { - static_cast(prevName); assert(prevName.empty()); static const std::string Templ = diff --git a/app/commsdsl2comms/src/CommsStringField.cpp b/app/commsdsl2comms/src/CommsStringField.cpp index 472401ef..04cd83f9 100644 --- a/app/commsdsl2comms/src/CommsStringField.cpp +++ b/app/commsdsl2comms/src/CommsStringField.cpp @@ -327,9 +327,8 @@ CommsStringField::StringsList CommsStringField::commsExtraBareMetalDefaultOption }; } -std::string CommsStringField::commsSizeAccessStrImpl(const std::string& accStr, const std::string& prefix) const +std::string CommsStringField::commsSizeAccessStrImpl([[maybe_unused]] const std::string& accStr, const std::string& prefix) const { - static_cast(accStr); assert(accStr.empty()); return prefix + ".getValue().size()"; } @@ -344,11 +343,11 @@ std::size_t CommsStringField::commsMaxLengthImpl() const return comms::maxPossibleLength(); } -std::string CommsStringField::commsCompValueCastTypeImpl(const std::string& accStr, const std::string& prefix) const +std::string CommsStringField::commsCompValueCastTypeImpl( + [[maybe_unused]] const std::string& accStr, + [[maybe_unused]] const std::string& prefix) const { assert(accStr.empty()); - static_cast(accStr); - static_cast(prefix); return strings::emptyString(); } diff --git a/app/commsdsl2emscripten/src/EmscriptenField.cpp b/app/commsdsl2emscripten/src/EmscriptenField.cpp index 61eabd49..1f51541d 100644 --- a/app/commsdsl2emscripten/src/EmscriptenField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenField.cpp @@ -170,9 +170,8 @@ void EmscriptenField::emscriptenAddSourceFiles(StringsList& sources) const sources.push_back(gen.emscriptenRelSourceFor(m_field)); } -void EmscriptenField::emscriptenHeaderAddExtraIncludesImpl(StringsList& incs) const +void EmscriptenField::emscriptenHeaderAddExtraIncludesImpl([[maybe_unused]] StringsList& incs) const { - static_cast(incs); } std::string EmscriptenField::emscriptenHeaderExtraCodePrefixImpl() const diff --git a/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.cpp b/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.cpp index 2aacbf7a..f724358a 100644 --- a/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.cpp @@ -84,24 +84,10 @@ std::string EmscriptenProtocolOptions::emscriptenClassName(const EmscriptenGener return generator.protocolSchema().mainNamespace() + "_ProtocolOptions"; } -bool EmscriptenProtocolOptions::emscriptenIsDefined(const EmscriptenGenerator& generator) +bool EmscriptenProtocolOptions::emscriptenIsDefined([[maybe_unused]] const EmscriptenGenerator& generator) { // Always use message factory options. - static_cast(generator); return true; - - // auto& schemas = generator.schemas(); - // if (schemas.size() <= 1) { - // return false; - // } - - // for (auto idx = 0U; idx < (schemas.size() - 1); ++idx) { - // if (schemas[idx]->hasAnyReferencedComponent()) { - // return true; - // } - // } - - // return false; } void EmscriptenProtocolOptions::emscriptenAddInclude(const EmscriptenGenerator& generator, StringsList& list) diff --git a/app/commsdsl2emscripten/src/main.cpp b/app/commsdsl2emscripten/src/main.cpp index 854d53d0..e074784b 100644 --- a/app/commsdsl2emscripten/src/main.cpp +++ b/app/commsdsl2emscripten/src/main.cpp @@ -60,9 +60,6 @@ std::vector getFilesList( int main(int argc, const char* argv[]) { - static_cast(argc); - static_cast(argv); - try { commsdsl2emscripten::EmscriptenProgramOptions options; options.parse(argc, argv); diff --git a/app/commsdsl2swig/src/SwigField.cpp b/app/commsdsl2swig/src/SwigField.cpp index 189f85c1..ff455bad 100644 --- a/app/commsdsl2swig/src/SwigField.cpp +++ b/app/commsdsl2swig/src/SwigField.cpp @@ -273,14 +273,12 @@ std::string SwigField::swigPublicDeclImpl() const return util::processTemplate(Templ, repl); } -void SwigField::swigAddDefImpl(StringsList& list) const +void SwigField::swigAddDefImpl([[maybe_unused]] StringsList& list) const { - static_cast(list); } -void SwigField::swigAddMembersCodeImpl(StringsList& list) const +void SwigField::swigAddMembersCodeImpl([[maybe_unused]] StringsList& list) const { - static_cast(list); } std::string SwigField::swigCommonPublicFuncsDecl() const diff --git a/app/commsdsl2swig/src/SwigLayer.cpp b/app/commsdsl2swig/src/SwigLayer.cpp index a79d769b..f141d8fa 100644 --- a/app/commsdsl2swig/src/SwigLayer.cpp +++ b/app/commsdsl2swig/src/SwigLayer.cpp @@ -185,9 +185,8 @@ std::string SwigLayer::swigMemberFieldDeclImpl() const return strings::emptyString(); } -void SwigLayer::swigAddCodeImpl(StringsList& list) const +void SwigLayer::swigAddCodeImpl([[maybe_unused]] StringsList& list) const { - static_cast(list); } std::string SwigLayer::swigFieldTypeImpl() const diff --git a/app/commsdsl2swig/src/SwigProtocolOptions.cpp b/app/commsdsl2swig/src/SwigProtocolOptions.cpp index 19c995cc..2d49c292 100644 --- a/app/commsdsl2swig/src/SwigProtocolOptions.cpp +++ b/app/commsdsl2swig/src/SwigProtocolOptions.cpp @@ -132,23 +132,9 @@ std::string SwigProtocolOptions::swigClassName(const SwigGenerator& generator) return generator.protocolSchema().mainNamespace() + "_ProtocolOptions"; } -bool SwigProtocolOptions::swigIsDefined(const SwigGenerator& generator) +bool SwigProtocolOptions::swigIsDefined([[maybe_unused]] const SwigGenerator& generator) { - static_cast(generator); return true; - - // auto& schemas = generator.schemas(); - // if (schemas.size() <= 1) { - // return false; - // } - - // for (auto idx = 0U; idx < (schemas.size() - 1); ++idx) { - // if (schemas[idx]->hasAnyReferencedComponent()) { - // return true; - // } - // } - - // return false; } } // namespace commsdsl2swig \ No newline at end of file diff --git a/app/commsdsl2swig/src/main.cpp b/app/commsdsl2swig/src/main.cpp index cd21abad..3aa322af 100644 --- a/app/commsdsl2swig/src/main.cpp +++ b/app/commsdsl2swig/src/main.cpp @@ -60,9 +60,6 @@ std::vector getFilesList( int main(int argc, const char* argv[]) { - static_cast(argc); - static_cast(argv); - try { commsdsl2swig::SwigProgramOptions options; options.parse(argc, argv); diff --git a/app/commsdsl2test/src/TestCmake.cpp b/app/commsdsl2test/src/TestCmake.cpp index 0939d3f9..13b135d3 100644 --- a/app/commsdsl2test/src/TestCmake.cpp +++ b/app/commsdsl2test/src/TestCmake.cpp @@ -43,7 +43,6 @@ bool TestCmake::write(TestGenerator& generator) bool TestCmake::testWriteInternal() const { - static_cast(m_generator); auto filePath = commsdsl::gen::util::pathAddElem( m_generator.getOutputDir(), commsdsl::gen::strings::cmakeListsFileStr()); diff --git a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp index 1f865d20..b9cca918 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp @@ -45,7 +45,6 @@ bool ToolsQtCmake::write(ToolsQtGenerator& generator) bool ToolsQtCmake::testWriteInternal() const { - static_cast(m_generator); auto filePath = util::pathAddElem( m_generator.getOutputDir(), strings::cmakeListsFileStr()); diff --git a/app/commsdsl2tools_qt/src/ToolsQtField.cpp b/app/commsdsl2tools_qt/src/ToolsQtField.cpp index 1e921000..76da3648 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtField.cpp @@ -37,7 +37,6 @@ namespace commsdsl2tools_qt ToolsQtField::ToolsQtField(commsdsl::gen::Field& field) : m_field(field) { - static_cast(m_field); } ToolsQtField::~ToolsQtField() = default; diff --git a/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp b/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp index 8fd481bf..0aa9e5fb 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp @@ -152,9 +152,8 @@ bool ToolsQtInputMessages::testWriteInternal() const bool ToolsQtInputMessages::toolsWriteAllMessagesInternal() const { auto checkFunc = - [](const commsdsl::gen::Message& msg) noexcept + []([[maybe_unused]] const commsdsl::gen::Message& msg) noexcept { - static_cast(msg); return true; }; diff --git a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp index fafbf449..ee41ac80 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp @@ -77,7 +77,6 @@ std::string ToolsQtPlugin::toolsProtocolName() const bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() { - static_cast(m_generator); auto filePath = m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsProtClassNameInternal()) + strings::cppHeaderSuffixStr(); @@ -160,7 +159,6 @@ bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() bool ToolsQtPlugin::toolsWriteProtocolSrcInternal() { - static_cast(m_generator); auto filePath = m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsProtClassNameInternal()) + strings::cppSourceSuffixStr(); @@ -428,7 +426,6 @@ bool ToolsQtPlugin::toolsWriteProtocolSrcInternal() bool ToolsQtPlugin::toolsWritePluginHeaderInternal() { - static_cast(m_generator); auto filePath = m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsPluginClassNameInternal()) + strings::cppHeaderSuffixStr(); @@ -496,7 +493,6 @@ bool ToolsQtPlugin::toolsWritePluginHeaderInternal() bool ToolsQtPlugin::toolsWritePluginSrcInternal() { - static_cast(m_generator); auto filePath = m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsPluginClassNameInternal()) + strings::cppSourceSuffixStr(); @@ -582,7 +578,6 @@ bool ToolsQtPlugin::toolsWritePluginSrcInternal() bool ToolsQtPlugin::toolsWritePluginJsonInternal() { - static_cast(m_generator); auto filePath = m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsPluginClassNameInternal()) + ".json"; @@ -628,7 +623,6 @@ bool ToolsQtPlugin::toolsWritePluginJsonInternal() bool ToolsQtPlugin::toolsWritePluginConfigInternal() { - static_cast(m_generator); auto filePath = m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsProtocolName()) + ".cfg"; @@ -670,7 +664,6 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetHeaderInternal() return true; } - static_cast(m_generator); auto filePath = m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsConfigWidgetClassNameInternal()) + strings::cppHeaderSuffixStr(); @@ -738,7 +731,6 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetSrcInternal() return true; } - static_cast(m_generator); auto filePath = m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsConfigWidgetClassNameInternal()) + strings::cppSourceSuffixStr(); diff --git a/lib/src/gen/Field.cpp b/lib/src/gen/Field.cpp index 408cc4b1..765d49f8 100644 --- a/lib/src/gen/Field.cpp +++ b/lib/src/gen/Field.cpp @@ -110,8 +110,7 @@ Field::Ptr Field::create(Generator& generator, commsdsl::parse::Field dslobj, El auto idx = static_cast(dslobj.kind()); if (MapSize <= idx) { - static constexpr bool Unexpected_kind = false; - static_cast(Unexpected_kind); + [[maybe_unused]] static constexpr bool Unexpected_kind = false; assert(Unexpected_kind); return Ptr(); } @@ -289,9 +288,8 @@ void Field::setReferencedImpl() { } -Field::FieldRefInfo Field::processInnerRefImpl(const std::string& refStr) const +Field::FieldRefInfo Field::processInnerRefImpl([[maybe_unused]] const std::string& refStr) const { - static_cast(refStr); assert(!refStr.empty()); FieldRefInfo info; return info; diff --git a/lib/src/gen/Generator.cpp b/lib/src/gen/Generator.cpp index 99dc572b..fb33b3e8 100644 --- a/lib/src/gen/Generator.cpp +++ b/lib/src/gen/Generator.cpp @@ -780,8 +780,7 @@ Generator::FieldsAccessList Generator::getAllFieldsFromAllSchemas() const bool Generator::prepare(const FilesList& files) { // Make sure the logger is created - auto& l = logger(); - static_cast(l); + [[maybe_unused]] auto& l = logger(); auto createCompleteFunc = [this]() diff --git a/lib/src/gen/Layer.cpp b/lib/src/gen/Layer.cpp index 20acc3e8..3485fad0 100644 --- a/lib/src/gen/Layer.cpp +++ b/lib/src/gen/Layer.cpp @@ -152,8 +152,7 @@ Layer::Ptr Layer::create(Generator& generator, commsdsl::parse::Layer dslobj, El auto idx = static_cast(dslobj.kind()); if (MapSize <= idx) { - static constexpr bool Unexpected_kind = false; - static_cast(Unexpected_kind); + [[maybe_unused]] static constexpr bool Unexpected_kind = false; assert(Unexpected_kind); return Ptr(); } @@ -232,9 +231,8 @@ std::string Layer::templateScopeOfComms(const std::string& iFaceStr, const std:: auto result = optLevelScope + optionsParams + commsScope.substr(optLevelScope.size()); auto* frame = static_cast(parent); - bool success = true; + [[maybe_unused]] bool success = true; auto allLayers = frame->getCommsOrderOfLayers(success); - static_cast(success); assert(success); auto iter = @@ -301,9 +299,8 @@ bool Layer::writeImpl() const return true; } -bool Layer::forceCommsOrderImpl(LayersAccessList& layers, bool& success) const +bool Layer::forceCommsOrderImpl([[maybe_unused]] LayersAccessList& layers, bool& success) const { - static_cast(layers); success = true; return false; } diff --git a/lib/src/gen/Namespace.cpp b/lib/src/gen/Namespace.cpp index 26ec0dc2..380cb9e5 100644 --- a/lib/src/gen/Namespace.cpp +++ b/lib/src/gen/Namespace.cpp @@ -475,8 +475,7 @@ const Field* Namespace::findMessageIdField() const if ((f->dslObj().kind() != commsdsl::parse::Field::Kind::Enum) && (f->dslObj().kind() != commsdsl::parse::Field::Kind::Int)) { - static constexpr bool Unexpected_kind = false; - static_cast(Unexpected_kind); + [[maybe_unused]] static constexpr bool Unexpected_kind = false; assert(Unexpected_kind); return nullptr; } diff --git a/lib/src/gen/util.cpp b/lib/src/gen/util.cpp index f9dee1ba..dcde7626 100644 --- a/lib/src/gen/util.cpp +++ b/lib/src/gen/util.cpp @@ -165,7 +165,6 @@ void cleanNewLinesBeforeCloseBracket(std::string& code) void doTidyCode(std::string& code) { - static_cast(code); cleanSpaces(code); cleanExtraNewLines(code); cleanNewLinesBeforeCloseBracket(code); @@ -403,8 +402,7 @@ std::string processTemplate(const std::string& templ, const ReplacementMap& repl static const std::string Suffix("#$#"); auto suffixPos = templ.find(Suffix, prefixPos + Prefix.size()); if (suffixPos == std::string::npos) { - static constexpr bool Incorrect_template = false; - static_cast(Incorrect_template); + [[maybe_unused]] static constexpr bool Incorrect_template = false; assert(Incorrect_template); templPos = templ.size(); break; @@ -445,8 +443,7 @@ std::string processTemplate(const std::string& templ, const ReplacementMap& repl auto nextNewLinePos = templ.find_first_of('\n', suffixPos + Suffix.size()); if (nextNewLinePos == std::string::npos) { - static constexpr bool Incorrect_template = false; - static_cast(Incorrect_template); + [[maybe_unused]] static constexpr bool Incorrect_template = false; assert(Incorrect_template); break; } diff --git a/lib/src/parse/BitfieldFieldImpl.cpp b/lib/src/parse/BitfieldFieldImpl.cpp index bf5b0967..d4f0125c 100644 --- a/lib/src/parse/BitfieldFieldImpl.cpp +++ b/lib/src/parse/BitfieldFieldImpl.cpp @@ -190,9 +190,8 @@ bool BitfieldFieldImpl::strToBoolImpl(const std::string& ref, bool& val) const return strToBoolOnFields(ref, m_members, val); } -bool BitfieldFieldImpl::verifySemanticTypeImpl(::xmlNodePtr node, SemanticType type) const +bool BitfieldFieldImpl::verifySemanticTypeImpl([[maybe_unused]] ::xmlNodePtr node, SemanticType type) const { - static_cast(node); if ((type == SemanticType::Length) && (protocol().isSemanticTypeLengthSupported()) && (protocol().isNonIntSemanticTypeLengthSupported())) { diff --git a/lib/src/parse/BundleFieldImpl.cpp b/lib/src/parse/BundleFieldImpl.cpp index 26dbb229..db2e0e51 100644 --- a/lib/src/parse/BundleFieldImpl.cpp +++ b/lib/src/parse/BundleFieldImpl.cpp @@ -238,9 +238,8 @@ bool BundleFieldImpl::strToDataImpl(const std::string& ref, std::vector(node); if ((type == SemanticType::Length) && (protocol().isSemanticTypeLengthSupported()) && (protocol().isNonIntSemanticTypeLengthSupported())) { diff --git a/lib/src/parse/EnumFieldImpl.cpp b/lib/src/parse/EnumFieldImpl.cpp index 7b239442..03383b09 100644 --- a/lib/src/parse/EnumFieldImpl.cpp +++ b/lib/src/parse/EnumFieldImpl.cpp @@ -217,9 +217,8 @@ bool EnumFieldImpl::validateBitLengthValueImpl(::xmlNodePtr node, std::size_t bi return true; } -bool EnumFieldImpl::verifySemanticTypeImpl(::xmlNodePtr node, SemanticType type) const +bool EnumFieldImpl::verifySemanticTypeImpl([[maybe_unused]] ::xmlNodePtr node, SemanticType type) const { - static_cast(node); return type == SemanticType::MessageId; } @@ -460,10 +459,8 @@ bool EnumFieldImpl::updateValues() return false; } - auto extraAttr = XmlWrap::getExtraAttributes(vNode, PropNames, protocol()); - static_cast(extraAttr); - auto extraChildren = XmlWrap::getExtraChildren(vNode, PropNames, protocol()); - static_cast(extraChildren); + [[maybe_unused]] auto extraAttr = XmlWrap::getExtraAttributes(vNode, PropNames, protocol()); + [[maybe_unused]] auto extraChildren = XmlWrap::getExtraChildren(vNode, PropNames, protocol()); auto nameIter = props.find(common::nameStr()); assert(nameIter != props.end()); diff --git a/lib/src/parse/FieldImpl.cpp b/lib/src/parse/FieldImpl.cpp index 1c036338..5a5184ab 100644 --- a/lib/src/parse/FieldImpl.cpp +++ b/lib/src/parse/FieldImpl.cpp @@ -274,8 +274,7 @@ bool FieldImpl::isComparableToValue(const std::string& val) const if (iter != std::end(NumericSemanticTypes)) { bool ok = false; - auto value = common::strToIntMax(val, &ok); - static_cast(value); + [[maybe_unused]] auto value = common::strToIntMax(val, &ok); return ok; } @@ -346,8 +345,7 @@ bool FieldImpl::verifySemanticType(::xmlNodePtr node, SemanticType type) const return false; } - static constexpr bool Unexpected_semantic_type = false; - static_cast(Unexpected_semantic_type); + [[maybe_unused]] static constexpr bool Unexpected_semantic_type = false; assert(Unexpected_semantic_type); return true; } @@ -519,17 +517,15 @@ bool FieldImpl::parseImpl() return true; } -bool FieldImpl::replaceMembersImpl(FieldsList& members) +bool FieldImpl::replaceMembersImpl([[maybe_unused]] FieldsList& members) { - static_cast(members); logError() << XmlWrap::logPrefix(m_node) << "The field of kind \"" << kindStr() << "\" does not support replacing its members."; return false; } -bool FieldImpl::verifySiblingsImpl(const FieldImpl::FieldsList& fields) const +bool FieldImpl::verifySiblingsImpl([[maybe_unused]] const FieldImpl::FieldsList& fields) const { - static_cast(fields); return true; } @@ -543,24 +539,21 @@ std::size_t FieldImpl::bitLengthImpl() const return 0U; } -bool FieldImpl::isComparableToValueImpl(const std::string& val) const +bool FieldImpl::isComparableToValueImpl([[maybe_unused]] const std::string& val) const { - static_cast(val); return false; } -bool FieldImpl::isComparableToFieldImpl(const FieldImpl& field) const +bool FieldImpl::isComparableToFieldImpl([[maybe_unused]] const FieldImpl& field) const { - static_cast(field); return false; } -bool FieldImpl::strToNumericImpl(const std::string& ref, std::intmax_t& val, bool& isBigUnsigned) const +bool FieldImpl::strToNumericImpl( + [[maybe_unused]] const std::string& ref, + [[maybe_unused]] std::intmax_t& val, + [[maybe_unused]] bool& isBigUnsigned) const { - static_cast(ref); - static_cast(val); - static_cast(isBigUnsigned); - if (protocol().isFieldValueReferenceSupported()) { logWarning() << "Extracting integral numeric value from \"" << kindStr() << @@ -587,11 +580,8 @@ bool FieldImpl::strToFpImpl(const std::string& ref, double& val) const return true; } -bool FieldImpl::strToBoolImpl(const std::string& ref, bool& val) const +bool FieldImpl::strToBoolImpl([[maybe_unused]] const std::string& ref, [[maybe_unused]] bool& val) const { - static_cast(ref); - static_cast(val); - if (protocol().isFieldValueReferenceSupported()) { logWarning() << "Extracting boolean value from \"" << kindStr() << @@ -601,11 +591,8 @@ bool FieldImpl::strToBoolImpl(const std::string& ref, bool& val) const return false; } -bool FieldImpl::strToStringImpl(const std::string& ref, std::string& val) const +bool FieldImpl::strToStringImpl([[maybe_unused]] const std::string& ref, [[maybe_unused]] std::string& val) const { - static_cast(ref); - static_cast(val); - if (protocol().isFieldValueReferenceSupported()) { logWarning() << "Extracting string value from \"" << kindStr() << @@ -615,11 +602,8 @@ bool FieldImpl::strToStringImpl(const std::string& ref, std::string& val) const return false; } -bool FieldImpl::strToDataImpl(const std::string& ref, std::vector& val) const +bool FieldImpl::strToDataImpl([[maybe_unused]] const std::string& ref, [[maybe_unused]] std::vector& val) const { - static_cast(ref); - static_cast(val); - if (protocol().isFieldValueReferenceSupported()) { logWarning() << "Extracting data value from \"" << kindStr() << @@ -629,25 +613,21 @@ bool FieldImpl::strToDataImpl(const std::string& ref, std::vector& return false; } -bool FieldImpl::validateBitLengthValueImpl(::xmlNodePtr node, std::size_t bitLength) const +bool FieldImpl::validateBitLengthValueImpl(::xmlNodePtr node, [[maybe_unused]] std::size_t bitLength) const { - static_cast(bitLength); logError() << XmlWrap::logPrefix(node) << "The field of kind \"" << kindStr() << "\" cannot be used or referenced as a member of \"" << common::bitfieldStr() << "\"."; return false; } -bool FieldImpl::verifySemanticTypeImpl(::xmlNodePtr node, SemanticType type) const +bool FieldImpl::verifySemanticTypeImpl([[maybe_unused]] ::xmlNodePtr node, [[maybe_unused]] SemanticType type) const { - static_cast(node); - static_cast(type); return false; } -bool FieldImpl::verifyAliasedMemberImpl(const std::string& fieldName) const +bool FieldImpl::verifyAliasedMemberImpl([[maybe_unused]] const std::string& fieldName) const { - static_cast(fieldName); return false; } @@ -663,17 +643,15 @@ const FieldImpl::FieldsList& FieldImpl::membersImpl() const return List; } -FieldImpl::FieldRefInfo FieldImpl::processInnerRefImpl(const std::string& refStr) const +FieldImpl::FieldRefInfo FieldImpl::processInnerRefImpl([[maybe_unused]] const std::string& refStr) const { - static_cast(refStr); assert(!refStr.empty()); FieldRefInfo info; return info; } -bool FieldImpl::isValidRefTypeImpl(FieldRefType type) const +bool FieldImpl::isValidRefTypeImpl([[maybe_unused]] FieldRefType type) const { - static_cast(type); return false; } diff --git a/lib/src/parse/IntFieldImpl.cpp b/lib/src/parse/IntFieldImpl.cpp index 703c97ba..0f48f08e 100644 --- a/lib/src/parse/IntFieldImpl.cpp +++ b/lib/src/parse/IntFieldImpl.cpp @@ -477,9 +477,8 @@ bool IntFieldImpl::validateBitLengthValueImpl(::xmlNodePtr node, std::size_t bit return true; } -bool IntFieldImpl::verifySemanticTypeImpl(::xmlNodePtr node, SemanticType type) const +bool IntFieldImpl::verifySemanticTypeImpl([[maybe_unused]] ::xmlNodePtr node, SemanticType type) const { - static_cast(node); if (type == SemanticType::Version) { return true; } diff --git a/lib/src/parse/LayerImpl.cpp b/lib/src/parse/LayerImpl.cpp index 0467151a..b1ab626f 100644 --- a/lib/src/parse/LayerImpl.cpp +++ b/lib/src/parse/LayerImpl.cpp @@ -173,9 +173,8 @@ bool LayerImpl::parseImpl() return true; } -bool LayerImpl::verifyImpl(const LayerImpl::LayersList& layers) +bool LayerImpl::verifyImpl([[maybe_unused]] const LayerImpl::LayersList& layers) { - static_cast(layers); return true; } diff --git a/lib/src/parse/OptCondImpl.cpp b/lib/src/parse/OptCondImpl.cpp index e781bba1..3ba1db4d 100644 --- a/lib/src/parse/OptCondImpl.cpp +++ b/lib/src/parse/OptCondImpl.cpp @@ -615,8 +615,7 @@ bool OptCondExprImpl::verifyInterfaceComparison(const FieldsList& fields, ::xmlN bool OptCondExprImpl::verifyValidSizeValueComparison() const { try { - auto val = std::stoll(m_right); - static_cast(val); + [[maybe_unused]] auto val = std::stoll(m_right); return true; } catch (...) { // Do nothing diff --git a/lib/src/parse/SetFieldImpl.cpp b/lib/src/parse/SetFieldImpl.cpp index 04f215b8..84404631 100644 --- a/lib/src/parse/SetFieldImpl.cpp +++ b/lib/src/parse/SetFieldImpl.cpp @@ -540,10 +540,8 @@ bool SetFieldImpl::updateBits() return false; } - auto extraAttr = XmlWrap::getExtraAttributes(b, PropNames, protocol()); - static_cast(extraAttr); - auto extraChildren = XmlWrap::getExtraChildren(b, PropNames, protocol()); - static_cast(extraChildren); + [[maybe_unused]] auto extraAttr = XmlWrap::getExtraAttributes(b, PropNames, protocol()); + [[maybe_unused]] auto extraChildren = XmlWrap::getExtraChildren(b, PropNames, protocol()); auto nameIter = props.find(common::nameStr()); assert(nameIter != props.end()); diff --git a/script/prepare_externals.sh b/script/prepare_externals.sh index cd08abd4..54fc617c 100755 --- a/script/prepare_externals.sh +++ b/script/prepare_externals.sh @@ -95,9 +95,11 @@ function build_comms() { } function build_cc_tools_qt() { - if [ -n "${COMMON_CXX_STANDARD}" -a "${COMMON_CXX_STANDARD}" -lt "17" ]; then - echo "Skipping build of cc_tools_qt due to old C++ standard" - return; + if [ -n "${COMMON_CXX_STANDARD}" ]; then + if [ ${COMMON_CXX_STANDARD} -lt 17 ]; then + echo "Skipping build of cc_tools_qt due to old C++ standard" + return; + fi fi if [ -e ${CC_TOOLS_QT_SRC_DIR}/.git ]; then From 6215136c9fb992de9e97ff1f18b0ac1880008483 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 11:44:22 +1000 Subject: [PATCH 14/60] Removing some of clang compilations with C++20 in github actions. --- .github/workflows/actions_build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 84c2b6c8..a7561d86 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -352,6 +352,13 @@ jobs: cc_ver: [12, 13, 14, 15] cpp: [11, 14, 17, 20] qt_ver: [5, 6] + exclude: + - cc_ver: 12 + cpp: 20 + - cc_ver: 13 + cpp: 20 + - cc_ver: 14 + cpp: 20 steps: - uses: actions/checkout@v2 From 793dccb7f4c9730ca52da3d4e1964f71ca03ef7b Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 11:49:23 +1000 Subject: [PATCH 15/60] Fixes to appveyor configuration. --- .appveyor.yml | 2 ++ script/prepare_externals.bat | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index aaabf0a9..6a4e7c67 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -51,6 +51,8 @@ install: - set COMMON_INSTALL_DIR=%BUILD_DIR%\install - set COMMON_BUILD_TYPE=%CONFIGURATION% - set COMMON_CXX_STANDARD=%CPP_STD% + - set GENERATOR="%CMAKE_GENERATOR%" + - set PLATFORM="%CMAKE_PLATFORM%" - call script\prepare_externals.bat build_script: diff --git a/script/prepare_externals.bat b/script/prepare_externals.bat index 0c907c44..a83cccc5 100755 --- a/script/prepare_externals.bat +++ b/script/prepare_externals.bat @@ -87,8 +87,7 @@ if exist %CC_TOOLS_QT_SRC_DIR%/.git ( git checkout . git checkout %CC_TOOLS_QT_TAG% git pull --all -) -else ( +) else ( echo "Cloning cc_tools_qt ..." git clone -b %CC_TOOLS_QT_TAG% %CC_TOOLS_QT_REPO% %CC_TOOLS_QT_SRC_DIR% if %errorlevel% neq 0 exit /b %errorlevel% From 44039947b5e670f4e7119ac84f2f4583e007dd29 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 12:03:13 +1000 Subject: [PATCH 16/60] Added usage of the AUTOMOC/AUTOUIC/AUTORCC in the generated cmake project of the commsdsl2tools_qt. --- app/commsdsl2comms/src/CommsCmake.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtCmake.cpp | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/app/commsdsl2comms/src/CommsCmake.cpp b/app/commsdsl2comms/src/CommsCmake.cpp index 2cd91cc4..e60ce8a1 100644 --- a/app/commsdsl2comms/src/CommsCmake.cpp +++ b/app/commsdsl2comms/src/CommsCmake.cpp @@ -128,7 +128,7 @@ bool CommsCmake::commsWriteInternal() const " (NOT \"${minor_ver}\" STREQUAL \"\") AND\n" " (NOT \"${patch_ver}\" STREQUAL \"\"))\n" " set (#^#CAP_NAME#$#_VERSION \"${major_ver}.${minor_ver}.${patch_ver}\")\n\n" - " message (STATUS \"Detected version ${#^#CAP_NAME#$#_VERSION} of the protocol\")\n" + " message (STATUS \"Detected version ${#^#CAP_NAME#$#_VERSION} of the protocol library.\")\n" " include(CMakePackageConfigHelpers)\n" " write_basic_package_version_file(\n" " ${CMAKE_BINARY_DIR}/${OPT_CMAKE_EXPORT_CONFIG_NAME}ConfigVersion.cmake\n" diff --git a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp index b9cca918..c62557d9 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp @@ -74,7 +74,10 @@ bool ToolsQtCmake::testWriteInternal() const "find_package(LibComms REQUIRED)\n" "find_package(#^#MAIN_NS#$# REQUIRED)\n" "find_package(cc_tools_qt REQUIRED)\n" - "find_package(Qt${OPT_QT_MAJOR_VERSION} REQUIRED COMPONENTS Widgets Core)\n" + "find_package(Qt${OPT_QT_MAJOR_VERSION} REQUIRED COMPONENTS Widgets Core)\n\n" + "set (CMAKE_AUTOMOC ON)\n" + "set (CMAKE_AUTOUIC ON)\n" + "set (CMAKE_AUTORCC ON)\n\n" "include(${LibComms_DIR}/CC_Compile.cmake)\n" "cc_compile(WARN_AS_ERR)\n" "cc_msvc_force_warn_opt(/W4)\n\n" @@ -109,18 +112,10 @@ bool ToolsQtCmake::testWriteInternal() const " set (src\n" " #^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/Protocol_${protocol}.cpp\n" " #^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/Plugin_${protocol}.cpp\n" - " )\n\n" - " set (hdr\n" " #^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/Plugin_${protocol}.h\n" " )\n\n" " if (has_config_widget)\n" " list (APPEND src #^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/ConfigWidget_${protocol}.cpp)\n" - " list (APPEND hdr #^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/ConfigWidget_${protocol}.h)\n" - " endif ()\n\n" - " if (${OPT_QT_MAJOR_VERSION} EQUAL 5)\n" - " qt5_wrap_cpp(moc ${hdr})\n" - " elseif (${OPT_QT_MAJOR_VERSION} EQUAL 6)\n" - " qt6_wrap_cpp(moc ${hdr})\n" " endif ()\n\n" " set(extra_link_opts)\n" " if (CMAKE_COMPILER_IS_GNUCC)\n" From e80b29836f9068ffe4b507044a83a5a407084efd Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 13:06:33 +1000 Subject: [PATCH 17/60] Support for adding extra sources to compilation of the projects generated by code generators. --- app/commsdsl2comms/src/CommsGenerator.cpp | 128 +++--------------- .../src/EmscriptenCmake.cpp | 6 +- .../src/EmscriptenGenerator.cpp | 113 ++-------------- app/commsdsl2swig/src/SwigCmake.cpp | 7 +- app/commsdsl2swig/src/SwigGenerator.cpp | 113 ++-------------- app/commsdsl2test/src/TestCmake.cpp | 12 +- app/commsdsl2test/src/TestGenerator.cpp | 88 +----------- app/commsdsl2tools_qt/src/ToolsQtCmake.cpp | 3 +- .../src/ToolsQtGenerator.cpp | 32 ++++- app/commsdsl2tools_qt/src/ToolsQtGenerator.h | 1 + lib/include/commsdsl/gen/Generator.h | 2 + lib/include/commsdsl/gen/strings.h | 1 + lib/src/gen/Generator.cpp | 104 +++++++++++++- lib/src/gen/strings.cpp | 6 + 14 files changed, 211 insertions(+), 405 deletions(-) diff --git a/app/commsdsl2comms/src/CommsGenerator.cpp b/app/commsdsl2comms/src/CommsGenerator.cpp index a1ae1ae5..d77cce60 100644 --- a/app/commsdsl2comms/src/CommsGenerator.cpp +++ b/app/commsdsl2comms/src/CommsGenerator.cpp @@ -377,115 +377,25 @@ bool CommsGenerator::commsPrepareExtraMessageBundlesInternal() bool CommsGenerator::commsWriteExtraFilesInternal() const { - auto& inputDir = getCodeDir(); - if (inputDir.empty()) { - return true; - } - - auto& outputDir = getOutputDir(); - auto pos = inputDir.size(); - auto endIter = fs::recursive_directory_iterator(); - for (auto iter = fs::recursive_directory_iterator(inputDir); iter != endIter; ++iter) { - if (!iter->is_regular_file()) { - continue; - } - - - auto srcPath = iter->path(); - auto ext = srcPath.extension().string(); - - static const std::string ReservedExt[] = { - strings::replaceFileSuffixStr(), - strings::extendFileSuffixStr(), - strings::publicFileSuffixStr(), - strings::protectedFileSuffixStr(), - strings::privateFileSuffixStr(), - strings::valueFileSuffixStr(), - strings::readFileSuffixStr(), - strings::writeFileSuffixStr(), - strings::lengthFileSuffixStr(), - strings::validFileSuffixStr(), - strings::refreshFileSuffixStr(), - strings::nameFileSuffixStr(), - strings::incFileSuffixStr(), - strings::appendFileSuffixStr(), - strings::constructFileSuffixStr(), - }; - auto extIter = std::find(std::begin(ReservedExt), std::end(ReservedExt), ext); - if (extIter != std::end(ReservedExt)) { - continue; - } - - auto pathStr = srcPath.string(); - auto posTmp = pos; - while (posTmp < pathStr.size()) { - if (pathStr[posTmp] == fs::path::preferred_separator) { - ++posTmp; - continue; - } - break; - } - - if (pathStr.size() <= posTmp) { - continue; - } - - std::string relPath(pathStr, posTmp); - auto& protSchema = protocolSchema(); - auto schemaNs = util::strToName(protSchema.schemaName()); - do { - if (protSchema.mainNamespace() == schemaNs) { - break; - } - - auto srcPrefix = (fs::path(strings::includeDirStr()) / schemaNs).string(); - if (!util::strStartsWith(relPath, srcPrefix)) { - break; - } - - auto dstPrefix = (fs::path(strings::includeDirStr()) / protSchema.mainNamespace()).string(); - relPath = dstPrefix + std::string(relPath, srcPrefix.size()); - } while (false); - - auto destPath = fs::path(outputDir) / relPath; - logger().info("Copying " + destPath.string()); - - if (!createDirectory(destPath.parent_path().string())) { - return false; - } - - std::error_code ec; - fs::copy_file(srcPath, destPath, fs::copy_options::overwrite_existing, ec); - if (ec) { - logger().error("Failed to copy with reason: " + ec.message()); - return false; - } - - if (protSchema.mainNamespace() != schemaNs) { - // The namespace has changed - - auto destStr = destPath.string(); - std::ifstream stream(destStr); - if (!stream) { - logger().error("Failed to open " + destStr + " for modification."); - return false; - } - - std::string content((std::istreambuf_iterator(stream)), std::istreambuf_iterator()); - stream.close(); - - util::strReplace(content, "namespace " + schemaNs, "namespace " + protSchema.mainNamespace()); - std::ofstream outStream(destStr, std::ios_base::trunc); - if (!outStream) { - logger().error("Failed to modify " + destStr + "."); - return false; - } - - outStream << content; - logger().info("Updated " + destStr + " to have proper main namespace."); - } - } - return true; + const std::vector ReservedExt = { + strings::replaceFileSuffixStr(), + strings::extendFileSuffixStr(), + strings::publicFileSuffixStr(), + strings::protectedFileSuffixStr(), + strings::privateFileSuffixStr(), + strings::valueFileSuffixStr(), + strings::readFileSuffixStr(), + strings::writeFileSuffixStr(), + strings::lengthFileSuffixStr(), + strings::validFileSuffixStr(), + strings::refreshFileSuffixStr(), + strings::nameFileSuffixStr(), + strings::incFileSuffixStr(), + strings::appendFileSuffixStr(), + strings::constructFileSuffixStr(), + }; + + return copyExtraSourceFiles(ReservedExt); } } // namespace commsdsl2comms diff --git a/app/commsdsl2emscripten/src/EmscriptenCmake.cpp b/app/commsdsl2emscripten/src/EmscriptenCmake.cpp index 89eb5206..7aaf22cb 100644 --- a/app/commsdsl2emscripten/src/EmscriptenCmake.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenCmake.cpp @@ -87,7 +87,8 @@ bool EmscriptenCmake::emscriptenWriteInternal() const " find_package(${OPT_PROTOCOL_NAME} REQUIRED)\n" "endif ()\n\n" "set (src\n" - " #^#SOURCES#$#\n" + " #^#SOURCES#$#\n" + " #^#EXTRA_SOURCES#$#\n" ")\n\n" "set (extra_link_opts)\n" "if (OPT_MODULARIZE)\n" @@ -127,7 +128,8 @@ bool EmscriptenCmake::emscriptenWriteInternal() const util::ReplacementMap repl = { {"PROJ_NAME", m_generator.protocolSchema().mainNamespace()}, {"APPEND", util::readFileContents(util::pathAddElem(m_generator.getCodeDir(), strings::cmakeListsFileStr()) + strings::appendFileSuffixStr())}, - {"SOURCES", util::strListToString(sources, "\n", "")} + {"SOURCES", util::strListToString(sources, "\n", "")}, + {"EXTRA_SOURCES", util::readFileContents(util::pathAddElem(m_generator.getCodeDir(), strings::cmakeListsFileStr()) + strings::sourcesFileSuffixStr())}, }; auto str = commsdsl::gen::util::processTemplate(Templ, repl, true); diff --git a/app/commsdsl2emscripten/src/EmscriptenGenerator.cpp b/app/commsdsl2emscripten/src/EmscriptenGenerator.cpp index 8e66d013..025c1d51 100644 --- a/app/commsdsl2emscripten/src/EmscriptenGenerator.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenGenerator.cpp @@ -413,107 +413,18 @@ EmscriptenGenerator::LayerPtr EmscriptenGenerator::createChecksumLayerImpl(comms bool EmscriptenGenerator::emscriptenWriteExtraFilesInternal() const { - auto& inputDir = getCodeDir(); - if (inputDir.empty()) { - return true; - } - - auto& outputDir = getOutputDir(); - auto pos = inputDir.size(); - auto endIter = fs::recursive_directory_iterator(); - for (auto iter = fs::recursive_directory_iterator(inputDir); iter != endIter; ++iter) { - if (!iter->is_regular_file()) { - continue; - } - - - auto srcPath = iter->path(); - auto ext = srcPath.extension().string(); - - static const std::string ReservedExt[] = { - strings::replaceFileSuffixStr(), - strings::extendFileSuffixStr(), - strings::publicFileSuffixStr(), - strings::incFileSuffixStr(), - strings::appendFileSuffixStr(), - strings::prependFileSuffixStr(), - strings::bindFileSuffixStr(), - }; - auto extIter = std::find(std::begin(ReservedExt), std::end(ReservedExt), ext); - if (extIter != std::end(ReservedExt)) { - continue; - } - - auto pathStr = srcPath.string(); - auto posTmp = pos; - while (posTmp < pathStr.size()) { - if (pathStr[posTmp] == fs::path::preferred_separator) { - ++posTmp; - continue; - } - break; - } - - if (pathStr.size() <= posTmp) { - continue; - } - - std::string relPath(pathStr, posTmp); - auto& protSchema = protocolSchema(); - auto schemaNs = util::strToName(protSchema.schemaName()); - do { - if (protSchema.mainNamespace() == schemaNs) { - break; - } - - auto srcPrefix = (fs::path(strings::includeDirStr()) / schemaNs).string(); - if (!util::strStartsWith(relPath, srcPrefix)) { - break; - } - - auto dstPrefix = (fs::path(strings::includeDirStr()) / protSchema.mainNamespace()).string(); - relPath = dstPrefix + std::string(relPath, srcPrefix.size()); - } while (false); - - auto destPath = fs::path(outputDir) / relPath; - logger().info("Copying " + destPath.string()); - - if (!createDirectory(destPath.parent_path().string())) { - return false; - } - - std::error_code ec; - fs::copy_file(srcPath, destPath, fs::copy_options::overwrite_existing, ec); - if (ec) { - logger().error("Failed to copy with reason: " + ec.message()); - return false; - } - - if (protSchema.mainNamespace() != schemaNs) { - // The namespace has changed - - auto destStr = destPath.string(); - std::ifstream stream(destStr); - if (!stream) { - logger().error("Failed to open " + destStr + " for modification."); - return false; - } - - std::string content((std::istreambuf_iterator(stream)), std::istreambuf_iterator()); - stream.close(); - - util::strReplace(content, "namespace " + schemaNs, "namespace " + protSchema.mainNamespace()); - std::ofstream outStream(destStr, std::ios_base::trunc); - if (!outStream) { - logger().error("Failed to modify " + destStr + "."); - return false; - } - - outStream << content; - logger().info("Updated " + destStr + " to have proper main namespace."); - } - } - return true; + const std::vector ReservedExt = { + strings::replaceFileSuffixStr(), + strings::extendFileSuffixStr(), + strings::publicFileSuffixStr(), + strings::incFileSuffixStr(), + strings::appendFileSuffixStr(), + strings::prependFileSuffixStr(), + strings::bindFileSuffixStr(), + strings::sourcesFileSuffixStr(), + }; + + return copyExtraSourceFiles(ReservedExt); } bool EmscriptenGenerator::emscriptenPrepareDefaultInterfaceInternal() diff --git a/app/commsdsl2swig/src/SwigCmake.cpp b/app/commsdsl2swig/src/SwigCmake.cpp index 8f1d1f7f..53bf7acd 100644 --- a/app/commsdsl2swig/src/SwigCmake.cpp +++ b/app/commsdsl2swig/src/SwigCmake.cpp @@ -87,10 +87,14 @@ bool SwigCmake::swigWriteInternal() const " PROPERTIES\n" " CPLUSPLUS ON\n" ")\n\n" + "set (src\n" + " ${swig_src_file}\n" + " #^#EXTRA_SOURCES#$#\n" + ")\n\n" "foreach (lang ${OPT_SWIG_LANGUAGES})\n" " #^#PREPEND_LANG#$#\n" " set (lang_output_dir ${CMAKE_CURRENT_BINARY_DIR}/output_${lang})\n" - " swig_add_library(#^#PROJ_NAME#$#_swig_${lang} LANGUAGE ${lang} OUTPUT_DIR ${lang_output_dir} SOURCES ${swig_src_file})\n" + " swig_add_library(#^#PROJ_NAME#$#_swig_${lang} LANGUAGE ${lang} OUTPUT_DIR ${lang_output_dir} SOURCES ${src})\n" " target_link_libraries(#^#PROJ_NAME#$#_swig_${lang} ${OPT_PROTOCOL_TARGET} cc::comms)\n" " target_compile_options(#^#PROJ_NAME#$#_swig_${lang} PRIVATE\n" " $<$:-ftemplate-depth=2048 -fconstexpr-depth=4096>\n" @@ -105,6 +109,7 @@ bool SwigCmake::swigWriteInternal() const {"PREPEND", swigPrependInternal()}, {"PREPEND_LANG", swigPrependLangInternal()}, {"APPEND", swigAppendInternal()}, + {"EXTRA_SOURCES", util::readFileContents(util::pathAddElem(m_generator.getCodeDir(), strings::cmakeListsFileStr()) + strings::sourcesFileSuffixStr())}, }; auto str = commsdsl::gen::util::processTemplate(Templ, repl, true); diff --git a/app/commsdsl2swig/src/SwigGenerator.cpp b/app/commsdsl2swig/src/SwigGenerator.cpp index 6b184914..a45e416f 100644 --- a/app/commsdsl2swig/src/SwigGenerator.cpp +++ b/app/commsdsl2swig/src/SwigGenerator.cpp @@ -387,107 +387,18 @@ SwigGenerator::LayerPtr SwigGenerator::createChecksumLayerImpl(commsdsl::parse:: bool SwigGenerator::swigWriteExtraFilesInternal() const { - auto& inputDir = getCodeDir(); - if (inputDir.empty()) { - return true; - } - - auto& outputDir = getOutputDir(); - auto pos = inputDir.size(); - auto endIter = fs::recursive_directory_iterator(); - for (auto iter = fs::recursive_directory_iterator(inputDir); iter != endIter; ++iter) { - if (!iter->is_regular_file()) { - continue; - } - - - auto srcPath = iter->path(); - auto ext = srcPath.extension().string(); - - static const std::string ReservedExt[] = { - strings::replaceFileSuffixStr(), - strings::extendFileSuffixStr(), - strings::publicFileSuffixStr(), - strings::incFileSuffixStr(), - strings::appendFileSuffixStr(), - strings::prependFileSuffixStr(), - strings::prependLangFileSuffixStr(), - }; - auto extIter = std::find(std::begin(ReservedExt), std::end(ReservedExt), ext); - if (extIter != std::end(ReservedExt)) { - continue; - } - - auto pathStr = srcPath.string(); - auto posTmp = pos; - while (posTmp < pathStr.size()) { - if (pathStr[posTmp] == fs::path::preferred_separator) { - ++posTmp; - continue; - } - break; - } - - if (pathStr.size() <= posTmp) { - continue; - } - - std::string relPath(pathStr, posTmp); - auto& protSchema = protocolSchema(); - auto schemaNs = util::strToName(protSchema.schemaName()); - do { - if (protSchema.mainNamespace() == schemaNs) { - break; - } - - auto srcPrefix = (fs::path(strings::includeDirStr()) / schemaNs).string(); - if (!util::strStartsWith(relPath, srcPrefix)) { - break; - } - - auto dstPrefix = (fs::path(strings::includeDirStr()) / protSchema.mainNamespace()).string(); - relPath = dstPrefix + std::string(relPath, srcPrefix.size()); - } while (false); - - auto destPath = fs::path(outputDir) / relPath; - logger().info("Copying " + destPath.string()); - - if (!createDirectory(destPath.parent_path().string())) { - return false; - } - - std::error_code ec; - fs::copy_file(srcPath, destPath, fs::copy_options::overwrite_existing, ec); - if (ec) { - logger().error("Failed to copy with reason: " + ec.message()); - return false; - } - - if (protSchema.mainNamespace() != schemaNs) { - // The namespace has changed - - auto destStr = destPath.string(); - std::ifstream stream(destStr); - if (!stream) { - logger().error("Failed to open " + destStr + " for modification."); - return false; - } - - std::string content((std::istreambuf_iterator(stream)), std::istreambuf_iterator()); - stream.close(); - - util::strReplace(content, "namespace " + schemaNs, "namespace " + protSchema.mainNamespace()); - std::ofstream outStream(destStr, std::ios_base::trunc); - if (!outStream) { - logger().error("Failed to modify " + destStr + "."); - return false; - } - - outStream << content; - logger().info("Updated " + destStr + " to have proper main namespace."); - } - } - return true; + const std::vector ReservedExt = { + strings::replaceFileSuffixStr(), + strings::extendFileSuffixStr(), + strings::publicFileSuffixStr(), + strings::incFileSuffixStr(), + strings::appendFileSuffixStr(), + strings::prependFileSuffixStr(), + strings::prependLangFileSuffixStr(), + strings::sourcesFileSuffixStr(), + }; + + return copyExtraSourceFiles(ReservedExt); } diff --git a/app/commsdsl2test/src/TestCmake.cpp b/app/commsdsl2test/src/TestCmake.cpp index 13b135d3..6f5fdcda 100644 --- a/app/commsdsl2test/src/TestCmake.cpp +++ b/app/commsdsl2test/src/TestCmake.cpp @@ -24,6 +24,10 @@ #include #include +namespace strings = commsdsl::gen::strings; +namespace util = commsdsl::gen::util; + + namespace commsdsl2test { @@ -78,6 +82,7 @@ bool TestCmake::testWriteInternal() const {"FRAME_SCOPE", commsdsl::gen::comms::scopeFor(*firstFrame, m_generator)}, {"OPTIONS_SCOPE", commsdsl::gen::comms::scopeForOptions(commsdsl::gen::strings::defaultOptionsStr(), m_generator)}, {"INPUT_SCOPE", commsdsl::gen::comms::scopeForInput(commsdsl::gen::strings::allMessagesStr(), m_generator)}, + {"EXTRA_SOURCES", util::readFileContents(util::pathAddElem(m_generator.getCodeDir(), strings::cmakeListsFileStr()) + strings::sourcesFileSuffixStr())}, }; static const std::string Template = @@ -102,7 +107,10 @@ bool TestCmake::testWriteInternal() const "include(GNUInstallDirs)\n" "######################################################################\n" "function (define_test name)\n" - " set (src ${name}.cpp)\n" + " set (src\n" + " ${name}.cpp\n" + " #^#EXTRA_SOURCES#$#\n" + " )\n\n" " add_executable(${name} ${src})\n" " target_link_libraries(${name} PRIVATE cc::#^#PROJ_NS#$# cc::comms)\n" " set (extra_defs)\n" @@ -175,7 +183,7 @@ bool TestCmake::testWriteInternal() const "string (REPLACE \"::\" \"/\" OPT_TEST_INPUT_MESSAGES_HEADER \"${OPT_TEST_INPUT_MESSAGES}.h\")\n\n" "define_test(#^#PROJ_NS#$#_input_test)\n"; - auto str = commsdsl::gen::util::processTemplate(Template, repl, true); + auto str = util::processTemplate(Template, repl, true); stream << str; stream.flush(); if (!stream.good()) { diff --git a/app/commsdsl2test/src/TestGenerator.cpp b/app/commsdsl2test/src/TestGenerator.cpp index 3e8c1571..7b03a90a 100644 --- a/app/commsdsl2test/src/TestGenerator.cpp +++ b/app/commsdsl2test/src/TestGenerator.cpp @@ -53,91 +53,11 @@ bool TestGenerator::writeImpl() bool TestGenerator::testWriteExtraFilesInternal() const { - auto& inputDir = getCodeDir(); - if (inputDir.empty()) { - return true; - } + const std::vector ReservedExt = { + strings::sourcesFileSuffixStr(), + }; - auto& outputDir = getOutputDir(); - auto pos = inputDir.size(); - auto endIter = fs::recursive_directory_iterator(); - for (auto iter = fs::recursive_directory_iterator(inputDir); iter != endIter; ++iter) { - if (!iter->is_regular_file()) { - continue; - } - - - auto srcPath = iter->path(); - auto pathStr = srcPath.string(); - auto posTmp = pos; - while (posTmp < pathStr.size()) { - if (pathStr[posTmp] == fs::path::preferred_separator) { - ++posTmp; - continue; - } - break; - } - - if (pathStr.size() <= posTmp) { - continue; - } - - std::string relPath(pathStr, posTmp); - auto& protSchema = protocolSchema(); - auto schemaNs = util::strToName(protSchema.schemaName()); - do { - if (protSchema.mainNamespace() == schemaNs) { - break; - } - - auto srcPrefix = (fs::path(strings::includeDirStr()) / schemaNs).string(); - if (!util::strStartsWith(relPath, srcPrefix)) { - break; - } - - auto dstPrefix = (fs::path(strings::includeDirStr()) / protSchema.mainNamespace()).string(); - relPath = dstPrefix + std::string(relPath, srcPrefix.size()); - } while (false); - - auto destPath = fs::path(outputDir) / relPath; - logger().info("Copying " + destPath.string()); - - if (!createDirectory(destPath.parent_path().string())) { - return false; - } - - std::error_code ec; - fs::copy_file(srcPath, destPath, fs::copy_options::overwrite_existing, ec); - if (ec) { - logger().error("Failed to copy with reason: " + ec.message()); - return false; - } - - if (protSchema.mainNamespace() != schemaNs) { - // The namespace has changed - - auto destStr = destPath.string(); - std::ifstream stream(destStr); - if (!stream) { - logger().error("Failed to open " + destStr + " for modification."); - return false; - } - - std::string content((std::istreambuf_iterator(stream)), std::istreambuf_iterator()); - stream.close(); - - util::strReplace(content, "namespace " + schemaNs, "namespace " + protSchema.mainNamespace()); - std::ofstream outStream(destStr, std::ios_base::trunc); - if (!outStream) { - logger().error("Failed to modify " + destStr + "."); - return false; - } - - outStream << content; - logger().info("Updated " + destStr + " to have proper main namespace."); - } - } - return true; + return copyExtraSourceFiles(ReservedExt); } } // namespace commsdsl2test diff --git a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp index c62557d9..e2a6bf1a 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp @@ -113,6 +113,7 @@ bool ToolsQtCmake::testWriteInternal() const " #^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/Protocol_${protocol}.cpp\n" " #^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/Plugin_${protocol}.cpp\n" " #^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/Plugin_${protocol}.h\n" + " #^#EXTRA_SOURCES#$#\n" " )\n\n" " if (has_config_widget)\n" " list (APPEND src #^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/ConfigWidget_${protocol}.cpp)\n" @@ -155,12 +156,12 @@ bool ToolsQtCmake::testWriteInternal() const pluginInvokes.push_back("cc_plugin (\"" + p->toolsProtocolName() + "\" " + (p->toolsHasConfigWidget() ? "TRUE" : "FALSE") + ")"); } - util::ReplacementMap repl = { {"CORE_FILES", util::strListToString(m_generator.toolsSourceFiles(), "\n", "")}, {"PLUGINS_LIST", util::strListToString(pluginInvokes, "\n", "")}, {"TOP_NS", m_generator.getTopNamespace()}, {"MAIN_NS", m_generator.protocolSchema().mainNamespace()}, + {"EXTRA_SOURCES", util::readFileContents(util::pathAddElem(m_generator.getCodeDir(), strings::cmakeListsFileStr()) + strings::sourcesFileSuffixStr())}, }; auto str = commsdsl::gen::util::processTemplate(Template, repl, true); diff --git a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp index 5a71746b..12cb0c6b 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp @@ -47,11 +47,19 @@ #include "ToolsQtVersion.h" #include "commsdsl/version.h" +#include "commsdsl/gen/strings.h" +#include "commsdsl/gen/util.h" #include #include +#include +#include #include +namespace fs = std::filesystem; +namespace strings = commsdsl::gen::strings; +namespace util = commsdsl::gen::util; + namespace commsdsl2tools_qt { @@ -312,13 +320,19 @@ bool ToolsQtGenerator::writeImpl() return false; } - return + result = std::all_of( m_plugins.begin(), m_plugins.end(), [](auto& pluginPtr) { return pluginPtr->write(); }); + + if (!result) { + return false; + } + + return toolsWriteExtraFilesInternal(); } bool ToolsQtGenerator::toolsPrepareDefaultInterfaceInternal() @@ -399,4 +413,20 @@ bool ToolsQtGenerator::toolsPrepareSelectedFramesInternal() return true; } +bool ToolsQtGenerator::toolsWriteExtraFilesInternal() const +{ + const std::vector ReservedExt = { + strings::replaceFileSuffixStr(), + strings::extendFileSuffixStr(), + strings::publicFileSuffixStr(), + strings::protectedFileSuffixStr(), + strings::privateFileSuffixStr(), + strings::incFileSuffixStr(), + strings::appendFileSuffixStr(), + strings::sourcesFileSuffixStr(), + }; + + return copyExtraSourceFiles(ReservedExt); +} + } // namespace commsdsl2tools_qt diff --git a/app/commsdsl2tools_qt/src/ToolsQtGenerator.h b/app/commsdsl2tools_qt/src/ToolsQtGenerator.h index 88248b9e..d6015cfa 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtGenerator.h +++ b/app/commsdsl2tools_qt/src/ToolsQtGenerator.h @@ -123,6 +123,7 @@ class ToolsQtGenerator final : public commsdsl::gen::Generator bool toolsPrepareDefaultInterfaceInternal(); bool toolsPrepareSelectedInterfacesInternal(); bool toolsPrepareSelectedFramesInternal(); + bool toolsWriteExtraFilesInternal() const; PluginInfosList m_pluginInfos; PluginsList m_plugins; diff --git a/lib/include/commsdsl/gen/Generator.h b/lib/include/commsdsl/gen/Generator.h index de509069..88275b98 100644 --- a/lib/include/commsdsl/gen/Generator.h +++ b/lib/include/commsdsl/gen/Generator.h @@ -200,6 +200,8 @@ class Generator Namespace* addDefaultNamespace(); + bool copyExtraSourceFiles(const std::vector& reservedExtensions) const; + private: std::unique_ptr m_impl; }; diff --git a/lib/include/commsdsl/gen/strings.h b/lib/include/commsdsl/gen/strings.h index bcc76474..df419b13 100644 --- a/lib/include/commsdsl/gen/strings.h +++ b/lib/include/commsdsl/gen/strings.h @@ -52,6 +52,7 @@ const std::string& prependFileSuffixStr(); const std::string& prependLangFileSuffixStr(); const std::string& bindFileSuffixStr(); const std::string& constructFileSuffixStr(); +const std::string& sourcesFileSuffixStr(); const std::string& forceEmptyDisplayNameStr(); const std::string& fieldBaseClassStr(); const std::string& defaultOptionsClassStr(); diff --git a/lib/src/gen/Generator.cpp b/lib/src/gen/Generator.cpp index fb33b3e8..fe6450ef 100644 --- a/lib/src/gen/Generator.cpp +++ b/lib/src/gen/Generator.cpp @@ -44,9 +44,12 @@ #include #include #include +#include #include #include +namespace fs = std::filesystem; + namespace commsdsl { @@ -65,7 +68,7 @@ class GeneratorImpl explicit GeneratorImpl(Generator& generator) : m_generator(generator), - m_outputDir(std::filesystem::current_path().string()) + m_outputDir(fs::current_path().string()) { } @@ -1057,12 +1060,12 @@ bool Generator::createDirectory(const std::string& path) const } std::error_code ec; - if (std::filesystem::is_directory(path, ec)) { + if (fs::is_directory(path, ec)) { m_impl->recordCreatedDirectory(path); return true; } - std::filesystem::create_directories(path, ec); + fs::create_directories(path, ec); if (ec) { logger().error("Failed to create directory \"" + path + "\" with error: " + ec.message()); return false; @@ -1247,6 +1250,101 @@ Namespace* Generator::addDefaultNamespace() return currentSchema().addDefaultNamespace(); } +bool Generator::copyExtraSourceFiles(const std::vector& reservedExtensions) const +{ + auto& inputDir = getCodeDir(); + if (inputDir.empty()) { + return true; + } + + auto& outputDir = getOutputDir(); + auto pos = inputDir.size(); + auto endIter = fs::recursive_directory_iterator(); + for (auto iter = fs::recursive_directory_iterator(inputDir); iter != endIter; ++iter) { + if (!iter->is_regular_file()) { + continue; + } + + auto srcPath = iter->path(); + auto ext = srcPath.extension().string(); + + auto extIter = std::find(reservedExtensions.begin(), reservedExtensions.end(), ext); + if (extIter != reservedExtensions.end()) { + continue; + } + + auto pathStr = srcPath.string(); + auto posTmp = pos; + while (posTmp < pathStr.size()) { + if (pathStr[posTmp] == fs::path::preferred_separator) { + ++posTmp; + continue; + } + break; + } + + if (pathStr.size() <= posTmp) { + continue; + } + + std::string relPath(pathStr, posTmp); + auto& protSchema = protocolSchema(); + auto schemaNs = util::strToName(protSchema.schemaName()); + do { + if (protSchema.mainNamespace() == schemaNs) { + break; + } + + auto srcPrefix = (fs::path(strings::includeDirStr()) / schemaNs).string(); + if (!util::strStartsWith(relPath, srcPrefix)) { + break; + } + + auto dstPrefix = (fs::path(strings::includeDirStr()) / protSchema.mainNamespace()).string(); + relPath = dstPrefix + std::string(relPath, srcPrefix.size()); + } while (false); + + auto destPath = fs::path(outputDir) / relPath; + logger().info("Copying " + destPath.string()); + + if (!createDirectory(destPath.parent_path().string())) { + return false; + } + + std::error_code ec; + fs::copy_file(srcPath, destPath, fs::copy_options::overwrite_existing, ec); + if (ec) { + logger().error("Failed to copy with reason: " + ec.message()); + return false; + } + + if (protSchema.mainNamespace() != schemaNs) { + // The namespace has changed + + auto destStr = destPath.string(); + std::ifstream stream(destStr); + if (!stream) { + logger().error("Failed to open " + destStr + " for modification."); + return false; + } + + std::string content((std::istreambuf_iterator(stream)), std::istreambuf_iterator()); + stream.close(); + + util::strReplace(content, "namespace " + schemaNs, "namespace " + protSchema.mainNamespace()); + std::ofstream outStream(destStr, std::ios_base::trunc); + if (!outStream) { + logger().error("Failed to modify " + destStr + "."); + return false; + } + + outStream << content; + logger().info("Updated " + destStr + " to have proper main namespace."); + } + } + return true; +} + } // namespace gen } // namespace commsdsl diff --git a/lib/src/gen/strings.cpp b/lib/src/gen/strings.cpp index 819423cc..9eb8bda4 100644 --- a/lib/src/gen/strings.cpp +++ b/lib/src/gen/strings.cpp @@ -255,6 +255,12 @@ const std::string& constructFileSuffixStr() return Str; } +const std::string& sourcesFileSuffixStr() +{ + static const std::string Str(".sources"); + return Str; +} + const std::string& forceEmptyDisplayNameStr() { static const std::string Str("_"); From c2b8ca2eb79cfbe96cdb83d0e62bd72f15a44f8d Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 13:07:32 +1000 Subject: [PATCH 18/60] Updated next version to be v6.3. --- lib/include/commsdsl/version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/include/commsdsl/version.h b/lib/include/commsdsl/version.h index abdb7d03..8040449b 100644 --- a/lib/include/commsdsl/version.h +++ b/lib/include/commsdsl/version.h @@ -23,10 +23,10 @@ #define COMMSDSL_MAJOR_VERSION 6U /// @brief Minor verion of the library -#define COMMSDSL_MINOR_VERSION 2U +#define COMMSDSL_MINOR_VERSION 3U /// @brief Patch level of the library -#define COMMSDSL_PATCH_VERSION 5U +#define COMMSDSL_PATCH_VERSION 0U /// @brief Macro to create numeric version as single unsigned number #define COMMSDSL_MAKE_VERSION(major_, minor_, patch_) \ From 087cadd317acd4829fa9e436d85d5db6e78f6d2d Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 13:12:42 +1000 Subject: [PATCH 19/60] Removing usage of [[maybe_unused]] for the lambda functions parameters to keep MSVC happy. --- app/commsdsl2comms/src/CommsDispatch.cpp | 3 ++- app/commsdsl2comms/src/CommsInputMessages.cpp | 3 ++- app/commsdsl2comms/src/CommsIntField.cpp | 4 +++- app/commsdsl2comms/src/CommsMsgFactory.cpp | 3 ++- app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp | 3 ++- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/commsdsl2comms/src/CommsDispatch.cpp b/app/commsdsl2comms/src/CommsDispatch.cpp index 2efa01d2..5c0455fa 100644 --- a/app/commsdsl2comms/src/CommsDispatch.cpp +++ b/app/commsdsl2comms/src/CommsDispatch.cpp @@ -324,8 +324,9 @@ bool CommsDispatch::commsWriteInternal() const bool CommsDispatch::commsWriteDispatchInternal() const { auto checkFunc = - []([[maybe_unused]] const commsdsl::gen::Message& msg) noexcept + [](const commsdsl::gen::Message& msg) noexcept { + static_cast(msg); return true; }; diff --git a/app/commsdsl2comms/src/CommsInputMessages.cpp b/app/commsdsl2comms/src/CommsInputMessages.cpp index 90fb20f5..316c2035 100644 --- a/app/commsdsl2comms/src/CommsInputMessages.cpp +++ b/app/commsdsl2comms/src/CommsInputMessages.cpp @@ -175,8 +175,9 @@ bool CommsInputMessages::commsWriteInternal() const bool CommsInputMessages::commsWriteAllMessagesInternal() const { auto checkFunc = - []([[maybe_unused]] const commsdsl::gen::Message& msg) noexcept + [](const commsdsl::gen::Message& msg) noexcept { + static_cast(msg); return true; }; diff --git a/app/commsdsl2comms/src/CommsIntField.cpp b/app/commsdsl2comms/src/CommsIntField.cpp index c083c1ff..e064df18 100644 --- a/app/commsdsl2comms/src/CommsIntField.cpp +++ b/app/commsdsl2comms/src/CommsIntField.cpp @@ -921,8 +921,10 @@ void CommsIntField::commsAddValidRangesOptInternal(StringsList& opts) const auto needToMergeCheck = - []([[maybe_unused]] auto min1, auto max1, auto min2, [[maybe_unused]] auto max2) -> bool + [](auto min1, auto max1, auto min2, auto max2) -> bool { + static_cast(min1); + static_cast(min2); assert(min1 <= min2); if (min2 <= (max1 + 1)) { assert(max1 <= max2); diff --git a/app/commsdsl2comms/src/CommsMsgFactory.cpp b/app/commsdsl2comms/src/CommsMsgFactory.cpp index ce7bc7e3..efe79933 100644 --- a/app/commsdsl2comms/src/CommsMsgFactory.cpp +++ b/app/commsdsl2comms/src/CommsMsgFactory.cpp @@ -419,8 +419,9 @@ bool CommsMsgFactory::commsWriteInternal() const bool CommsMsgFactory::commsWriteAllMsgFactoryInternal() const { auto checkFunc = - []([[maybe_unused]] const commsdsl::gen::Message& msg) noexcept + [](const commsdsl::gen::Message& msg) noexcept { + static_cast(msg); return true; }; diff --git a/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp b/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp index 0aa9e5fb..8fd481bf 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp @@ -152,8 +152,9 @@ bool ToolsQtInputMessages::testWriteInternal() const bool ToolsQtInputMessages::toolsWriteAllMessagesInternal() const { auto checkFunc = - []([[maybe_unused]] const commsdsl::gen::Message& msg) noexcept + [](const commsdsl::gen::Message& msg) noexcept { + static_cast(msg); return true; }; From 29574c7ea4c488e05412ee90b246aa74fd504232 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 16:52:50 +1000 Subject: [PATCH 20/60] Allow injecting extra "plugin" and "protocol" code when generating with commsdsl2tools_qt. --- app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp | 255 ++++++++++++++---- .../test/test21/src/CMakeLists.txt.sources | 1 + .../test21/plugin/EmptySource.cpp | 0 .../test21/plugin/Plugin_test21.cpp.extend | 23 ++ .../test21/plugin/Plugin_test21.cpp.inc | 2 + .../test21/plugin/Plugin_test21.h.extend | 11 + .../test21/plugin/Protocol_test21.cpp.extend | 2 + .../test21/plugin/Protocol_test21.h.extend | 7 + 8 files changed, 250 insertions(+), 51 deletions(-) create mode 100644 app/commsdsl2tools_qt/test/test21/src/CMakeLists.txt.sources create mode 100644 app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/EmptySource.cpp create mode 100644 app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.extend create mode 100644 app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.inc create mode 100644 app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.h.extend create mode 100644 app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Protocol_test21.cpp.extend create mode 100644 app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Protocol_test21.h.extend diff --git a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp index ee41ac80..4e638950 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp @@ -77,8 +77,8 @@ std::string ToolsQtPlugin::toolsProtocolName() const bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() { - auto filePath = - m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsProtClassNameInternal()) + strings::cppHeaderSuffixStr(); + auto relPath = toolsRelFilePath(toolsProtClassNameInternal()) + strings::cppHeaderSuffixStr(); + auto filePath = util::pathAddElem(m_generator.getOutputDir(), relPath); m_generator.logger().info("Generating " + filePath); @@ -94,11 +94,27 @@ bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() return false; } + auto replacePath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::replaceFileSuffixStr()); + auto replaceCode = util::readFileContents(replacePath); + + if (!replaceCode.empty()) { + stream << replaceCode; + stream.flush(); + return stream.good(); + } + + auto extendPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::extendFileSuffixStr()); + auto extendCode = util::readFileContents(extendPath); + + auto incPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::incFileSuffixStr()); + auto incCode = util::readFileContents(incPath); + static const std::string Templ = "#^#GENERATED#$#\n" "#pragma once\n\n" "#include \n\n" "#include \"cc_tools_qt/Protocol.h\"\n\n" + "#^#INC#$#\n\n" "namespace #^#TOP_NS#$#\n" "{\n\n" "namespace #^#MAIN_NS#$#\n" @@ -106,11 +122,11 @@ bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() "namespace plugin\n" "{\n\n" "class #^#CLASS_NAME#$#Impl;\n" - "class #^#CLASS_NAME#$# : public cc_tools_qt::Protocol\n" + "class #^#CLASS_NAME#$##^#ORIG#$# : public cc_tools_qt::Protocol\n" "{\n" "public:\n" - " #^#CLASS_NAME#$#();\n" - " virtual ~#^#CLASS_NAME#$#();\n\n" + " #^#CLASS_NAME#$##^#ORIG#$#();\n" + " virtual ~#^#CLASS_NAME#$##^#ORIG#$#();\n\n" " #^#VERSION_API#$#\n" "protected:\n" " virtual const QString& nameImpl() const override;\n" @@ -126,6 +142,7 @@ bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() "private:\n" " std::unique_ptr<#^#CLASS_NAME#$#Impl> m_pImpl;\n" "};\n\n" + "#^#EXTEND#$#\n" "} // namespace plugin\n\n" "} // namespace #^#MAIN_NS#$#\n\n" "} // namespace #^#TOP_NS#$#\n\n" @@ -136,8 +153,13 @@ bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() {"TOP_NS", m_generator.getTopNamespace()}, {"MAIN_NS", m_generator.currentSchema().mainNamespace()}, {"CLASS_NAME", toolsProtClassNameInternal()}, + {"EXTEND", extendCode}, + {"INC", incCode}, }; + if (!extendCode.empty()) { + repl["ORIG"] = strings::origSuffixStr(); + } if (toolsHasConfigWidgetInternal()) { std::string verApi = @@ -159,8 +181,8 @@ bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() bool ToolsQtPlugin::toolsWriteProtocolSrcInternal() { - auto filePath = - m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsProtClassNameInternal()) + strings::cppSourceSuffixStr(); + auto relPath = toolsRelFilePath(toolsProtClassNameInternal()) + strings::cppSourceSuffixStr(); + auto filePath = util::pathAddElem(m_generator.getOutputDir(), relPath); m_generator.logger().info("Generating " + filePath); @@ -170,6 +192,21 @@ bool ToolsQtPlugin::toolsWriteProtocolSrcInternal() return false; } + auto replacePath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::replaceFileSuffixStr()); + auto replaceCode = util::readFileContents(replacePath); + + if (!replaceCode.empty()) { + stream << replaceCode; + stream.flush(); + return stream.good(); + } + + auto extendPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::extendFileSuffixStr()); + auto extendCode = util::readFileContents(extendPath); + + auto incPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::incFileSuffixStr()); + auto incCode = util::readFileContents(incPath); + static const std::string Templ = "#^#GENERATED#$#\n" "#include \"#^#CLASS_NAME#$#.h\"\n\n" @@ -178,6 +215,7 @@ bool ToolsQtPlugin::toolsWriteProtocolSrcInternal() "#^#INTERFACE_INC#$#\n" "#include \"#^#FRAME_HEADER#$#\"\n" "#include \"#^#TRANSPORT_MESSAGE_HEADER#$#\"\n\n" + "#^#INC#$#\n\n" "namespace #^#TOP_NS#$#\n" "{\n\n" "namespace #^#MAIN_NS#$#\n" @@ -196,7 +234,7 @@ bool ToolsQtPlugin::toolsWriteProtocolSrcInternal() " #^#TOP_NS#$#::#^#FRAME#$#TransportMessage#^#INTERFACE_TEMPL_PARAM#$#\n" " >;\n" "public:\n" - " friend class #^#TOP_NS#$#::#^#MAIN_NS#$#::plugin::#^#CLASS_NAME#$#;\n\n" + " friend class #^#TOP_NS#$#::#^#MAIN_NS#$#::plugin::#^#CLASS_NAME#$##^#ORIG#$#;\n\n" " #^#CLASS_NAME#$#Impl() = default;\n" " virtual ~#^#CLASS_NAME#$#Impl() = default;\n\n" " #^#VERSION_IMPL_PUBLIC#$#\n" @@ -212,52 +250,53 @@ bool ToolsQtPlugin::toolsWriteProtocolSrcInternal() " using Base::createExtraInfoMessageImpl;\n\n" "#^#VERSION_IMPL_PRIVATE#$#\n" "};\n\n" - "#^#CLASS_NAME#$#::#^#CLASS_NAME#$#()\n" + "#^#CLASS_NAME#$##^#ORIG#$#::#^#CLASS_NAME#$##^#ORIG#$#()\n" " : m_pImpl(new #^#CLASS_NAME#$#Impl())\n" "{\n" "}\n\n" - "#^#CLASS_NAME#$#::~#^#CLASS_NAME#$#() = default;\n\n" + "#^#CLASS_NAME#$##^#ORIG#$#::~#^#CLASS_NAME#$##^#ORIG#$#() = default;\n\n" "#^#VERSION_API#$#\n" - "const QString& #^#CLASS_NAME#$#::nameImpl() const\n" + "const QString& #^#CLASS_NAME#$##^#ORIG#$#::nameImpl() const\n" "{\n" " return m_pImpl->name();\n" "}\n\n" - "#^#CLASS_NAME#$#::MessagesList #^#CLASS_NAME#$#::readImpl(const cc_tools_qt::DataInfo& dataInfo, bool final)\n" + "#^#CLASS_NAME#$##^#ORIG#$#::MessagesList #^#CLASS_NAME#$##^#ORIG#$#::readImpl(const cc_tools_qt::DataInfo& dataInfo, bool final)\n" "{\n" " return m_pImpl->read(dataInfo, final);\n" "}\n\n" - "cc_tools_qt::DataInfoPtr #^#CLASS_NAME#$#::writeImpl(cc_tools_qt::Message& msg)\n" + "cc_tools_qt::DataInfoPtr #^#CLASS_NAME#$##^#ORIG#$#::writeImpl(cc_tools_qt::Message& msg)\n" "{\n" " return m_pImpl->write(msg);\n" "}\n\n" - "#^#CLASS_NAME#$#::MessagesList #^#CLASS_NAME#$#::createAllMessagesImpl()\n" + "#^#CLASS_NAME#$##^#ORIG#$#::MessagesList #^#CLASS_NAME#$##^#ORIG#$#::createAllMessagesImpl()\n" "{\n" " return m_pImpl->createAllMessages();\n" "}\n\n" - "cc_tools_qt::MessagePtr #^#CLASS_NAME#$#::createMessageImpl(const QString& idAsString, unsigned idx)\n" + "cc_tools_qt::MessagePtr #^#CLASS_NAME#$##^#ORIG#$#::createMessageImpl(const QString& idAsString, unsigned idx)\n" "{\n" " return static_cast(m_pImpl.get())->createMessage(idAsString, idx);\n" "}\n\n" - "#^#CLASS_NAME#$#::UpdateStatus #^#CLASS_NAME#$#::updateMessageImpl(cc_tools_qt::Message& msg)\n" + "#^#CLASS_NAME#$##^#ORIG#$#::UpdateStatus #^#CLASS_NAME#$##^#ORIG#$#::updateMessageImpl(cc_tools_qt::Message& msg)\n" "{\n" " return m_pImpl->updateMessage(msg);\n" "}\n\n" - "cc_tools_qt::MessagePtr #^#CLASS_NAME#$#::cloneMessageImpl(const cc_tools_qt::Message& msg)\n" + "cc_tools_qt::MessagePtr #^#CLASS_NAME#$##^#ORIG#$#::cloneMessageImpl(const cc_tools_qt::Message& msg)\n" "{\n" " return m_pImpl->cloneMessage(msg);\n" "}\n\n" - "cc_tools_qt::MessagePtr #^#CLASS_NAME#$#::createInvalidMessageImpl()\n" + "cc_tools_qt::MessagePtr #^#CLASS_NAME#$##^#ORIG#$#::createInvalidMessageImpl()\n" "{\n" " return m_pImpl->createInvalidMessageImpl();\n" "}\n\n" - "cc_tools_qt::MessagePtr #^#CLASS_NAME#$#::createRawDataMessageImpl()\n" + "cc_tools_qt::MessagePtr #^#CLASS_NAME#$##^#ORIG#$#::createRawDataMessageImpl()\n" "{\n" " return m_pImpl->createRawDataMessageImpl();\n" "}\n\n" - "cc_tools_qt::MessagePtr #^#CLASS_NAME#$#::createExtraInfoMessageImpl()\n" + "cc_tools_qt::MessagePtr #^#CLASS_NAME#$##^#ORIG#$#::createExtraInfoMessageImpl()\n" "{\n" " return m_pImpl->createExtraInfoMessageImpl();\n" - "}\n\n" + "}\n\n" + "#^#EXTEND#$#\n" "} // namespace plugin\n\n" "} // namespace #^#MAIN_NS#$#\n\n" "} // namespace #^#TOP_NS#$#\n\n" @@ -278,7 +317,13 @@ bool ToolsQtPlugin::toolsWriteProtocolSrcInternal() {"TRANSPORT_MESSAGE_HEADER", transportMsgHeader}, {"FRAME", comms::scopeFor(*m_framePtr, m_generator)}, {"PROT_NAME", toolsAdjustedNameInternal()}, - }; + {"INC", incCode}, + {"EXTEND", extendCode}, + }; + + if (!extendCode.empty()) { + repl["ORIG"] = strings::origSuffixStr(); + } if (m_generator.toolsHasMulitpleInterfaces()) { assert(m_interfacePtr != nullptr); @@ -426,8 +471,8 @@ bool ToolsQtPlugin::toolsWriteProtocolSrcInternal() bool ToolsQtPlugin::toolsWritePluginHeaderInternal() { - auto filePath = - m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsPluginClassNameInternal()) + strings::cppHeaderSuffixStr(); + auto relPath = toolsRelFilePath(toolsPluginClassNameInternal()) + strings::cppHeaderSuffixStr(); + auto filePath = util::pathAddElem(m_generator.getOutputDir(), relPath); m_generator.logger().info("Generating " + filePath); @@ -437,6 +482,20 @@ bool ToolsQtPlugin::toolsWritePluginHeaderInternal() return false; } + auto replaceFilePath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::replaceFileSuffixStr()); + auto replaceCode = util::readFileContents(replaceFilePath); + if (!replaceCode.empty()) { + stream << replaceCode; + stream.flush(); + return stream.good(); + } + + auto extendPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::extendFileSuffixStr()); + auto extendCode = util::readFileContents(extendPath); + + auto incPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::incFileSuffixStr()); + auto incCode = util::readFileContents(incPath); + static const std::string Templ = "#^#GENERATED#$#\n" "#pragma once\n\n" @@ -444,24 +503,27 @@ bool ToolsQtPlugin::toolsWritePluginHeaderInternal() "#include \n" "#include \"cc_tools_qt/Plugin.h\"\n" "#include \"cc_tools_qt/Protocol.h\"\n\n" + "#^#INC#$#\n\n" "namespace #^#TOP_NS#$#\n" "{\n\n" "namespace #^#MAIN_NS#$#\n" "{\n\n" "namespace plugin\n" "{\n\n" - "class #^#CLASS_NAME#$# : public cc_tools_qt::Plugin\n" + "class #^#CLASS_NAME#$##^#ORIG#$# : public cc_tools_qt::Plugin\n" "{\n" - " Q_OBJECT\n" - " Q_PLUGIN_METADATA(IID \"#^#ID#$#\" FILE \"#^#CLASS_NAME#$#.json\")\n" - " Q_INTERFACES(cc_tools_qt::Plugin)\n\n" + " #^#EXTEND_COMMENT#$#\n" + " #^#COMMENT#$#Q_OBJECT\n" + " #^#COMMENT#$#Q_PLUGIN_METADATA(IID \"#^#ID#$#\" FILE \"#^#CLASS_NAME#$#.json\")\n" + " #^#COMMENT#$#Q_INTERFACES(cc_tools_qt::Plugin)\n\n" "public:\n" - " #^#CLASS_NAME#$#();\n" - " virtual ~#^#CLASS_NAME#$#();\n" - "private:\n" + " #^#CLASS_NAME#$##^#ORIG#$#();\n" + " virtual ~#^#CLASS_NAME#$##^#ORIG#$#();\n\n" + "#^#PRIVATE#$#:\n" " cc_tools_qt::ProtocolPtr m_protocol;\n" " #^#VERSION_STORAGE#$#\n" "};\n\n" + "#^#EXTEND#$#\n\n" "} // namespace plugin\n\n" "} // namespace #^#MAIN_NS#$#\n\n" "} // namespace #^#TOP_NS#$#\n\n" @@ -473,8 +535,18 @@ bool ToolsQtPlugin::toolsWritePluginHeaderInternal() {"MAIN_NS", m_generator.currentSchema().mainNamespace()}, {"CLASS_NAME", toolsPluginClassNameInternal()}, {"ID", toolsAdjustedNameInternal()}, + {"PRIVATE", "private"}, + {"EXTEND", extendCode}, + {"INC", incCode}, }; + if (!extendCode.empty()) { + repl["ORIG"] = strings::origSuffixStr(); + repl["EXTEND_COMMENT"] = "// Make sure to add the following lines in the actual deriving class."; + repl["COMMENT"] = "// "; + repl["PRIVATE"] = "protected"; + } + if (toolsHasConfigWidgetInternal()) { auto verStr = "int m_version = " + util::numToString(m_generator.currentSchema().schemaVersion()) + ";"; repl["VERSION_STORAGE"] = std::move(verStr); @@ -493,8 +565,8 @@ bool ToolsQtPlugin::toolsWritePluginHeaderInternal() bool ToolsQtPlugin::toolsWritePluginSrcInternal() { - auto filePath = - m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsPluginClassNameInternal()) + strings::cppSourceSuffixStr(); + auto relPath = toolsRelFilePath(toolsPluginClassNameInternal()) + strings::cppSourceSuffixStr(); + auto filePath = util::pathAddElem(m_generator.getOutputDir(), relPath); m_generator.logger().info("Generating " + filePath); @@ -504,18 +576,33 @@ bool ToolsQtPlugin::toolsWritePluginSrcInternal() return false; } + auto replaceFilePath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::replaceFileSuffixStr()); + auto replaceCode = util::readFileContents(replaceFilePath); + if (!replaceCode.empty()) { + stream << replaceCode; + stream.flush(); + return stream.good(); + } + + auto extendPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::extendFileSuffixStr()); + auto extendCode = util::readFileContents(extendPath); + + auto incPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::incFileSuffixStr()); + auto incCode = util::readFileContents(incPath); + static const std::string Templ = "#^#GENERATED#$#\n" "#include \"#^#CLASS_NAME#$#.h\"\n\n" "#include \"#^#PROTOCOL_CLASS_NAME#$#.h\"\n\n" - "#^#WIDGET_INCLUDE#$#\n" + "#^#WIDGET_INCLUDE#$#\n\n" + "#^#INC#$#\n\n" "namespace #^#TOP_NS#$#\n" "{\n\n" "namespace #^#MAIN_NS#$#\n" "{\n\n" "namespace plugin\n" "{\n\n" - "#^#CLASS_NAME#$#::#^#CLASS_NAME#$#() :\n" + "#^#CLASS_NAME#$##^#ORIG#$#::#^#CLASS_NAME#$##^#ORIG#$#() :\n" " m_protocol(new #^#PROTOCOL_CLASS_NAME#$#())\n" "{\n" " pluginProperties()\n" @@ -524,10 +611,11 @@ bool ToolsQtPlugin::toolsWritePluginSrcInternal() " {\n" " return m_protocol;\n" " })\n" - " #^#CONFIG_WIDGET_FUNC#$#" + " #^#CONFIG_WIDGET_FUNC#$#\n" " ;\n" "}\n\n" - "#^#CLASS_NAME#$#::~#^#CLASS_NAME#$#() = default;\n\n" + "#^#CLASS_NAME#$##^#ORIG#$#::~#^#CLASS_NAME#$##^#ORIG#$#() = default;\n\n" + "#^#EXTEND#$#\n\n" "} // namespace plugin\n\n" "} // namespace #^#MAIN_NS#$#\n\n" "} // namespace #^#TOP_NS#$#\n\n" @@ -539,8 +627,14 @@ bool ToolsQtPlugin::toolsWritePluginSrcInternal() {"MAIN_NS", m_generator.currentSchema().mainNamespace()}, {"CLASS_NAME", toolsPluginClassNameInternal()}, {"PROTOCOL_CLASS_NAME", toolsProtClassNameInternal()}, + {"EXTEND", extendCode}, + {"INC", incCode}, }; + if (!extendCode.empty()) { + repl["ORIG"] = strings::origSuffixStr(); + } + if (toolsHasConfigWidgetInternal()) { static const std::string WidgetTempl = ".setConfigWidgetCreateFunc(\n" @@ -578,8 +672,8 @@ bool ToolsQtPlugin::toolsWritePluginSrcInternal() bool ToolsQtPlugin::toolsWritePluginJsonInternal() { - auto filePath = - m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsPluginClassNameInternal()) + ".json"; + auto relPath = toolsRelFilePath(toolsPluginClassNameInternal()) + ".json"; + auto filePath = util::pathAddElem(m_generator.getOutputDir(), relPath); m_generator.logger().info("Generating " + filePath); @@ -589,6 +683,14 @@ bool ToolsQtPlugin::toolsWritePluginJsonInternal() return false; } + auto replaceFilePath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::replaceFileSuffixStr()); + auto replaceCode = util::readFileContents(replaceFilePath); + if (!replaceCode.empty()) { + stream << replaceCode; + stream.flush(); + return stream.good(); + } + static const std::string Templ = "{\n" " \"name\" : \"#^#NAME#$#\",\n" @@ -623,10 +725,9 @@ bool ToolsQtPlugin::toolsWritePluginJsonInternal() bool ToolsQtPlugin::toolsWritePluginConfigInternal() { - auto filePath = - m_generator.getOutputDir() + '/' + - toolsRelFilePath(toolsProtocolName()) + ".cfg"; - + auto relPath = toolsRelFilePath(toolsProtocolName()) + ".cfg"; + auto filePath = util::pathAddElem(m_generator.getOutputDir(), relPath); + m_generator.logger().info("Generating " + filePath); std::ofstream stream(filePath); @@ -635,6 +736,14 @@ bool ToolsQtPlugin::toolsWritePluginConfigInternal() return false; } + auto replaceFilePath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::replaceFileSuffixStr()); + auto replaceCode = util::readFileContents(replaceFilePath); + if (!replaceCode.empty()) { + stream << replaceCode; + stream.flush(); + return stream.good(); + } + static const std::string Templ = "{\n" " \"cc_plugins_list\": [\n" @@ -664,8 +773,8 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetHeaderInternal() return true; } - auto filePath = - m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsConfigWidgetClassNameInternal()) + strings::cppHeaderSuffixStr(); + auto relPath = toolsRelFilePath(toolsConfigWidgetClassNameInternal()) + strings::cppHeaderSuffixStr(); + auto filePath = util::pathAddElem(m_generator.getOutputDir(), relPath); m_generator.logger().info("Generating " + filePath); @@ -675,23 +784,38 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetHeaderInternal() return false; } + auto replaceFilePath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::replaceFileSuffixStr()); + auto replaceCode = util::readFileContents(replaceFilePath); + if (!replaceCode.empty()) { + stream << replaceCode; + stream.flush(); + return stream.good(); + } + + auto extendPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::extendFileSuffixStr()); + auto extendCode = util::readFileContents(extendPath); + + auto incPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::incFileSuffixStr()); + auto incCode = util::readFileContents(incPath); + static const std::string Templ = "#^#GENERATED#$#\n" "#pragma once\n\n" "#include \n" "#include \n\n" + "#^#INC\n\n#$#" "namespace #^#TOP_NS#$#\n" "{\n\n" "namespace #^#MAIN_NS#$#\n" "{\n\n" "namespace plugin\n" "{\n\n" - "class #^#CLASS_NAME#$# : public QWidget\n" + "class #^#CLASS_NAME#$##^#ORIG#$# : public QWidget\n" "{\n" " Q_OBJECT\n" "public:\n" " using VersionUpdateCb = std::function;\n\n" - " explicit #^#CLASS_NAME#$#(int version);\n\n" + " explicit #^#CLASS_NAME#$##^#ORIG#$#(int version);\n\n" " template \n" " void setVersionUpdateCb(TFunc&& func)\n" " {\n" @@ -702,6 +826,7 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetHeaderInternal() "private:\n" " VersionUpdateCb m_versionUpdateCb;" "};\n\n" + "#^#EXTEND#$#\n\n" "} // namespace plugin\n\n" "} // namespace #^#MAIN_NS#$#\n\n" "} // namespace #^#TOP_NS#$#\n\n" @@ -712,8 +837,14 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetHeaderInternal() {"TOP_NS", m_generator.getTopNamespace()}, {"MAIN_NS", m_generator.currentSchema().mainNamespace()}, {"CLASS_NAME", toolsConfigWidgetClassNameInternal()}, + {"EXTEND", extendCode}, + {"INC", incCode}, }; + if (!extendCode.empty()) { + repl["ORIG"] = strings::origSuffixStr(); + } + auto str = commsdsl::gen::util::processTemplate(Templ, repl, true); stream << str; stream.flush(); @@ -731,8 +862,8 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetSrcInternal() return true; } - auto filePath = - m_generator.getOutputDir() + '/' + toolsRelFilePath(toolsConfigWidgetClassNameInternal()) + strings::cppSourceSuffixStr(); + auto relPath = toolsRelFilePath(toolsConfigWidgetClassNameInternal()) + strings::cppSourceSuffixStr(); + auto filePath = util::pathAddElem(m_generator.getOutputDir(), relPath); m_generator.logger().info("Generating " + filePath); @@ -742,6 +873,20 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetSrcInternal() return false; } + auto replaceFilePath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::replaceFileSuffixStr()); + auto replaceCode = util::readFileContents(replaceFilePath); + if (!replaceCode.empty()) { + stream << replaceCode; + stream.flush(); + return stream.good(); + } + + auto extendPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::extendFileSuffixStr()); + auto extendCode = util::readFileContents(extendPath); + + auto incPath = util::pathAddElem(m_generator.getCodeDir(), relPath + strings::incFileSuffixStr()); + auto incCode = util::readFileContents(incPath); + static const std::string Templ = "#^#GENERATED#$#\n" "#include \"#^#CLASS_NAME#$#.h\"\n\n" @@ -750,13 +895,14 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetSrcInternal() "#include \n" "#include \n" "#include \n\n" + "#^#INC#$#\n\n" "namespace #^#TOP_NS#$#\n" "{\n\n" "namespace #^#MAIN_NS#$#\n" "{\n\n" "namespace plugin\n" "{\n\n" - "#^#CLASS_NAME#$#::#^#CLASS_NAME#$#(int version)" + "#^#CLASS_NAME#$##^#ORIG#$#::#^#CLASS_NAME#$##^#ORIG#$#(int version)" "{\n" " auto* versionLabel = new QLabel(\"Default Version:\");\n" " auto* versionSpinBox = new QSpinBox;\n" @@ -776,12 +922,13 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetSrcInternal() " versionSpinBox, SIGNAL(valueChanged(int)),\n" " this, SLOT(versionChanged(int)));\n" "}\n\n" - "void #^#CLASS_NAME#$#::versionChanged(int value)\n" + "void #^#CLASS_NAME#$##^#ORIG#$#::versionChanged(int value)\n" "{\n" " if (m_versionUpdateCb) {\n" " m_versionUpdateCb(value);\n" " }\n" "}\n\n" + "#^#EXTEND#$#\n\n" "} // namespace plugin\n\n" "} // namespace #^#MAIN_NS#$#\n\n" "} // namespace #^#TOP_NS#$#\n\n" @@ -792,8 +939,14 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetSrcInternal() {"TOP_NS", m_generator.getTopNamespace()}, {"MAIN_NS", m_generator.currentSchema().mainNamespace()}, {"CLASS_NAME", toolsConfigWidgetClassNameInternal()}, + {"EXTEND", extendCode}, + {"INC", incCode}, }; + if (!extendCode.empty()) { + repl["ORIG"] = strings::origSuffixStr(); + } + auto str = commsdsl::gen::util::processTemplate(Templ, repl, true); stream << str; stream.flush(); diff --git a/app/commsdsl2tools_qt/test/test21/src/CMakeLists.txt.sources b/app/commsdsl2tools_qt/test/test21/src/CMakeLists.txt.sources new file mode 100644 index 00000000..64ae42ac --- /dev/null +++ b/app/commsdsl2tools_qt/test/test21/src/CMakeLists.txt.sources @@ -0,0 +1 @@ +cc_tools_qt_plugin/test21/plugin/EmptySource.cpp \ No newline at end of file diff --git a/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/EmptySource.cpp b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/EmptySource.cpp new file mode 100644 index 00000000..e69de29b diff --git a/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.extend b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.extend new file mode 100644 index 00000000..6e756113 --- /dev/null +++ b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.extend @@ -0,0 +1,23 @@ +Plugin_test21::Plugin_test21() +{ + pluginProperties() + .setGuiActionsCreateFunc( + []() + { + cc_tools_qt::PluginProperties::ListOfGuiActions actions; + auto* messageAction = new QAction("BLA"); + QObject::connect( + messageAction, &QAction::triggered, + [](bool checked) + { + static_cast(checked); + QMessageBox box(QMessageBox::Information, "Title", "Contents", QMessageBox::Ok); + box.exec(); + }); + actions.append(messageAction); + return actions; + }) + ; +} + +Plugin_test21::~Plugin_test21() = default; diff --git a/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.inc b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.inc new file mode 100644 index 00000000..68783daa --- /dev/null +++ b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.inc @@ -0,0 +1,2 @@ +#include +#include \ No newline at end of file diff --git a/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.h.extend b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.h.extend new file mode 100644 index 00000000..44eb18d1 --- /dev/null +++ b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.h.extend @@ -0,0 +1,11 @@ +// This is replaced code +class Plugin_test21 : public Plugin_test21Orig +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "test21" FILE "Plugin_test21.json") + Q_INTERFACES(cc_tools_qt::Plugin) + +public: + Plugin_test21(); + virtual ~Plugin_test21(); +}; diff --git a/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Protocol_test21.cpp.extend b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Protocol_test21.cpp.extend new file mode 100644 index 00000000..c5d0cbe1 --- /dev/null +++ b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Protocol_test21.cpp.extend @@ -0,0 +1,2 @@ +Protocol_test21::Protocol_test21() = default; +Protocol_test21::~Protocol_test21() = default; diff --git a/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Protocol_test21.h.extend b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Protocol_test21.h.extend new file mode 100644 index 00000000..6561a73f --- /dev/null +++ b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Protocol_test21.h.extend @@ -0,0 +1,7 @@ +class Protocol_test21 : public Protocol_test21Orig +{ + using Base = Protocol_test21Orig; +public: + Protocol_test21(); + virtual ~Protocol_test21(); +}; From 850b81742578e8a882037927eff1ceba79d68047 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 16:53:25 +1000 Subject: [PATCH 21/60] Using cmake to build libxml2 on Windows. --- lib/src/CMakeLists.txt | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index f511e17a..3d13083e 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -13,47 +13,28 @@ while (TRUE) break() endif () - set(LIBXML2_COMPILER) - set(LIBXML2_PATHS "prefix=install") - set(LIBXML2_BUILD_COMMAND) - if (MINGW) - set(LIBXML2_COMPILER "compiler=mingw") - set(LIBXML2_BUILD_CMD make -f Makefile.mingw) - elseif (MSVC) - set(LIBXML2_COMPILER "compiler=msvc") - set(LIBXML2_BUILD_CMD nmake /f Makefile.msvc) - else() - message (FATAL_ERROR "At this moment only MSVC and MINGW compilers are supported for windows builds") - endif () - set (INTERNAL_LIBXML_TGT "libxml2_tgt") set (LIBXML2_DIR "${CMAKE_CURRENT_BINARY_DIR}/libxml2") set (LIBXML2_SRC_DIR "${LIBXML2_DIR}/src") set (LIBXML2_BIN_DIR "${LIBXML2_SRC_DIR}/win32") set (LIBXML2_INSTALL_DIR "${LIBXML2_BIN_DIR}/install") - set (LIBXML2_CRUNTIME) - if (("${CMAKE_BUILD_TYPE}" STREQUAL "") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "None") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")) - set (LIBXML2_CRUNTIME "cruntime=/MDd") - endif () - include(ExternalProject) ExternalProject_Add( ${INTERNAL_LIBXML_TGT} PREFIX "${LIBXML2_DIR}" STAMP_DIR "${LIBXML2_DIR}/stamp" GIT_REPOSITORY "https://github.com/GNOME/libxml2.git" - GIT_TAG "v2.9.7" + GIT_TAG "v2.12.5" UPDATE_DISCONNECTED 1 - CONFIGURE_COMMAND - cscript ${LIBXML2_BIN_DIR}/configure.js ftp=no html=no iconv=no ${LIBXML2_COMPILER} static=yes ${LIBXML2_CRUNTIME} ${LIBXML2_PATHS} + CMAKE_GENERATOR ${CMAKE_GENERATOR} + CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM} + CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} + CMAKE_ARGS + -DCMAKE_INSTALL_PREFIX=${LIBXML2_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} SOURCE_DIR "${LIBXML2_SRC_DIR}" BINARY_DIR "${LIBXML2_BIN_DIR}" INSTALL_DIR "${LIBXML2_INSTALL_DIR}" - BUILD_COMMAND - ${LIBXML2_BUILD_CMD} - INSTALL_COMMAND - ${LIBXML2_BUILD_CMD} install # BUILD_BYPRODUCTS needed by Ninja BUILD_BYPRODUCTS /lib/libxml2_a.lib ) From 36a9fc414dcff4855e38d1450b294c53eb452e2a Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 17:35:49 +1000 Subject: [PATCH 22/60] Attempt to build libxml on Windows. --- lib/src/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 3d13083e..5128fcbe 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -31,7 +31,11 @@ while (TRUE) CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM} CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} CMAKE_ARGS - -DCMAKE_INSTALL_PREFIX=${LIBXML2_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${LIBXML2_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DBUILD_SHARED_LIBS=OFF -DLIBXML2_WITH_HTML=OFF -DLIBXML2_WITH_HTTP=OFF + -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_PROGRAMS=OFF -DLIBXML2_WITH_PYTHON=OFF + -DLIBXML2_WITH_SAX1=OFF -DLIBXML2_WITH_TESTS=OFF -DLIBXML2_WITH_THREADS=OFF + -DLIBXML2_WITH_WRITER=OFF -DLIBXML2_WITH_XINCLUDE=OFF SOURCE_DIR "${LIBXML2_SRC_DIR}" BINARY_DIR "${LIBXML2_BIN_DIR}" INSTALL_DIR "${LIBXML2_INSTALL_DIR}" From d631d8528a3fb0f742476844d228a74f954115e7 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 17:39:47 +1000 Subject: [PATCH 23/60] Another attempt to fix Windows build of libxml. --- lib/src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 5128fcbe..b7fdaae7 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -35,7 +35,7 @@ while (TRUE) -DBUILD_SHARED_LIBS=OFF -DLIBXML2_WITH_HTML=OFF -DLIBXML2_WITH_HTTP=OFF -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_PROGRAMS=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_SAX1=OFF -DLIBXML2_WITH_TESTS=OFF -DLIBXML2_WITH_THREADS=OFF - -DLIBXML2_WITH_WRITER=OFF -DLIBXML2_WITH_XINCLUDE=OFF + -DLIBXML2_WITH_WRITER=OFF -DLIBXML2_WITH_XINCLUDE=OFF -DLIBXML2_WITH_LZMA SOURCE_DIR "${LIBXML2_SRC_DIR}" BINARY_DIR "${LIBXML2_BIN_DIR}" INSTALL_DIR "${LIBXML2_INSTALL_DIR}" From 3f2a7eaf281f54f3d23d417af2eb4efc2492ef11 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 17:43:31 +1000 Subject: [PATCH 24/60] Attempt to fix internal libxml build on Windows. --- lib/src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index b7fdaae7..8ed57bb6 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -35,7 +35,7 @@ while (TRUE) -DBUILD_SHARED_LIBS=OFF -DLIBXML2_WITH_HTML=OFF -DLIBXML2_WITH_HTTP=OFF -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_PROGRAMS=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_SAX1=OFF -DLIBXML2_WITH_TESTS=OFF -DLIBXML2_WITH_THREADS=OFF - -DLIBXML2_WITH_WRITER=OFF -DLIBXML2_WITH_XINCLUDE=OFF -DLIBXML2_WITH_LZMA + -DLIBXML2_WITH_WRITER=OFF -DLIBXML2_WITH_XINCLUDE=OFF -DLIBXML2_WITH_LZMA=OFF SOURCE_DIR "${LIBXML2_SRC_DIR}" BINARY_DIR "${LIBXML2_BIN_DIR}" INSTALL_DIR "${LIBXML2_INSTALL_DIR}" From 8781f1b2656c6c65ae681ac386d5e40f4bdcdb47 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 17:47:17 +1000 Subject: [PATCH 25/60] Attempt to fix internal libxml build on Windows. --- lib/src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 8ed57bb6..984fb037 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -36,6 +36,7 @@ while (TRUE) -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_PROGRAMS=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_SAX1=OFF -DLIBXML2_WITH_TESTS=OFF -DLIBXML2_WITH_THREADS=OFF -DLIBXML2_WITH_WRITER=OFF -DLIBXML2_WITH_XINCLUDE=OFF -DLIBXML2_WITH_LZMA=OFF + -DLIBXML2_WITH_ZLIB=OFF SOURCE_DIR "${LIBXML2_SRC_DIR}" BINARY_DIR "${LIBXML2_BIN_DIR}" INSTALL_DIR "${LIBXML2_INSTALL_DIR}" From 0a73d3e09ff1835cd407f5f54aab5c078d66e1b3 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 18:28:28 +1000 Subject: [PATCH 26/60] Attempt to fix Windows build with libxml2 v2.15.5 --- lib/src/CMakeLists.txt | 2 +- lib/src/parse/ProtocolImpl.cpp | 4 ++-- lib/src/parse/ProtocolImpl.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 984fb037..74fc58d3 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -46,7 +46,7 @@ while (TRUE) set (LIBXML2_FOUND TRUE) set (LIBXML2_INCLUDE_DIR "${LIBXML2_INSTALL_DIR}/include/libxml2") - set (LIBXML2_LIBRARIES "${LIBXML2_INSTALL_DIR}/lib/libxml2_a.lib") + set (LIBXML2_LIBRARIES "${LIBXML2_INSTALL_DIR}/lib/libxml2sd.lib") set (LIBXML2_DEFINITIONS "/DLIBXML_STATIC") file(MAKE_DIRECTORY ${LIBXML2_INCLUDE_DIR}) diff --git a/lib/src/parse/ProtocolImpl.cpp b/lib/src/parse/ProtocolImpl.cpp index 80afe014..f80d5e34 100644 --- a/lib/src/parse/ProtocolImpl.cpp +++ b/lib/src/parse/ProtocolImpl.cpp @@ -377,12 +377,12 @@ bool ProtocolImpl::isExistsCheckInConditionalsSupported() const return isFeatureSupported(6U); } -void ProtocolImpl::cbXmlErrorFunc(void* userData, xmlErrorPtr err) +void ProtocolImpl::cbXmlErrorFunc(void* userData, const xmlErrorPtr err) { reinterpret_cast(userData)->handleXmlError(err); } -void ProtocolImpl::handleXmlError(xmlErrorPtr err) +void ProtocolImpl::handleXmlError(const xmlErrorPtr err) { static const ErrorLevel Map[] = { /* XML_ERR_NONE */ ErrorLevel_Debug, diff --git a/lib/src/parse/ProtocolImpl.h b/lib/src/parse/ProtocolImpl.h index 7e0b27a5..a1511afd 100644 --- a/lib/src/parse/ProtocolImpl.h +++ b/lib/src/parse/ProtocolImpl.h @@ -141,8 +141,8 @@ class ProtocolImpl using DocsList = std::vector; using StrToValueConvertFunc = std::function; - static void cbXmlErrorFunc(void* userData, xmlErrorPtr err); - void handleXmlError(xmlErrorPtr err); + static void cbXmlErrorFunc(void* userData, const xmlErrorPtr err); + void handleXmlError(const xmlErrorPtr err); bool validateDoc(::xmlDocPtr doc); bool validateSchema(::xmlNodePtr node); bool validatePlatforms(::xmlNodePtr root); From d80914840d8ea41f42f4f5082472d9fa44135e0e Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 18:48:24 +1000 Subject: [PATCH 27/60] Another attempt to get it compiled on Windows with libxml v2.12.5. --- lib/src/CMakeLists.txt | 2 +- lib/src/parse/ProtocolImpl.cpp | 11 ++++++++--- lib/src/parse/ProtocolImpl.h | 5 +++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 74fc58d3..e72040f9 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -34,7 +34,7 @@ while (TRUE) -DCMAKE_INSTALL_PREFIX=${LIBXML2_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DBUILD_SHARED_LIBS=OFF -DLIBXML2_WITH_HTML=OFF -DLIBXML2_WITH_HTTP=OFF -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_PROGRAMS=OFF -DLIBXML2_WITH_PYTHON=OFF - -DLIBXML2_WITH_SAX1=OFF -DLIBXML2_WITH_TESTS=OFF -DLIBXML2_WITH_THREADS=OFF + -DLIBXML2_WITH_TESTS=OFF -DLIBXML2_WITH_THREADS=OFF -DLIBXML2_WITH_WRITER=OFF -DLIBXML2_WITH_XINCLUDE=OFF -DLIBXML2_WITH_LZMA=OFF -DLIBXML2_WITH_ZLIB=OFF SOURCE_DIR "${LIBXML2_SRC_DIR}" diff --git a/lib/src/parse/ProtocolImpl.cpp b/lib/src/parse/ProtocolImpl.cpp index f80d5e34..f62a9c56 100644 --- a/lib/src/parse/ProtocolImpl.cpp +++ b/lib/src/parse/ProtocolImpl.cpp @@ -54,7 +54,7 @@ ProtocolImpl::ProtocolImpl() } ) { - xmlSetStructuredErrorFunc(this, &ProtocolImpl::cbXmlErrorFunc); + xmlSetStructuredErrorFunc(this, static_cast(&ProtocolImpl::cbXmlErrorFunc)); m_logger.setMinLevel(m_minLevel); } @@ -377,12 +377,17 @@ bool ProtocolImpl::isExistsCheckInConditionalsSupported() const return isFeatureSupported(6U); } -void ProtocolImpl::cbXmlErrorFunc(void* userData, const xmlErrorPtr err) +void ProtocolImpl::cbXmlErrorFunc(void* userData, const xmlError* err) { reinterpret_cast(userData)->handleXmlError(err); } -void ProtocolImpl::handleXmlError(const xmlErrorPtr err) +void ProtocolImpl::cbXmlErrorFunc(void* userData, xmlErrorPtr err) +{ + reinterpret_cast(userData)->handleXmlError(err); +} + +void ProtocolImpl::handleXmlError(const xmlError* err) { static const ErrorLevel Map[] = { /* XML_ERR_NONE */ ErrorLevel_Debug, diff --git a/lib/src/parse/ProtocolImpl.h b/lib/src/parse/ProtocolImpl.h index a1511afd..6796c1e1 100644 --- a/lib/src/parse/ProtocolImpl.h +++ b/lib/src/parse/ProtocolImpl.h @@ -141,8 +141,9 @@ class ProtocolImpl using DocsList = std::vector; using StrToValueConvertFunc = std::function; - static void cbXmlErrorFunc(void* userData, const xmlErrorPtr err); - void handleXmlError(const xmlErrorPtr err); + static void cbXmlErrorFunc(void* userData, const xmlError* err); + static void cbXmlErrorFunc(void* userData, xmlErrorPtr err); + void handleXmlError(const xmlError* err); bool validateDoc(::xmlDocPtr doc); bool validateSchema(::xmlNodePtr node); bool validatePlatforms(::xmlNodePtr root); From c1aef3199fb8bc920b5a886415982034fbd64c1a Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 19:07:38 +1000 Subject: [PATCH 28/60] Changing libxml build options. --- lib/src/CMakeLists.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index e72040f9..983fa3a2 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -32,11 +32,10 @@ while (TRUE) CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBXML2_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DBUILD_SHARED_LIBS=OFF -DLIBXML2_WITH_HTML=OFF -DLIBXML2_WITH_HTTP=OFF + -DBUILD_SHARED_LIBS=OFF -DLIBXML2_WITH_HTTP=OFF -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_PROGRAMS=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_TESTS=OFF -DLIBXML2_WITH_THREADS=OFF - -DLIBXML2_WITH_WRITER=OFF -DLIBXML2_WITH_XINCLUDE=OFF -DLIBXML2_WITH_LZMA=OFF - -DLIBXML2_WITH_ZLIB=OFF + -DLIBXML2_WITH_LZMA=OFF -DLIBXML2_WITH_ZLIB=OFF SOURCE_DIR "${LIBXML2_SRC_DIR}" BINARY_DIR "${LIBXML2_BIN_DIR}" INSTALL_DIR "${LIBXML2_INSTALL_DIR}" From d6ada56ad2f360fce49ab062498ba36cfd3378da Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 19:16:46 +1000 Subject: [PATCH 29/60] Fixing interface compile definitions for internal build of libxml2 on Windows. --- lib/src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 983fa3a2..d41d9b3d 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -55,6 +55,7 @@ while (TRUE) IMPORTED_LOCATION ${LIBXML2_LIBRARIES} IMPORTED_IMPLIB ${LIBXML2_LIBRARIES} INTERFACE_INCLUDE_DIRECTORIES "${LIBXML2_INCLUDE_DIR}" + INTERFACE_COMPILE_DEFINITIONS "-DLIBXML_STATIC" ) add_library(LibXml2::LibXml2 ALIAS libxml2) From e87917eafb02f26b17a55f0f04690d3c8ce21432 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 19:27:36 +1000 Subject: [PATCH 30/60] Attempt to fix interface compile defintitions for libxml. --- lib/src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index d41d9b3d..399f7998 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -55,7 +55,7 @@ while (TRUE) IMPORTED_LOCATION ${LIBXML2_LIBRARIES} IMPORTED_IMPLIB ${LIBXML2_LIBRARIES} INTERFACE_INCLUDE_DIRECTORIES "${LIBXML2_INCLUDE_DIR}" - INTERFACE_COMPILE_DEFINITIONS "-DLIBXML_STATIC" + INTERFACE_COMPILE_DEFINITIONS "${LIBXML2_DEFINITIONS}" ) add_library(LibXml2::LibXml2 ALIAS libxml2) From 6a6fd63cdb7227f89701a5e44c37d93effcb79dc Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 19:41:47 +1000 Subject: [PATCH 31/60] Trying to force LIBXML_STATIC compile definition for Windows. --- lib/src/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 399f7998..69c632c7 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -176,6 +176,11 @@ add_library(cc::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) add_dependencies(${PROJECT_NAME} LibXml2::LibXml2) target_link_libraries(${PROJECT_NAME} PRIVATE LibXml2::LibXml2) +if (WIN32 AND COMMSDSL_WIN_ALLOW_LIBXML_BUILD) + message (STATUS "Forcing LIBXML_STATIC compile definition") + target_compile_definitions(${PROJECT_NAME} PUBLIC "/DLIBXML_STATIC"); +endif () + if ((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0")) target_link_libraries(${PROJECT_NAME} PUBLIC stdc++fs) From aedd8936df577aebd5e42cf976f6246424920271 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 19:48:24 +1000 Subject: [PATCH 32/60] Another attempt to get the libxml defines right. --- lib/src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 69c632c7..10b947d3 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -46,7 +46,7 @@ while (TRUE) set (LIBXML2_FOUND TRUE) set (LIBXML2_INCLUDE_DIR "${LIBXML2_INSTALL_DIR}/include/libxml2") set (LIBXML2_LIBRARIES "${LIBXML2_INSTALL_DIR}/lib/libxml2sd.lib") - set (LIBXML2_DEFINITIONS "/DLIBXML_STATIC") + set (LIBXML2_DEFINITIONS "LIBXML_STATIC") file(MAKE_DIRECTORY ${LIBXML2_INCLUDE_DIR}) add_library(libxml2 STATIC IMPORTED GLOBAL) @@ -178,7 +178,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE LibXml2::LibXml2) if (WIN32 AND COMMSDSL_WIN_ALLOW_LIBXML_BUILD) message (STATUS "Forcing LIBXML_STATIC compile definition") - target_compile_definitions(${PROJECT_NAME} PUBLIC "/DLIBXML_STATIC"); + target_compile_definitions(${PROJECT_NAME} PUBLIC "/DLIBXML_STATIC") endif () if ((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND From 15099fcc781e616a84c3874ce51a428e96bb2e0f Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sat, 17 Feb 2024 19:54:15 +1000 Subject: [PATCH 33/60] Removed forcing of the LIBXML_STATIC define. --- lib/src/CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 10b947d3..458d23a4 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -176,11 +176,6 @@ add_library(cc::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) add_dependencies(${PROJECT_NAME} LibXml2::LibXml2) target_link_libraries(${PROJECT_NAME} PRIVATE LibXml2::LibXml2) -if (WIN32 AND COMMSDSL_WIN_ALLOW_LIBXML_BUILD) - message (STATUS "Forcing LIBXML_STATIC compile definition") - target_compile_definitions(${PROJECT_NAME} PUBLIC "/DLIBXML_STATIC") -endif () - if ((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0")) target_link_libraries(${PROJECT_NAME} PUBLIC stdc++fs) From c79adc4bd076b6e763051458ec411378896bd3e7 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 18 Feb 2024 12:51:43 +1000 Subject: [PATCH 34/60] Attempt to fix builds. --- app/commsdsl2comms/src/CommsIntField.cpp | 2 +- app/commsdsl2comms/test/CMakeLists.txt | 4 +++- app/commsdsl2emscripten/test/CMakeLists.txt | 2 ++ app/commsdsl2swig/test/CMakeLists.txt | 4 +++- app/commsdsl2test/test/CMakeLists.txt | 4 +++- app/commsdsl2tools_qt/test/CMakeLists.txt | 4 +++- lib/src/CMakeLists.txt | 1 + 7 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/commsdsl2comms/src/CommsIntField.cpp b/app/commsdsl2comms/src/CommsIntField.cpp index e064df18..0bbba4c6 100644 --- a/app/commsdsl2comms/src/CommsIntField.cpp +++ b/app/commsdsl2comms/src/CommsIntField.cpp @@ -924,7 +924,7 @@ void CommsIntField::commsAddValidRangesOptInternal(StringsList& opts) const [](auto min1, auto max1, auto min2, auto max2) -> bool { static_cast(min1); - static_cast(min2); + static_cast(max2); assert(min1 <= min2); if (min2 <= (max1 + 1)) { assert(max1 <= max2); diff --git a/app/commsdsl2comms/test/CMakeLists.txt b/app/commsdsl2comms/test/CMakeLists.txt index 121e6243..49045a18 100644 --- a/app/commsdsl2comms/test/CMakeLists.txt +++ b/app/commsdsl2comms/test/CMakeLists.txt @@ -59,10 +59,12 @@ function (test_func name) SOURCE_DIR ${output_dir} BINARY_DIR ${build_dir} CMAKE_GENERATOR ${CMAKE_GENERATOR} + CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM} + CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} LIST_SEPARATOR | CMAKE_ARGS -DCMAKE_C_COMPILER=${COMMSDSL_TESTS_C_COMPILER} -DCMAKE_CXX_COMPILER=${COMMSDSL_TESTS_CXX_COMPILER} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_GENERATOR=${CMAKE_GENERATOR} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS} -DCMAKE_CXX_STANDARD=${COMMSDSL_TESTS_CXX_STANDARD} -DCMAKE_INSTALL_PREFIX=${install_dir} diff --git a/app/commsdsl2emscripten/test/CMakeLists.txt b/app/commsdsl2emscripten/test/CMakeLists.txt index a0b861b8..bf337353 100644 --- a/app/commsdsl2emscripten/test/CMakeLists.txt +++ b/app/commsdsl2emscripten/test/CMakeLists.txt @@ -85,6 +85,8 @@ foreach (name ${tests}) INSTALL_DIR ${install_dir} CMAKE_COMMAND ${EMCMAKE_EXECUTABLE} ${CMAKE_COMMAND} CMAKE_GENERATOR ${CMAKE_GENERATOR} + CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM} + CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} LIST_SEPARATOR | CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} diff --git a/app/commsdsl2swig/test/CMakeLists.txt b/app/commsdsl2swig/test/CMakeLists.txt index d5e9bc3c..040579f6 100644 --- a/app/commsdsl2swig/test/CMakeLists.txt +++ b/app/commsdsl2swig/test/CMakeLists.txt @@ -86,10 +86,12 @@ foreach (name ${tests}) BINARY_DIR ${build_dir} INSTALL_DIR ${install_dir} CMAKE_GENERATOR ${CMAKE_GENERATOR} + CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM} + CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} LIST_SEPARATOR | CMAKE_ARGS -DCMAKE_C_COMPILER=${COMMSDSL_TESTS_C_COMPILER} -DCMAKE_CXX_COMPILER=${COMMSDSL_TESTS_CXX_COMPILER} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_GENERATOR=${CMAKE_GENERATOR} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS} -DCMAKE_CXX_STANDARD=${COMMSDSL_TESTS_CXX_STANDARD} -DCMAKE_INSTALL_PREFIX=${install_dir} diff --git a/app/commsdsl2test/test/CMakeLists.txt b/app/commsdsl2test/test/CMakeLists.txt index 863551f2..43445748 100644 --- a/app/commsdsl2test/test/CMakeLists.txt +++ b/app/commsdsl2test/test/CMakeLists.txt @@ -77,10 +77,12 @@ foreach (name ${tests}) BINARY_DIR ${build_dir} INSTALL_DIR ${install_dir} CMAKE_GENERATOR ${CMAKE_GENERATOR} + CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM} + CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} LIST_SEPARATOR | CMAKE_ARGS -DCMAKE_C_COMPILER=${COMMSDSL_TESTS_C_COMPILER} -DCMAKE_CXX_COMPILER=${COMMSDSL_TESTS_CXX_COMPILER} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_GENERATOR=${CMAKE_GENERATOR} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS} -DCMAKE_CXX_STANDARD=${COMMSDSL_TESTS_CXX_STANDARD} -DCMAKE_INSTALL_PREFIX=${install_dir} diff --git a/app/commsdsl2tools_qt/test/CMakeLists.txt b/app/commsdsl2tools_qt/test/CMakeLists.txt index 8c2a60d8..22ca1cfa 100644 --- a/app/commsdsl2tools_qt/test/CMakeLists.txt +++ b/app/commsdsl2tools_qt/test/CMakeLists.txt @@ -96,10 +96,12 @@ foreach (name ${tests}) BINARY_DIR ${build_dir} INSTALL_DIR ${install_dir} CMAKE_GENERATOR ${CMAKE_GENERATOR} + CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM} + CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} LIST_SEPARATOR | CMAKE_ARGS -DCMAKE_C_COMPILER=${COMMSDSL_TESTS_C_COMPILER} -DCMAKE_CXX_COMPILER=${COMMSDSL_TESTS_CXX_COMPILER} - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_GENERATOR=${CMAKE_GENERATOR} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS} -DCMAKE_CXX_STANDARD=${COMMSDSL_TESTS_CXX_STANDARD} -DCMAKE_INSTALL_PREFIX=${install_dir} diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 458d23a4..03515468 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -26,6 +26,7 @@ while (TRUE) STAMP_DIR "${LIBXML2_DIR}/stamp" GIT_REPOSITORY "https://github.com/GNOME/libxml2.git" GIT_TAG "v2.12.5" + GIT_SHALLOW 1 UPDATE_DISCONNECTED 1 CMAKE_GENERATOR ${CMAKE_GENERATOR} CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM} From d2408ee0a5bd2db7dc93e996e7e825d6b7dd3446 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 18 Feb 2024 14:33:52 +1000 Subject: [PATCH 35/60] Fixing release build on Windows. --- lib/src/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 03515468..55e5b2ca 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -47,6 +47,9 @@ while (TRUE) set (LIBXML2_FOUND TRUE) set (LIBXML2_INCLUDE_DIR "${LIBXML2_INSTALL_DIR}/include/libxml2") set (LIBXML2_LIBRARIES "${LIBXML2_INSTALL_DIR}/lib/libxml2sd.lib") + if (("${CMAKE_BUILD_TYPE}" STREQUAL "Release") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel")) + set (LIBXML2_LIBRARIES "${LIBXML2_INSTALL_DIR}/lib/libxml2s.lib") + endif () set (LIBXML2_DEFINITIONS "LIBXML_STATIC") file(MAKE_DIRECTORY ${LIBXML2_INCLUDE_DIR}) From 79c9320e7f214655c78fe645d9bdcd837b98c4d0 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 19 Feb 2024 08:29:00 +1000 Subject: [PATCH 36/60] Fixing build of commsdsl2comms unittests with gcc-12 and C++20. --- app/commsdsl2comms/test/test16/test16Test.th | 3 +- app/commsdsl2comms/test/test49/test49Test.th | 3 +- app/commsdsl2comms/test/test50/test50Test.th | 3 +- .../test21/plugin/Plugin_test21.cpp.extend | 3 +- ..._dev_clang-11.sh => env_debug_clang-11.sh} | 1 + .../{env_dev_clang.sh => env_debug_clang.sh} | 1 + script/{env_dev_gcc.sh => env_debug_gcc.sh} | 1 + script/env_dev.sh | 22 +++++++++++-- script/env_rel_clang.sh | 10 +++--- script/env_rel_gcc-12.sh | 8 +++++ script/full_build.sh | 33 +++++++++++++++++++ script/full_debug_build.sh | 20 +---------- script/full_release_build.sh | 11 +++++++ script/full_release_build_gcc-12.sh | 9 +++++ 14 files changed, 93 insertions(+), 35 deletions(-) rename script/{env_dev_clang-11.sh => env_debug_clang-11.sh} (83%) rename script/{env_dev_clang.sh => env_debug_clang.sh} (82%) rename script/{env_dev_gcc.sh => env_debug_gcc.sh} (82%) create mode 100755 script/env_rel_gcc-12.sh create mode 100755 script/full_build.sh create mode 100755 script/full_release_build.sh create mode 100755 script/full_release_build_gcc-12.sh diff --git a/app/commsdsl2comms/test/test16/test16Test.th b/app/commsdsl2comms/test/test16/test16Test.th index 8db1b7f3..80b98e06 100644 --- a/app/commsdsl2comms/test/test16/test16Test.th +++ b/app/commsdsl2comms/test/test16/test16Test.th @@ -57,8 +57,7 @@ void TestSuite::test2() TS_ASSERT_EQUALS(f1.value()[1].value(), std::string("bla")); - std::vector outBuf; - outBuf.resize(BufSize); + std::vector outBuf(BufSize); auto writeIter = comms::writeIteratorFor(&outBuf[0]); es = frame.write(*msgPtr, writeIter, outBuf.size()); TS_ASSERT_EQUALS(es, comms::ErrorStatus::Success); diff --git a/app/commsdsl2comms/test/test49/test49Test.th b/app/commsdsl2comms/test/test49/test49Test.th index b53ebb79..267da526 100644 --- a/app/commsdsl2comms/test/test49/test49Test.th +++ b/app/commsdsl2comms/test/test49/test49Test.th @@ -36,8 +36,7 @@ void TestSuite::test1() TS_ASSERT_EQUALS(msg1->field_f2().field().value(), "hello"); TS_ASSERT_EQUALS(frame.length(*msg1), BufSize); - std::vector outBuf; - outBuf.resize(BufSize); + std::vector outBuf(BufSize); auto writeIter = &outBuf[0]; es = frame.write(*msg1, writeIter, outBuf.size()); TS_ASSERT_EQUALS(es, comms::ErrorStatus::Success); diff --git a/app/commsdsl2comms/test/test50/test50Test.th b/app/commsdsl2comms/test/test50/test50Test.th index 22e6dfe5..59b1d79a 100644 --- a/app/commsdsl2comms/test/test50/test50Test.th +++ b/app/commsdsl2comms/test/test50/test50Test.th @@ -45,8 +45,7 @@ void TestSuite::test1() TS_ASSERT_EQUALS(msg1->field_f5().field().value(), 0xa); - std::vector outBuf; - outBuf.resize(BufSize); + std::vector outBuf(BufSize); auto writeIter = &outBuf[0]; es = frame.write(*msg1, writeIter, outBuf.size()); TS_ASSERT_EQUALS(es, comms::ErrorStatus::Success); diff --git a/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.extend b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.extend index 6e756113..ca854f0e 100644 --- a/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.extend +++ b/app/commsdsl2tools_qt/test/test21/src/cc_tools_qt_plugin/test21/plugin/Plugin_test21.cpp.extend @@ -2,8 +2,9 @@ Plugin_test21::Plugin_test21() { pluginProperties() .setGuiActionsCreateFunc( - []() + [this]() { + static_cast(this); cc_tools_qt::PluginProperties::ListOfGuiActions actions; auto* messageAction = new QAction("BLA"); QObject::connect( diff --git a/script/env_dev_clang-11.sh b/script/env_debug_clang-11.sh similarity index 83% rename from script/env_dev_clang-11.sh rename to script/env_debug_clang-11.sh index b8bf3cfe..52a2b648 100755 --- a/script/env_dev_clang-11.sh +++ b/script/env_debug_clang-11.sh @@ -2,6 +2,7 @@ export CC=clang-11 export CXX=clang++-11 +export COMMON_BUILD_TYPE=Debug SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source ${SCRIPT_DIR}/env_dev.sh "$@" diff --git a/script/env_dev_clang.sh b/script/env_debug_clang.sh similarity index 82% rename from script/env_dev_clang.sh rename to script/env_debug_clang.sh index c9e59f97..2738daea 100755 --- a/script/env_dev_clang.sh +++ b/script/env_debug_clang.sh @@ -2,6 +2,7 @@ export CC=clang export CXX=clang++ +export COMMON_BUILD_TYPE=Debug SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source ${SCRIPT_DIR}/env_dev.sh "$@" diff --git a/script/env_dev_gcc.sh b/script/env_debug_gcc.sh similarity index 82% rename from script/env_dev_gcc.sh rename to script/env_debug_gcc.sh index a9a0e01c..10d364f8 100755 --- a/script/env_dev_gcc.sh +++ b/script/env_debug_gcc.sh @@ -2,6 +2,7 @@ export CC=gcc export CXX=g++ +export COMMON_BUILD_TYPE=Debug SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source ${SCRIPT_DIR}/env_dev.sh "$@" diff --git a/script/env_dev.sh b/script/env_dev.sh index 64c9545b..bd7fc602 100755 --- a/script/env_dev.sh +++ b/script/env_dev.sh @@ -5,12 +5,28 @@ if [ -z "${CC}" -o -z "${CXX}" ]; then exit 1 fi +if [ -z "${COMMON_BUILD_TYPE}" ]; then + echo "ERROR: Build type is not provided" + exit 1 +fi + SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" ROOT_DIR=$( dirname ${SCRIPT_DIR} ) -BUILD_DIR="${ROOT_DIR}/build.${CC}" +if [ -z "${BUILD_DIR}" ]; then + BUILD_DIR="${ROOT_DIR}/build.${CC}.${COMMON_BUILD_TYPE}" +fi + +CXX_STANDARD_PARAM= +if [ -n "${COMMON_CXX_STANDARD}" ]; then + CXX_STANDARD_PARAM="-DCMAKE_CXX_STANDARD=${COMMON_CXX_STANDARD}" +fi + mkdir -p ${BUILD_DIR} cd ${BUILD_DIR} -cmake .. -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Debug -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_BUILD_DOC=ON \ +cmake .. -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=${COMMON_BUILD_TYPE} \ + -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_BUILD_DOC=ON \ -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON \ - -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON "$@" + -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON ${CXX_STANDARD_PARAM} "$@" + + diff --git a/script/env_rel_clang.sh b/script/env_rel_clang.sh index 90417dd2..97636c82 100755 --- a/script/env_rel_clang.sh +++ b/script/env_rel_clang.sh @@ -1,10 +1,8 @@ #!/bin/bash +export CC=clang +export CXX=clang++ +export COMMON_BUILD_TYPE=Release SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -ROOT_DIR=$( dirname ${SCRIPT_DIR} ) -BUILD_DIR="${ROOT_DIR}/build.clang.rel" -mkdir -p ${BUILD_DIR} -cd ${BUILD_DIR} - -CC=clang CXX=clang++ cmake .. -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release -DCOMMSDSL_BUILD_UNIT_TESTS=ON "$@" +${SCRIPT_DIR}/env_dev.sh "$@" diff --git a/script/env_rel_gcc-12.sh b/script/env_rel_gcc-12.sh new file mode 100755 index 00000000..94341db8 --- /dev/null +++ b/script/env_rel_gcc-12.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export CC=gcc-12 +export CXX=g++-12 +export COMMON_BUILD_TYPE=Release + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +${SCRIPT_DIR}/env_dev.sh "$@" diff --git a/script/full_build.sh b/script/full_build.sh new file mode 100755 index 00000000..9ac89251 --- /dev/null +++ b/script/full_build.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +if [ -z "${CC}" -o -z "$CXX" ]; then + echo "ERROR: Compilers are not provided" + exit 1 +fi + +if [ -z "${COMMON_BUILD_TYPE}" ]; then + echo "ERROR: Build type is not provided" + exit 1 +fi + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +ROOT_DIR=$( dirname ${SCRIPT_DIR} ) +export BUILD_DIR="${ROOT_DIR}/build.full.${CC}.${COMMON_BUILD_TYPE}" +export COMMON_INSTALL_DIR=${BUILD_DIR}/install +export EXTERNALS_DIR=${ROOT_DIR}/externals +mkdir -p ${BUILD_DIR} + +CXX_STANDARD_PARAM= +if [ -n "${COMMON_CXX_STANDARD}" ]; then + CXX_STANDARD_PARAM="-DCMAKE_CXX_STANDARD=${COMMON_CXX_STANDARD}" +fi + +${SCRIPT_DIR}/prepare_externals.sh ${CXX_STANDARD_PARAM} +${SCRIPT_DIR}/env_dev.sh -DCMAKE_PREFIX_PATH=${COMMON_INSTALL_DIR} ${CXX_STANDARD_PARAM} "$@" + +procs=$(nproc) +if [ -n "${procs}" ]; then + procs_param="--parallel ${procs}" +fi + +cmake --build ${BUILD_DIR} --config ${COMMON_BUILD_TYPE} --target install ${procs_param} diff --git a/script/full_debug_build.sh b/script/full_debug_build.sh index a98fe1d2..57573498 100755 --- a/script/full_debug_build.sh +++ b/script/full_debug_build.sh @@ -6,24 +6,6 @@ if [ -z "${CC}" -o -z "$CXX" ]; then fi SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -ROOT_DIR=$( dirname ${SCRIPT_DIR} ) -export BUILD_DIR="${ROOT_DIR}/build.full.${CC}" -export COMMON_INSTALL_DIR=${BUILD_DIR}/install export COMMON_BUILD_TYPE=Debug -export EXTERNALS_DIR=${ROOT_DIR}/externals -mkdir -p ${BUILD_DIR} +${SCRIPT_DIR}/full_build.sh "$@" -${SCRIPT_DIR}/prepare_externals.sh - -cd ${BUILD_DIR} -cmake .. -DCMAKE_PREFIX_PATH=${COMMON_INSTALL_DIR} \ - -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Debug -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_BUILD_DOC=ON \ - -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON \ - -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON "$@" - -procs=$(nproc) -if [ -n "${procs}" ]; then - procs_param="--parallel ${procs}" -fi - -cmake --build ${BUILD_DIR} --config ${COMMON_BUILD_TYPE} --target install ${procs_param} diff --git a/script/full_release_build.sh b/script/full_release_build.sh new file mode 100755 index 00000000..b418f757 --- /dev/null +++ b/script/full_release_build.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ -z "${CC}" -o -z "$CXX" ]; then + echo "ERROR: Compilers are not provided" + exit 1 +fi + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +export COMMON_BUILD_TYPE=Release +${SCRIPT_DIR}/full_build.sh "$@" + diff --git a/script/full_release_build_gcc-12.sh b/script/full_release_build_gcc-12.sh new file mode 100755 index 00000000..84f2c80f --- /dev/null +++ b/script/full_release_build_gcc-12.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +export CC=gcc-12 +export CXX=g++-12 + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source ${SCRIPT_DIR}/full_release_build.sh "$@" + + From db489c6bf061d5e84a467177f04f61ee6da24e1d Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 19 Feb 2024 08:32:39 +1000 Subject: [PATCH 37/60] Compiling tools with C++20 on appveyor. --- .appveyor.yml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 6a4e7c67..ef745267 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -23,17 +23,34 @@ environment: matrix: - CPP_STD: 11 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF + TOOLS_CPP_STD: 17 - CPP_STD: 14 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF + TOOLS_CPP_STD: 17 + - CPP_STD: 17 + EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF + TOOLS_CPP_STD: 17 + - CPP_STD: 17 + EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK2=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK3=OFF" + TOOLS_CPP_STD: 17 + - CPP_STD: 17 + EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK1=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK3=OFF" + TOOLS_CPP_STD: 17 + - CPP_STD: 17 + EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK1=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK2=OFF" + TOOLS_CPP_STD: 17 - CPP_STD: 17 - - CPP_STD: 20 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF + TOOLS_CPP_STD: 17 - CPP_STD: 20 EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK2=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK3=OFF" + TOOLS_CPP_STD: 20 - CPP_STD: 20 EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK1=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK3=OFF" + TOOLS_CPP_STD: 20 - CPP_STD: 20 EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK1=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK2=OFF" + TOOLS_CPP_STD: 20 matrix: fast_finish: false @@ -61,7 +78,7 @@ build_script: - cmake .. -DCMAKE_BUILD_TYPE=%CONFIGURATION% -G "%CMAKE_GENERATOR%" %PLATFORM_PARAM% -DCMAKE_INSTALL_PREFIX="%COMMON_INSTALL_DIR%" ^ -DCMAKE_PREFIX_PATH="%COMMON_INSTALL_DIR%" -DCOMMSDSL_TESTS_CXX_STANDARD=%CPP_STD% ^ -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON ^ - %EXTRA_CONFIG% + -DCMAKE_CXX_STANDARD=%TOOLS_CPP_STD% %EXTRA_CONFIG% - cmake --build . --config %CONFIGURATION% --target install - echo ------------------------- Testing ------------------------- - ctest From 308bd2bbd927085e9c354ba91389253447d4b055 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 19 Feb 2024 08:49:32 +1000 Subject: [PATCH 38/60] Compiling tools with C++20 on github actions. --- .github/workflows/actions_build.yml | 9 ++++++--- app/commsdsl2comms/src/CommsBitfieldField.cpp | 2 +- app/commsdsl2comms/src/CommsChecksumLayer.cpp | 2 +- app/commsdsl2comms/src/CommsCustomLayer.cpp | 2 +- app/commsdsl2comms/src/CommsDataField.cpp | 2 +- app/commsdsl2comms/src/CommsIdLayer.cpp | 2 +- app/commsdsl2comms/src/CommsLayer.cpp | 2 +- app/commsdsl2comms/src/CommsStringField.cpp | 2 +- app/commsdsl2comms/src/CommsValueLayer.cpp | 2 +- lib/src/parse/OptCondImpl.cpp | 2 +- 10 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index a7561d86..1367d3ab 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -182,7 +182,7 @@ jobs: run: | cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \ -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} \ - -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \ + -DCMAKE_CXX_STANDARD=${{env.TOOLS_CXX_STANDARD}} -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \ -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_BUILD_DOC=ON -DCMAKE_IGNORE_PATH=/usr/local/bin \ -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \ -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \ @@ -191,6 +191,7 @@ jobs: CC: gcc-${{matrix.cc_ver}} CXX: g++-${{matrix.cc_ver}} BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}" + TOOLS_CXX_STANDARD: "${{ matrix.cpp >= 17 && matrix.cpp || '17' }}" - name: Build Target working-directory: ${{runner.workspace}}/build @@ -323,13 +324,14 @@ jobs: run: | cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \ -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} \ - -DCOMMSDSL_BUILD_UNIT_TESTS=ON \ + -DCMAKE_CXX_STANDARD=${{env.TOOLS_CXX_STANDARD}} -DCOMMSDSL_BUILD_UNIT_TESTS=ON \ -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \ -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} env: CC: clang-${{matrix.cc_ver}} CXX: clang++-${{matrix.cc_ver}} BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}" + TOOLS_CXX_STANDARD: "${{ matrix.cpp >= 17 && matrix.cpp || '17' }}" - name: Build Target working-directory: ${{runner.workspace}}/build @@ -395,7 +397,7 @@ jobs: run: | cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \ -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} \ - -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \ + -DCMAKE_CXX_STANDARD=${{env.TOOLS_CXX_STANDARD}} -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \ -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCMAKE_IGNORE_PATH=/usr/local/bin \ -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \ -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \ @@ -405,6 +407,7 @@ jobs: CC: clang-${{matrix.cc_ver}} CXX: clang++-${{matrix.cc_ver}} BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}" + TOOLS_CXX_STANDARD: "${{ matrix.cpp >= 17 && matrix.cpp || '17' }}" - name: Build Target working-directory: ${{runner.workspace}}/build diff --git a/app/commsdsl2comms/src/CommsBitfieldField.cpp b/app/commsdsl2comms/src/CommsBitfieldField.cpp index e2d63c32..0fa10dfb 100644 --- a/app/commsdsl2comms/src/CommsBitfieldField.cpp +++ b/app/commsdsl2comms/src/CommsBitfieldField.cpp @@ -152,7 +152,7 @@ std::string CommsBitfieldField::commsDefBaseClassImpl() const }; if (!repl["FIELD_OPTS"].empty()) { - repl["COMMA"] = ","; + repl["COMMA"] = std::string(","); } if (comms::isGlobalField(*this)) { diff --git a/app/commsdsl2comms/src/CommsChecksumLayer.cpp b/app/commsdsl2comms/src/CommsChecksumLayer.cpp index de90824f..647558b7 100644 --- a/app/commsdsl2comms/src/CommsChecksumLayer.cpp +++ b/app/commsdsl2comms/src/CommsChecksumLayer.cpp @@ -104,7 +104,7 @@ std::string CommsChecksumLayer::commsDefBaseTypeImpl(const std::string& prevName }; if (!repl["EXTRA_OPT"].empty()) { - repl["COMMA"] = ","; + repl["COMMA"] = std::string(","); } if (!checksumDslObj().untilLayer().empty()) { diff --git a/app/commsdsl2comms/src/CommsCustomLayer.cpp b/app/commsdsl2comms/src/CommsCustomLayer.cpp index 2adcfb91..7a4f637c 100644 --- a/app/commsdsl2comms/src/CommsCustomLayer.cpp +++ b/app/commsdsl2comms/src/CommsCustomLayer.cpp @@ -71,7 +71,7 @@ std::string CommsCustomLayer::commsDefBaseTypeImpl(const std::string& prevName) } if (!repl["EXTRA_OPT"].empty()) { - repl["COMMA"] = ","; + repl["COMMA"] = std::string(","); } return util::processTemplate(Templ, repl); diff --git a/app/commsdsl2comms/src/CommsDataField.cpp b/app/commsdsl2comms/src/CommsDataField.cpp index b5493a74..21cb31b7 100644 --- a/app/commsdsl2comms/src/CommsDataField.cpp +++ b/app/commsdsl2comms/src/CommsDataField.cpp @@ -148,7 +148,7 @@ std::string CommsDataField::commsDefBaseClassImpl() const }; if (!repl["FIELD_OPTS"].empty()) { - repl["COMMA"] = ","; + repl["COMMA"] = std::string(","); } return util::processTemplate(Templ, repl); diff --git a/app/commsdsl2comms/src/CommsIdLayer.cpp b/app/commsdsl2comms/src/CommsIdLayer.cpp index 02e3385b..7a01165d 100644 --- a/app/commsdsl2comms/src/CommsIdLayer.cpp +++ b/app/commsdsl2comms/src/CommsIdLayer.cpp @@ -69,7 +69,7 @@ std::string CommsIdLayer::commsDefBaseTypeImpl(const std::string& prevName) cons }; if (!repl["EXTRA_OPTS"].empty()) { - repl["COMMA"] = ","; + repl["COMMA"] = std::string(","); } return util::processTemplate(Templ, repl); } diff --git a/app/commsdsl2comms/src/CommsLayer.cpp b/app/commsdsl2comms/src/CommsLayer.cpp index d46b76f4..94dcfcc9 100644 --- a/app/commsdsl2comms/src/CommsLayer.cpp +++ b/app/commsdsl2comms/src/CommsLayer.cpp @@ -274,7 +274,7 @@ std::string CommsLayer::commsDefFieldType() const }; if (!repl["EXTRA_OPTS"].empty()) { - repl["COMMA"] = ","; + repl["COMMA"] = std::string(","); } return util::processTemplate(Templ, repl); } diff --git a/app/commsdsl2comms/src/CommsStringField.cpp b/app/commsdsl2comms/src/CommsStringField.cpp index 04cd83f9..8b2d4982 100644 --- a/app/commsdsl2comms/src/CommsStringField.cpp +++ b/app/commsdsl2comms/src/CommsStringField.cpp @@ -144,7 +144,7 @@ std::string CommsStringField::commsDefBaseClassImpl() const }; if (!repl["FIELD_OPTS"].empty()) { - repl["COMMA"] = ","; + repl["COMMA"] = std::string(","); } return util::processTemplate(Templ, repl); diff --git a/app/commsdsl2comms/src/CommsValueLayer.cpp b/app/commsdsl2comms/src/CommsValueLayer.cpp index 38bf76f2..abb0e89e 100644 --- a/app/commsdsl2comms/src/CommsValueLayer.cpp +++ b/app/commsdsl2comms/src/CommsValueLayer.cpp @@ -72,7 +72,7 @@ std::string CommsValueLayer::commsDefBaseTypeImpl(const std::string& prevName) c }; if (!repl["EXTRA_OPTS"].empty()) { - repl["COMMA"] = ","; + repl["COMMA"] = std::string(","); } return util::processTemplate(Templ, repl); diff --git a/lib/src/parse/OptCondImpl.cpp b/lib/src/parse/OptCondImpl.cpp index 3ba1db4d..871a21f9 100644 --- a/lib/src/parse/OptCondImpl.cpp +++ b/lib/src/parse/OptCondImpl.cpp @@ -312,7 +312,7 @@ bool OptCondExprImpl::checkBool(const std::string& expr, ::xmlNodePtr node, cons } while (false); - m_op = "!"; + m_op = std::string("!"); m_right.assign(expr.begin() + valPos, expr.end()); return true; } From d6d83d347ab3da4aec80a24fca7e21f2b2aa11ba Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 19 Feb 2024 08:56:22 +1000 Subject: [PATCH 39/60] Removed "Visual Studio 2017" build from appveyor. --- .appveyor.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index ef745267..8908bcdb 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,7 +1,6 @@ image: - Visual Studio 2022 - Visual Studio 2019 - - Visual Studio 2017 init: - git config --global core.autocrlf input From 38812eed9d598abcab5b169dbd535bf3176742b2 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 19 Feb 2024 09:01:14 +1000 Subject: [PATCH 40/60] Updated copyright notice to include 2024. --- app/commsdsl2comms/src/CommsBitfieldField.cpp | 2 +- app/commsdsl2comms/src/CommsBitfieldField.h | 2 +- app/commsdsl2comms/src/CommsBundleField.cpp | 2 +- app/commsdsl2comms/src/CommsBundleField.h | 2 +- app/commsdsl2comms/src/CommsChecksumLayer.cpp | 2 +- app/commsdsl2comms/src/CommsChecksumLayer.h | 2 +- app/commsdsl2comms/src/CommsCmake.cpp | 2 +- app/commsdsl2comms/src/CommsCmake.h | 2 +- app/commsdsl2comms/src/CommsCustomLayer.cpp | 2 +- app/commsdsl2comms/src/CommsCustomLayer.h | 2 +- app/commsdsl2comms/src/CommsDataField.cpp | 2 +- app/commsdsl2comms/src/CommsDataField.h | 2 +- app/commsdsl2comms/src/CommsDefaultOptions.cpp | 2 +- app/commsdsl2comms/src/CommsDefaultOptions.h | 2 +- app/commsdsl2comms/src/CommsDispatch.cpp | 2 +- app/commsdsl2comms/src/CommsDispatch.h | 2 +- app/commsdsl2comms/src/CommsDoxygen.cpp | 2 +- app/commsdsl2comms/src/CommsDoxygen.h | 2 +- app/commsdsl2comms/src/CommsEnumField.cpp | 2 +- app/commsdsl2comms/src/CommsEnumField.h | 2 +- app/commsdsl2comms/src/CommsField.cpp | 2 +- app/commsdsl2comms/src/CommsField.h | 2 +- app/commsdsl2comms/src/CommsFieldBase.cpp | 2 +- app/commsdsl2comms/src/CommsFieldBase.h | 2 +- app/commsdsl2comms/src/CommsFloatField.cpp | 2 +- app/commsdsl2comms/src/CommsFloatField.h | 2 +- app/commsdsl2comms/src/CommsFrame.cpp | 2 +- app/commsdsl2comms/src/CommsFrame.h | 2 +- app/commsdsl2comms/src/CommsGenerator.cpp | 2 +- app/commsdsl2comms/src/CommsGenerator.h | 2 +- app/commsdsl2comms/src/CommsIdLayer.cpp | 2 +- app/commsdsl2comms/src/CommsIdLayer.h | 2 +- app/commsdsl2comms/src/CommsInputMessages.cpp | 2 +- app/commsdsl2comms/src/CommsInputMessages.h | 2 +- app/commsdsl2comms/src/CommsIntField.cpp | 2 +- app/commsdsl2comms/src/CommsIntField.h | 2 +- app/commsdsl2comms/src/CommsInterface.cpp | 2 +- app/commsdsl2comms/src/CommsInterface.h | 2 +- app/commsdsl2comms/src/CommsLayer.cpp | 2 +- app/commsdsl2comms/src/CommsLayer.h | 2 +- app/commsdsl2comms/src/CommsListField.cpp | 2 +- app/commsdsl2comms/src/CommsListField.h | 2 +- app/commsdsl2comms/src/CommsMessage.cpp | 2 +- app/commsdsl2comms/src/CommsMessage.h | 2 +- app/commsdsl2comms/src/CommsMsgFactory.cpp | 2 +- app/commsdsl2comms/src/CommsMsgFactory.h | 2 +- app/commsdsl2comms/src/CommsMsgId.cpp | 2 +- app/commsdsl2comms/src/CommsMsgId.h | 2 +- app/commsdsl2comms/src/CommsNamespace.cpp | 2 +- app/commsdsl2comms/src/CommsNamespace.h | 2 +- app/commsdsl2comms/src/CommsOptionalField.cpp | 2 +- app/commsdsl2comms/src/CommsOptionalField.h | 2 +- app/commsdsl2comms/src/CommsPayloadLayer.cpp | 2 +- app/commsdsl2comms/src/CommsPayloadLayer.h | 2 +- app/commsdsl2comms/src/CommsProgramOptions.cpp | 2 +- app/commsdsl2comms/src/CommsProgramOptions.h | 2 +- app/commsdsl2comms/src/CommsRefField.cpp | 2 +- app/commsdsl2comms/src/CommsRefField.h | 2 +- app/commsdsl2comms/src/CommsSchema.cpp | 2 +- app/commsdsl2comms/src/CommsSchema.h | 2 +- app/commsdsl2comms/src/CommsSetField.cpp | 2 +- app/commsdsl2comms/src/CommsSetField.h | 2 +- app/commsdsl2comms/src/CommsSizeLayer.cpp | 2 +- app/commsdsl2comms/src/CommsSizeLayer.h | 2 +- app/commsdsl2comms/src/CommsStringField.cpp | 2 +- app/commsdsl2comms/src/CommsStringField.h | 2 +- app/commsdsl2comms/src/CommsSyncLayer.cpp | 2 +- app/commsdsl2comms/src/CommsSyncLayer.h | 2 +- app/commsdsl2comms/src/CommsValueLayer.cpp | 2 +- app/commsdsl2comms/src/CommsValueLayer.h | 2 +- app/commsdsl2comms/src/CommsVariantField.cpp | 2 +- app/commsdsl2comms/src/CommsVariantField.h | 2 +- app/commsdsl2comms/src/CommsVersion.cpp | 2 +- app/commsdsl2comms/src/CommsVersion.h | 2 +- app/commsdsl2comms/src/main.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenAllMessages.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenAllMessages.h | 2 +- app/commsdsl2emscripten/src/EmscriptenBitfieldField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenBitfieldField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenBundleField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenBundleField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenChecksumLayer.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenChecksumLayer.h | 2 +- app/commsdsl2emscripten/src/EmscriptenCmake.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenCmake.h | 2 +- app/commsdsl2emscripten/src/EmscriptenComms.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenComms.h | 2 +- app/commsdsl2emscripten/src/EmscriptenCustomLayer.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenCustomLayer.h | 2 +- app/commsdsl2emscripten/src/EmscriptenDataBuf.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenDataBuf.h | 2 +- app/commsdsl2emscripten/src/EmscriptenDataField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenDataField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenEnumField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenEnumField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenFloatField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenFloatField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenFrame.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenFrame.h | 2 +- app/commsdsl2emscripten/src/EmscriptenGenerator.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenGenerator.h | 2 +- app/commsdsl2emscripten/src/EmscriptenIdLayer.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenIdLayer.h | 2 +- app/commsdsl2emscripten/src/EmscriptenIntField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenIntField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenInterface.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenInterface.h | 2 +- app/commsdsl2emscripten/src/EmscriptenLayer.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenLayer.h | 2 +- app/commsdsl2emscripten/src/EmscriptenListField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenListField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenMessage.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenMessage.h | 2 +- app/commsdsl2emscripten/src/EmscriptenMsgHandler.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenMsgHandler.h | 2 +- app/commsdsl2emscripten/src/EmscriptenMsgId.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenMsgId.h | 2 +- app/commsdsl2emscripten/src/EmscriptenNamespace.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenNamespace.h | 2 +- app/commsdsl2emscripten/src/EmscriptenOptionalField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenOptionalField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenPayloadLayer.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenPayloadLayer.h | 2 +- app/commsdsl2emscripten/src/EmscriptenProgramOptions.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenProgramOptions.h | 2 +- app/commsdsl2emscripten/src/EmscriptenProtocolOptions.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenProtocolOptions.h | 2 +- app/commsdsl2emscripten/src/EmscriptenRefField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenRefField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenSchema.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenSchema.h | 2 +- app/commsdsl2emscripten/src/EmscriptenSetField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenSetField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenSizeLayer.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenSizeLayer.h | 2 +- app/commsdsl2emscripten/src/EmscriptenStringField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenStringField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenSyncLayer.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenSyncLayer.h | 2 +- app/commsdsl2emscripten/src/EmscriptenValueLayer.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenValueLayer.h | 2 +- app/commsdsl2emscripten/src/EmscriptenVariantField.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenVariantField.h | 2 +- app/commsdsl2emscripten/src/EmscriptenVersion.cpp | 2 +- app/commsdsl2emscripten/src/EmscriptenVersion.h | 2 +- app/commsdsl2emscripten/src/main.cpp | 2 +- app/commsdsl2swig/src/Swig.cpp | 2 +- app/commsdsl2swig/src/Swig.h | 2 +- app/commsdsl2swig/src/SwigAllMessages.cpp | 2 +- app/commsdsl2swig/src/SwigAllMessages.h | 2 +- app/commsdsl2swig/src/SwigBitfieldField.cpp | 2 +- app/commsdsl2swig/src/SwigBitfieldField.h | 2 +- app/commsdsl2swig/src/SwigBundleField.cpp | 2 +- app/commsdsl2swig/src/SwigBundleField.h | 2 +- app/commsdsl2swig/src/SwigChecksumLayer.cpp | 2 +- app/commsdsl2swig/src/SwigChecksumLayer.h | 2 +- app/commsdsl2swig/src/SwigCmake.cpp | 2 +- app/commsdsl2swig/src/SwigCmake.h | 2 +- app/commsdsl2swig/src/SwigComms.cpp | 2 +- app/commsdsl2swig/src/SwigComms.h | 2 +- app/commsdsl2swig/src/SwigCustomLayer.cpp | 2 +- app/commsdsl2swig/src/SwigCustomLayer.h | 2 +- app/commsdsl2swig/src/SwigDataBuf.cpp | 2 +- app/commsdsl2swig/src/SwigDataBuf.h | 2 +- app/commsdsl2swig/src/SwigDataField.cpp | 2 +- app/commsdsl2swig/src/SwigDataField.h | 2 +- app/commsdsl2swig/src/SwigEnumField.cpp | 2 +- app/commsdsl2swig/src/SwigEnumField.h | 2 +- app/commsdsl2swig/src/SwigField.cpp | 2 +- app/commsdsl2swig/src/SwigField.h | 2 +- app/commsdsl2swig/src/SwigFloatField.cpp | 2 +- app/commsdsl2swig/src/SwigFloatField.h | 2 +- app/commsdsl2swig/src/SwigFrame.cpp | 2 +- app/commsdsl2swig/src/SwigFrame.h | 2 +- app/commsdsl2swig/src/SwigGenerator.cpp | 2 +- app/commsdsl2swig/src/SwigGenerator.h | 2 +- app/commsdsl2swig/src/SwigIdLayer.cpp | 2 +- app/commsdsl2swig/src/SwigIdLayer.h | 2 +- app/commsdsl2swig/src/SwigIntField.cpp | 2 +- app/commsdsl2swig/src/SwigIntField.h | 2 +- app/commsdsl2swig/src/SwigInterface.cpp | 2 +- app/commsdsl2swig/src/SwigInterface.h | 2 +- app/commsdsl2swig/src/SwigLayer.cpp | 2 +- app/commsdsl2swig/src/SwigLayer.h | 2 +- app/commsdsl2swig/src/SwigListField.cpp | 2 +- app/commsdsl2swig/src/SwigListField.h | 2 +- app/commsdsl2swig/src/SwigMessage.cpp | 2 +- app/commsdsl2swig/src/SwigMessage.h | 2 +- app/commsdsl2swig/src/SwigMsgHandler.cpp | 2 +- app/commsdsl2swig/src/SwigMsgHandler.h | 2 +- app/commsdsl2swig/src/SwigMsgId.cpp | 2 +- app/commsdsl2swig/src/SwigMsgId.h | 2 +- app/commsdsl2swig/src/SwigNamespace.cpp | 2 +- app/commsdsl2swig/src/SwigNamespace.h | 2 +- app/commsdsl2swig/src/SwigOptionalField.cpp | 2 +- app/commsdsl2swig/src/SwigOptionalField.h | 2 +- app/commsdsl2swig/src/SwigPayloadLayer.cpp | 2 +- app/commsdsl2swig/src/SwigPayloadLayer.h | 2 +- app/commsdsl2swig/src/SwigProgramOptions.cpp | 2 +- app/commsdsl2swig/src/SwigProgramOptions.h | 2 +- app/commsdsl2swig/src/SwigProtocolOptions.cpp | 2 +- app/commsdsl2swig/src/SwigProtocolOptions.h | 2 +- app/commsdsl2swig/src/SwigRefField.cpp | 2 +- app/commsdsl2swig/src/SwigRefField.h | 2 +- app/commsdsl2swig/src/SwigSchema.cpp | 2 +- app/commsdsl2swig/src/SwigSchema.h | 2 +- app/commsdsl2swig/src/SwigSetField.cpp | 2 +- app/commsdsl2swig/src/SwigSetField.h | 2 +- app/commsdsl2swig/src/SwigSizeLayer.cpp | 2 +- app/commsdsl2swig/src/SwigSizeLayer.h | 2 +- app/commsdsl2swig/src/SwigStringField.cpp | 2 +- app/commsdsl2swig/src/SwigStringField.h | 2 +- app/commsdsl2swig/src/SwigSyncLayer.cpp | 2 +- app/commsdsl2swig/src/SwigSyncLayer.h | 2 +- app/commsdsl2swig/src/SwigValueLayer.cpp | 2 +- app/commsdsl2swig/src/SwigValueLayer.h | 2 +- app/commsdsl2swig/src/SwigVariantField.cpp | 2 +- app/commsdsl2swig/src/SwigVariantField.h | 2 +- app/commsdsl2swig/src/SwigVersion.cpp | 2 +- app/commsdsl2swig/src/SwigVersion.h | 2 +- app/commsdsl2swig/src/main.cpp | 2 +- app/commsdsl2test/src/Test.cpp | 2 +- app/commsdsl2test/src/Test.h | 2 +- app/commsdsl2test/src/TestCmake.cpp | 2 +- app/commsdsl2test/src/TestCmake.h | 2 +- app/commsdsl2test/src/TestGenerator.cpp | 2 +- app/commsdsl2test/src/TestGenerator.h | 2 +- app/commsdsl2test/src/TestProgramOptions.cpp | 2 +- app/commsdsl2test/src/TestProgramOptions.h | 2 +- app/commsdsl2test/src/main.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtBitfieldField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtBitfieldField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtBundleField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtBundleField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtCmake.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtCmake.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtCustomLayer.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtCustomLayer.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtDataField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtDataField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtEnumField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtEnumField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtFloatField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtFloatField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtFrame.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtFrame.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtGenerator.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtIdLayer.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtIdLayer.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtInputMessages.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtIntField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtIntField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtInterface.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtInterface.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtLayer.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtLayer.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtListField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtListField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtMessage.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtMessage.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtMsgFactory.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtMsgFactory.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtNamespace.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtNamespace.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtOptionalField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtOptionalField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtPlugin.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtRefField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtRefField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtSetField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtSetField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtSizeLayer.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtSizeLayer.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtStringField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtStringField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtSyncLayer.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtSyncLayer.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtValueLayer.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtValueLayer.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtVariantField.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtVariantField.h | 2 +- app/commsdsl2tools_qt/src/ToolsQtVersion.cpp | 2 +- app/commsdsl2tools_qt/src/ToolsQtVersion.h | 2 +- app/commsdsl2tools_qt/src/main.cpp | 2 +- lib/README.md | 1 - lib/include/commsdsl/CommsdslApi.h | 2 +- lib/include/commsdsl/gen/BitfieldField.h | 2 +- lib/include/commsdsl/gen/BundleField.h | 2 +- lib/include/commsdsl/gen/ChecksumLayer.h | 2 +- lib/include/commsdsl/gen/CustomLayer.h | 2 +- lib/include/commsdsl/gen/DataField.h | 2 +- lib/include/commsdsl/gen/Elem.h | 2 +- lib/include/commsdsl/gen/EnumField.h | 2 +- lib/include/commsdsl/gen/Field.h | 2 +- lib/include/commsdsl/gen/FloatField.h | 2 +- lib/include/commsdsl/gen/Frame.h | 2 +- lib/include/commsdsl/gen/Generator.h | 2 +- lib/include/commsdsl/gen/IdLayer.h | 2 +- lib/include/commsdsl/gen/IntField.h | 2 +- lib/include/commsdsl/gen/Interface.h | 2 +- lib/include/commsdsl/gen/Layer.h | 2 +- lib/include/commsdsl/gen/ListField.h | 2 +- lib/include/commsdsl/gen/Logger.h | 2 +- lib/include/commsdsl/gen/Message.h | 2 +- lib/include/commsdsl/gen/Namespace.h | 2 +- lib/include/commsdsl/gen/OptionalField.h | 2 +- lib/include/commsdsl/gen/PayloadLayer.h | 2 +- lib/include/commsdsl/gen/ProgramOptions.h | 2 +- lib/include/commsdsl/gen/RefField.h | 2 +- lib/include/commsdsl/gen/Schema.h | 2 +- lib/include/commsdsl/gen/SetField.h | 2 +- lib/include/commsdsl/gen/SizeLayer.h | 2 +- lib/include/commsdsl/gen/StringField.h | 2 +- lib/include/commsdsl/gen/SyncLayer.h | 2 +- lib/include/commsdsl/gen/ValueLayer.h | 2 +- lib/include/commsdsl/gen/VariantField.h | 2 +- lib/include/commsdsl/parse/Alias.h | 2 +- lib/include/commsdsl/parse/BitfieldField.h | 2 +- lib/include/commsdsl/parse/BundleField.h | 2 +- lib/include/commsdsl/parse/DataField.h | 2 +- lib/include/commsdsl/parse/Endian.h | 2 +- lib/include/commsdsl/parse/EnumField.h | 2 +- lib/include/commsdsl/parse/ErrorLevel.h | 2 +- lib/include/commsdsl/parse/Field.h | 2 +- lib/include/commsdsl/parse/FloatField.h | 2 +- lib/include/commsdsl/parse/Frame.h | 2 +- lib/include/commsdsl/parse/IntField.h | 2 +- lib/include/commsdsl/parse/Interface.h | 2 +- lib/include/commsdsl/parse/Layer.h | 2 +- lib/include/commsdsl/parse/ListField.h | 2 +- lib/include/commsdsl/parse/Message.h | 2 +- lib/include/commsdsl/parse/Namespace.h | 2 +- lib/include/commsdsl/parse/OptCond.h | 2 +- lib/include/commsdsl/parse/OptionalField.h | 2 +- lib/include/commsdsl/parse/OverrideType.h | 2 +- lib/include/commsdsl/parse/Protocol.h | 2 +- lib/include/commsdsl/parse/RefField.h | 2 +- lib/include/commsdsl/parse/Schema.h | 2 +- lib/include/commsdsl/parse/SetField.h | 2 +- lib/include/commsdsl/parse/StringField.h | 2 +- lib/include/commsdsl/parse/Units.h | 2 +- lib/include/commsdsl/parse/VariantField.h | 2 +- lib/include/commsdsl/parse/commsdsl.h | 2 +- lib/include/commsdsl/version.h | 2 +- lib/src/gen/BitfieldField.cpp | 2 +- lib/src/gen/BundleField.cpp | 2 +- lib/src/gen/ChecksumLayer.cpp | 2 +- lib/src/gen/CustomLayer.cpp | 2 +- lib/src/gen/DataField.cpp | 2 +- lib/src/gen/Elem.cpp | 2 +- lib/src/gen/EnumField.cpp | 2 +- lib/src/gen/Field.cpp | 2 +- lib/src/gen/FloatField.cpp | 2 +- lib/src/gen/Frame.cpp | 2 +- lib/src/gen/Generator.cpp | 2 +- lib/src/gen/IdLayer.cpp | 2 +- lib/src/gen/IntField.cpp | 2 +- lib/src/gen/Interface.cpp | 2 +- lib/src/gen/Layer.cpp | 2 +- lib/src/gen/ListField.cpp | 2 +- lib/src/gen/Logger.cpp | 2 +- lib/src/gen/Message.cpp | 2 +- lib/src/gen/Namespace.cpp | 2 +- lib/src/gen/OptionalField.cpp | 2 +- lib/src/gen/PayloadLayer.cpp | 2 +- lib/src/gen/RefField.cpp | 2 +- lib/src/gen/Schema.cpp | 2 +- lib/src/gen/SetField.cpp | 2 +- lib/src/gen/SizeLayer.cpp | 2 +- lib/src/gen/StringField.cpp | 2 +- lib/src/gen/SyncLayer.cpp | 2 +- lib/src/gen/ValueLayer.cpp | 2 +- lib/src/gen/VariantField.cpp | 2 +- lib/src/parse/Alias.cpp | 2 +- lib/src/parse/AliasImpl.cpp | 2 +- lib/src/parse/AliasImpl.h | 2 +- lib/src/parse/BitfieldField.cpp | 2 +- lib/src/parse/BitfieldFieldImpl.cpp | 2 +- lib/src/parse/BitfieldFieldImpl.h | 2 +- lib/src/parse/BundleField.cpp | 2 +- lib/src/parse/BundleFieldImpl.cpp | 2 +- lib/src/parse/BundleFieldImpl.h | 2 +- lib/src/parse/ChecksumLayerImpl.cpp | 2 +- lib/src/parse/ChecksumLayerImpl.h | 2 +- lib/src/parse/CustomLayerImpl.cpp | 2 +- lib/src/parse/CustomLayerImpl.h | 2 +- lib/src/parse/DataField.cpp | 2 +- lib/src/parse/DataFieldImpl.cpp | 2 +- lib/src/parse/DataFieldImpl.h | 2 +- lib/src/parse/EnumField.cpp | 2 +- lib/src/parse/EnumFieldImpl.cpp | 2 +- lib/src/parse/EnumFieldImpl.h | 2 +- lib/src/parse/Field.cpp | 2 +- lib/src/parse/FieldImpl.cpp | 2 +- lib/src/parse/FieldImpl.h | 2 +- lib/src/parse/FloatField.cpp | 2 +- lib/src/parse/FloatFieldImpl.cpp | 2 +- lib/src/parse/FloatFieldImpl.h | 2 +- lib/src/parse/Frame.cpp | 2 +- lib/src/parse/FrameImpl.cpp | 2 +- lib/src/parse/FrameImpl.h | 2 +- lib/src/parse/IdLayerImpl.cpp | 2 +- lib/src/parse/IdLayerImpl.h | 2 +- lib/src/parse/IntField.cpp | 2 +- lib/src/parse/IntFieldImpl.cpp | 2 +- lib/src/parse/IntFieldImpl.h | 2 +- lib/src/parse/Interface.cpp | 2 +- lib/src/parse/InterfaceImpl.cpp | 2 +- lib/src/parse/InterfaceImpl.h | 2 +- lib/src/parse/Layer.cpp | 2 +- lib/src/parse/LayerImpl.cpp | 2 +- lib/src/parse/LayerImpl.h | 2 +- lib/src/parse/ListField.cpp | 2 +- lib/src/parse/ListFieldImpl.cpp | 2 +- lib/src/parse/ListFieldImpl.h | 2 +- lib/src/parse/Logger.h | 2 +- lib/src/parse/Message.cpp | 2 +- lib/src/parse/MessageImpl.cpp | 2 +- lib/src/parse/MessageImpl.h | 2 +- lib/src/parse/Namespace.cpp | 2 +- lib/src/parse/NamespaceImpl.cpp | 2 +- lib/src/parse/NamespaceImpl.h | 2 +- lib/src/parse/Object.h | 2 +- lib/src/parse/OptCond.cpp | 2 +- lib/src/parse/OptCondImpl.cpp | 2 +- lib/src/parse/OptCondImpl.h | 2 +- lib/src/parse/OptionalField.cpp | 2 +- lib/src/parse/OptionalFieldImpl.cpp | 2 +- lib/src/parse/OptionalFieldImpl.h | 2 +- lib/src/parse/PayloadLayerImpl.cpp | 2 +- lib/src/parse/PayloadLayerImpl.h | 2 +- lib/src/parse/Protocol.cpp | 2 +- lib/src/parse/ProtocolImpl.cpp | 2 +- lib/src/parse/ProtocolImpl.h | 2 +- lib/src/parse/RefField.cpp | 2 +- lib/src/parse/RefFieldImpl.cpp | 2 +- lib/src/parse/RefFieldImpl.h | 2 +- lib/src/parse/Schema.cpp | 2 +- lib/src/parse/SchemaImpl.cpp | 2 +- lib/src/parse/SchemaImpl.h | 2 +- lib/src/parse/SetField.cpp | 2 +- lib/src/parse/SetFieldImpl.cpp | 2 +- lib/src/parse/SetFieldImpl.h | 2 +- lib/src/parse/SizeLayerImpl.cpp | 2 +- lib/src/parse/SizeLayerImpl.h | 2 +- lib/src/parse/StringField.cpp | 2 +- lib/src/parse/StringFieldImpl.cpp | 2 +- lib/src/parse/StringFieldImpl.h | 2 +- lib/src/parse/SyncLayerImpl.cpp | 2 +- lib/src/parse/SyncLayerImpl.h | 2 +- lib/src/parse/ValueLayerImpl.cpp | 2 +- lib/src/parse/ValueLayerImpl.h | 2 +- lib/src/parse/VariantField.cpp | 2 +- lib/src/parse/VariantFieldImpl.cpp | 2 +- lib/src/parse/VariantFieldImpl.h | 2 +- lib/src/parse/XmlWrap.cpp | 2 +- lib/src/parse/XmlWrap.h | 2 +- lib/src/parse/common.cpp | 2 +- lib/src/parse/common.h | 2 +- lib/src/parse/util.h | 2 +- 477 files changed, 476 insertions(+), 477 deletions(-) delete mode 100644 lib/README.md diff --git a/app/commsdsl2comms/src/CommsBitfieldField.cpp b/app/commsdsl2comms/src/CommsBitfieldField.cpp index 0fa10dfb..10a62af4 100644 --- a/app/commsdsl2comms/src/CommsBitfieldField.cpp +++ b/app/commsdsl2comms/src/CommsBitfieldField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsBitfieldField.h b/app/commsdsl2comms/src/CommsBitfieldField.h index 02d7ffc5..7e48b15d 100644 --- a/app/commsdsl2comms/src/CommsBitfieldField.h +++ b/app/commsdsl2comms/src/CommsBitfieldField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsBundleField.cpp b/app/commsdsl2comms/src/CommsBundleField.cpp index bdec8ff2..24dec374 100644 --- a/app/commsdsl2comms/src/CommsBundleField.cpp +++ b/app/commsdsl2comms/src/CommsBundleField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsBundleField.h b/app/commsdsl2comms/src/CommsBundleField.h index f5b111cc..0b07f8e5 100644 --- a/app/commsdsl2comms/src/CommsBundleField.h +++ b/app/commsdsl2comms/src/CommsBundleField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsChecksumLayer.cpp b/app/commsdsl2comms/src/CommsChecksumLayer.cpp index 647558b7..efeb0428 100644 --- a/app/commsdsl2comms/src/CommsChecksumLayer.cpp +++ b/app/commsdsl2comms/src/CommsChecksumLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsChecksumLayer.h b/app/commsdsl2comms/src/CommsChecksumLayer.h index c0b90ea2..f40dafcf 100644 --- a/app/commsdsl2comms/src/CommsChecksumLayer.h +++ b/app/commsdsl2comms/src/CommsChecksumLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsCmake.cpp b/app/commsdsl2comms/src/CommsCmake.cpp index e60ce8a1..17899dde 100644 --- a/app/commsdsl2comms/src/CommsCmake.cpp +++ b/app/commsdsl2comms/src/CommsCmake.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsCmake.h b/app/commsdsl2comms/src/CommsCmake.h index 8740e8b4..d2047537 100644 --- a/app/commsdsl2comms/src/CommsCmake.h +++ b/app/commsdsl2comms/src/CommsCmake.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsCustomLayer.cpp b/app/commsdsl2comms/src/CommsCustomLayer.cpp index 7a4f637c..dc9d6fe3 100644 --- a/app/commsdsl2comms/src/CommsCustomLayer.cpp +++ b/app/commsdsl2comms/src/CommsCustomLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsCustomLayer.h b/app/commsdsl2comms/src/CommsCustomLayer.h index 252d4a52..77eff291 100644 --- a/app/commsdsl2comms/src/CommsCustomLayer.h +++ b/app/commsdsl2comms/src/CommsCustomLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsDataField.cpp b/app/commsdsl2comms/src/CommsDataField.cpp index 21cb31b7..aa0ed2da 100644 --- a/app/commsdsl2comms/src/CommsDataField.cpp +++ b/app/commsdsl2comms/src/CommsDataField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsDataField.h b/app/commsdsl2comms/src/CommsDataField.h index 713207f7..0b47d2a1 100644 --- a/app/commsdsl2comms/src/CommsDataField.h +++ b/app/commsdsl2comms/src/CommsDataField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsDefaultOptions.cpp b/app/commsdsl2comms/src/CommsDefaultOptions.cpp index c0b53a57..bf98ed94 100644 --- a/app/commsdsl2comms/src/CommsDefaultOptions.cpp +++ b/app/commsdsl2comms/src/CommsDefaultOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsDefaultOptions.h b/app/commsdsl2comms/src/CommsDefaultOptions.h index 06768a3e..6b1df487 100644 --- a/app/commsdsl2comms/src/CommsDefaultOptions.h +++ b/app/commsdsl2comms/src/CommsDefaultOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsDispatch.cpp b/app/commsdsl2comms/src/CommsDispatch.cpp index 5c0455fa..3fea7a87 100644 --- a/app/commsdsl2comms/src/CommsDispatch.cpp +++ b/app/commsdsl2comms/src/CommsDispatch.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsDispatch.h b/app/commsdsl2comms/src/CommsDispatch.h index e63874f7..9a81bfc6 100644 --- a/app/commsdsl2comms/src/CommsDispatch.h +++ b/app/commsdsl2comms/src/CommsDispatch.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsDoxygen.cpp b/app/commsdsl2comms/src/CommsDoxygen.cpp index 634bf756..e05d1ed4 100644 --- a/app/commsdsl2comms/src/CommsDoxygen.cpp +++ b/app/commsdsl2comms/src/CommsDoxygen.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsDoxygen.h b/app/commsdsl2comms/src/CommsDoxygen.h index 20a24035..01098f24 100644 --- a/app/commsdsl2comms/src/CommsDoxygen.h +++ b/app/commsdsl2comms/src/CommsDoxygen.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsEnumField.cpp b/app/commsdsl2comms/src/CommsEnumField.cpp index fd96d422..6a49a40a 100644 --- a/app/commsdsl2comms/src/CommsEnumField.cpp +++ b/app/commsdsl2comms/src/CommsEnumField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsEnumField.h b/app/commsdsl2comms/src/CommsEnumField.h index 11d10d21..77afdb26 100644 --- a/app/commsdsl2comms/src/CommsEnumField.h +++ b/app/commsdsl2comms/src/CommsEnumField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsField.cpp b/app/commsdsl2comms/src/CommsField.cpp index ea2d5c2b..309bbc2c 100644 --- a/app/commsdsl2comms/src/CommsField.cpp +++ b/app/commsdsl2comms/src/CommsField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsField.h b/app/commsdsl2comms/src/CommsField.h index 9e11a2a1..413f507e 100644 --- a/app/commsdsl2comms/src/CommsField.h +++ b/app/commsdsl2comms/src/CommsField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsFieldBase.cpp b/app/commsdsl2comms/src/CommsFieldBase.cpp index 94066c5d..9aca861d 100644 --- a/app/commsdsl2comms/src/CommsFieldBase.cpp +++ b/app/commsdsl2comms/src/CommsFieldBase.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsFieldBase.h b/app/commsdsl2comms/src/CommsFieldBase.h index 792a6792..9a5c9a48 100644 --- a/app/commsdsl2comms/src/CommsFieldBase.h +++ b/app/commsdsl2comms/src/CommsFieldBase.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsFloatField.cpp b/app/commsdsl2comms/src/CommsFloatField.cpp index 64e5fab1..66c9a7eb 100644 --- a/app/commsdsl2comms/src/CommsFloatField.cpp +++ b/app/commsdsl2comms/src/CommsFloatField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsFloatField.h b/app/commsdsl2comms/src/CommsFloatField.h index 5817cf0e..9ab51d36 100644 --- a/app/commsdsl2comms/src/CommsFloatField.h +++ b/app/commsdsl2comms/src/CommsFloatField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsFrame.cpp b/app/commsdsl2comms/src/CommsFrame.cpp index 4eea8867..7a0a6c33 100644 --- a/app/commsdsl2comms/src/CommsFrame.cpp +++ b/app/commsdsl2comms/src/CommsFrame.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsFrame.h b/app/commsdsl2comms/src/CommsFrame.h index 86cc8800..c323f468 100644 --- a/app/commsdsl2comms/src/CommsFrame.h +++ b/app/commsdsl2comms/src/CommsFrame.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2comms/src/CommsGenerator.cpp b/app/commsdsl2comms/src/CommsGenerator.cpp index d77cce60..24134b5d 100644 --- a/app/commsdsl2comms/src/CommsGenerator.cpp +++ b/app/commsdsl2comms/src/CommsGenerator.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsGenerator.h b/app/commsdsl2comms/src/CommsGenerator.h index 3f1bb731..5b37a9d9 100644 --- a/app/commsdsl2comms/src/CommsGenerator.h +++ b/app/commsdsl2comms/src/CommsGenerator.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsIdLayer.cpp b/app/commsdsl2comms/src/CommsIdLayer.cpp index 7a01165d..3f3791e8 100644 --- a/app/commsdsl2comms/src/CommsIdLayer.cpp +++ b/app/commsdsl2comms/src/CommsIdLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsIdLayer.h b/app/commsdsl2comms/src/CommsIdLayer.h index 745598f8..6491acc1 100644 --- a/app/commsdsl2comms/src/CommsIdLayer.h +++ b/app/commsdsl2comms/src/CommsIdLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsInputMessages.cpp b/app/commsdsl2comms/src/CommsInputMessages.cpp index 316c2035..f36303ab 100644 --- a/app/commsdsl2comms/src/CommsInputMessages.cpp +++ b/app/commsdsl2comms/src/CommsInputMessages.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsInputMessages.h b/app/commsdsl2comms/src/CommsInputMessages.h index 742f34a9..47021561 100644 --- a/app/commsdsl2comms/src/CommsInputMessages.h +++ b/app/commsdsl2comms/src/CommsInputMessages.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsIntField.cpp b/app/commsdsl2comms/src/CommsIntField.cpp index 0bbba4c6..a68c0f5a 100644 --- a/app/commsdsl2comms/src/CommsIntField.cpp +++ b/app/commsdsl2comms/src/CommsIntField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsIntField.h b/app/commsdsl2comms/src/CommsIntField.h index 1b054d94..e21103bb 100644 --- a/app/commsdsl2comms/src/CommsIntField.h +++ b/app/commsdsl2comms/src/CommsIntField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsInterface.cpp b/app/commsdsl2comms/src/CommsInterface.cpp index 855979c4..d43d0afc 100644 --- a/app/commsdsl2comms/src/CommsInterface.cpp +++ b/app/commsdsl2comms/src/CommsInterface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsInterface.h b/app/commsdsl2comms/src/CommsInterface.h index e41fbe99..fb0440e3 100644 --- a/app/commsdsl2comms/src/CommsInterface.h +++ b/app/commsdsl2comms/src/CommsInterface.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2comms/src/CommsLayer.cpp b/app/commsdsl2comms/src/CommsLayer.cpp index 94dcfcc9..c94bcbaa 100644 --- a/app/commsdsl2comms/src/CommsLayer.cpp +++ b/app/commsdsl2comms/src/CommsLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsLayer.h b/app/commsdsl2comms/src/CommsLayer.h index 4ae3f6ff..51ff4cc7 100644 --- a/app/commsdsl2comms/src/CommsLayer.h +++ b/app/commsdsl2comms/src/CommsLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsListField.cpp b/app/commsdsl2comms/src/CommsListField.cpp index 7ddd5d58..21e18fcf 100644 --- a/app/commsdsl2comms/src/CommsListField.cpp +++ b/app/commsdsl2comms/src/CommsListField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsListField.h b/app/commsdsl2comms/src/CommsListField.h index 528c483d..ce425ef6 100644 --- a/app/commsdsl2comms/src/CommsListField.h +++ b/app/commsdsl2comms/src/CommsListField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsMessage.cpp b/app/commsdsl2comms/src/CommsMessage.cpp index b6cf2a14..5d031db2 100644 --- a/app/commsdsl2comms/src/CommsMessage.cpp +++ b/app/commsdsl2comms/src/CommsMessage.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsMessage.h b/app/commsdsl2comms/src/CommsMessage.h index a7f7c633..12fa2b3f 100644 --- a/app/commsdsl2comms/src/CommsMessage.h +++ b/app/commsdsl2comms/src/CommsMessage.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2comms/src/CommsMsgFactory.cpp b/app/commsdsl2comms/src/CommsMsgFactory.cpp index efe79933..e9d597d5 100644 --- a/app/commsdsl2comms/src/CommsMsgFactory.cpp +++ b/app/commsdsl2comms/src/CommsMsgFactory.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsMsgFactory.h b/app/commsdsl2comms/src/CommsMsgFactory.h index d4e3fefa..bf93c422 100644 --- a/app/commsdsl2comms/src/CommsMsgFactory.h +++ b/app/commsdsl2comms/src/CommsMsgFactory.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsMsgId.cpp b/app/commsdsl2comms/src/CommsMsgId.cpp index e43fd479..1ff62e65 100644 --- a/app/commsdsl2comms/src/CommsMsgId.cpp +++ b/app/commsdsl2comms/src/CommsMsgId.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsMsgId.h b/app/commsdsl2comms/src/CommsMsgId.h index 10793cf1..4746a88c 100644 --- a/app/commsdsl2comms/src/CommsMsgId.h +++ b/app/commsdsl2comms/src/CommsMsgId.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsNamespace.cpp b/app/commsdsl2comms/src/CommsNamespace.cpp index caaa468d..e01e2f78 100644 --- a/app/commsdsl2comms/src/CommsNamespace.cpp +++ b/app/commsdsl2comms/src/CommsNamespace.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsNamespace.h b/app/commsdsl2comms/src/CommsNamespace.h index d3562311..409186b0 100644 --- a/app/commsdsl2comms/src/CommsNamespace.h +++ b/app/commsdsl2comms/src/CommsNamespace.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2comms/src/CommsOptionalField.cpp b/app/commsdsl2comms/src/CommsOptionalField.cpp index 16e4dc3d..3ddae908 100644 --- a/app/commsdsl2comms/src/CommsOptionalField.cpp +++ b/app/commsdsl2comms/src/CommsOptionalField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsOptionalField.h b/app/commsdsl2comms/src/CommsOptionalField.h index 44e2f44f..26509787 100644 --- a/app/commsdsl2comms/src/CommsOptionalField.h +++ b/app/commsdsl2comms/src/CommsOptionalField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsPayloadLayer.cpp b/app/commsdsl2comms/src/CommsPayloadLayer.cpp index fff74bb2..2d225afe 100644 --- a/app/commsdsl2comms/src/CommsPayloadLayer.cpp +++ b/app/commsdsl2comms/src/CommsPayloadLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsPayloadLayer.h b/app/commsdsl2comms/src/CommsPayloadLayer.h index 04e25ec7..4fbd2399 100644 --- a/app/commsdsl2comms/src/CommsPayloadLayer.h +++ b/app/commsdsl2comms/src/CommsPayloadLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsProgramOptions.cpp b/app/commsdsl2comms/src/CommsProgramOptions.cpp index d7896262..c0780362 100644 --- a/app/commsdsl2comms/src/CommsProgramOptions.cpp +++ b/app/commsdsl2comms/src/CommsProgramOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsProgramOptions.h b/app/commsdsl2comms/src/CommsProgramOptions.h index 94920487..d61c12cd 100644 --- a/app/commsdsl2comms/src/CommsProgramOptions.h +++ b/app/commsdsl2comms/src/CommsProgramOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsRefField.cpp b/app/commsdsl2comms/src/CommsRefField.cpp index 77365ac7..6eed36d4 100644 --- a/app/commsdsl2comms/src/CommsRefField.cpp +++ b/app/commsdsl2comms/src/CommsRefField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsRefField.h b/app/commsdsl2comms/src/CommsRefField.h index 6e93465c..a77dbcc7 100644 --- a/app/commsdsl2comms/src/CommsRefField.h +++ b/app/commsdsl2comms/src/CommsRefField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsSchema.cpp b/app/commsdsl2comms/src/CommsSchema.cpp index 800f3417..09d3247d 100644 --- a/app/commsdsl2comms/src/CommsSchema.cpp +++ b/app/commsdsl2comms/src/CommsSchema.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2comms/src/CommsSchema.h b/app/commsdsl2comms/src/CommsSchema.h index 96fcf47c..c1260640 100644 --- a/app/commsdsl2comms/src/CommsSchema.h +++ b/app/commsdsl2comms/src/CommsSchema.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2comms/src/CommsSetField.cpp b/app/commsdsl2comms/src/CommsSetField.cpp index 32328cfd..f917bc6c 100644 --- a/app/commsdsl2comms/src/CommsSetField.cpp +++ b/app/commsdsl2comms/src/CommsSetField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsSetField.h b/app/commsdsl2comms/src/CommsSetField.h index 5148899b..3bb5c787 100644 --- a/app/commsdsl2comms/src/CommsSetField.h +++ b/app/commsdsl2comms/src/CommsSetField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsSizeLayer.cpp b/app/commsdsl2comms/src/CommsSizeLayer.cpp index a64137ca..18787090 100644 --- a/app/commsdsl2comms/src/CommsSizeLayer.cpp +++ b/app/commsdsl2comms/src/CommsSizeLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsSizeLayer.h b/app/commsdsl2comms/src/CommsSizeLayer.h index 433b8ef5..22ee65f4 100644 --- a/app/commsdsl2comms/src/CommsSizeLayer.h +++ b/app/commsdsl2comms/src/CommsSizeLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsStringField.cpp b/app/commsdsl2comms/src/CommsStringField.cpp index 8b2d4982..dd18a0cb 100644 --- a/app/commsdsl2comms/src/CommsStringField.cpp +++ b/app/commsdsl2comms/src/CommsStringField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsStringField.h b/app/commsdsl2comms/src/CommsStringField.h index a39c1e05..61a619ad 100644 --- a/app/commsdsl2comms/src/CommsStringField.h +++ b/app/commsdsl2comms/src/CommsStringField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsSyncLayer.cpp b/app/commsdsl2comms/src/CommsSyncLayer.cpp index 2af1065c..95ba0396 100644 --- a/app/commsdsl2comms/src/CommsSyncLayer.cpp +++ b/app/commsdsl2comms/src/CommsSyncLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsSyncLayer.h b/app/commsdsl2comms/src/CommsSyncLayer.h index 42dd326e..66f9ec8a 100644 --- a/app/commsdsl2comms/src/CommsSyncLayer.h +++ b/app/commsdsl2comms/src/CommsSyncLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsValueLayer.cpp b/app/commsdsl2comms/src/CommsValueLayer.cpp index abb0e89e..b581b2b1 100644 --- a/app/commsdsl2comms/src/CommsValueLayer.cpp +++ b/app/commsdsl2comms/src/CommsValueLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsValueLayer.h b/app/commsdsl2comms/src/CommsValueLayer.h index 02b2e71c..e01b62e1 100644 --- a/app/commsdsl2comms/src/CommsValueLayer.h +++ b/app/commsdsl2comms/src/CommsValueLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsVariantField.cpp b/app/commsdsl2comms/src/CommsVariantField.cpp index 1fc56d69..72ada994 100644 --- a/app/commsdsl2comms/src/CommsVariantField.cpp +++ b/app/commsdsl2comms/src/CommsVariantField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsVariantField.h b/app/commsdsl2comms/src/CommsVariantField.h index 3c92d5e4..60ff3b02 100644 --- a/app/commsdsl2comms/src/CommsVariantField.h +++ b/app/commsdsl2comms/src/CommsVariantField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsVersion.cpp b/app/commsdsl2comms/src/CommsVersion.cpp index fac4aae1..cbd02427 100644 --- a/app/commsdsl2comms/src/CommsVersion.cpp +++ b/app/commsdsl2comms/src/CommsVersion.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/CommsVersion.h b/app/commsdsl2comms/src/CommsVersion.h index 4e3acddc..b3daaf04 100644 --- a/app/commsdsl2comms/src/CommsVersion.h +++ b/app/commsdsl2comms/src/CommsVersion.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2comms/src/main.cpp b/app/commsdsl2comms/src/main.cpp index 34e7db98..a9b173e4 100644 --- a/app/commsdsl2comms/src/main.cpp +++ b/app/commsdsl2comms/src/main.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenAllMessages.cpp b/app/commsdsl2emscripten/src/EmscriptenAllMessages.cpp index 74b81f0a..361602d0 100644 --- a/app/commsdsl2emscripten/src/EmscriptenAllMessages.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenAllMessages.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenAllMessages.h b/app/commsdsl2emscripten/src/EmscriptenAllMessages.h index c76e21b3..10482246 100644 --- a/app/commsdsl2emscripten/src/EmscriptenAllMessages.h +++ b/app/commsdsl2emscripten/src/EmscriptenAllMessages.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenBitfieldField.cpp b/app/commsdsl2emscripten/src/EmscriptenBitfieldField.cpp index 7f8519ab..ebdbf2d3 100644 --- a/app/commsdsl2emscripten/src/EmscriptenBitfieldField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenBitfieldField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenBitfieldField.h b/app/commsdsl2emscripten/src/EmscriptenBitfieldField.h index 571747c6..0d8486ab 100644 --- a/app/commsdsl2emscripten/src/EmscriptenBitfieldField.h +++ b/app/commsdsl2emscripten/src/EmscriptenBitfieldField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenBundleField.cpp b/app/commsdsl2emscripten/src/EmscriptenBundleField.cpp index 231912e5..b655625b 100644 --- a/app/commsdsl2emscripten/src/EmscriptenBundleField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenBundleField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenBundleField.h b/app/commsdsl2emscripten/src/EmscriptenBundleField.h index be45ca7d..aeee3c2e 100644 --- a/app/commsdsl2emscripten/src/EmscriptenBundleField.h +++ b/app/commsdsl2emscripten/src/EmscriptenBundleField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenChecksumLayer.cpp b/app/commsdsl2emscripten/src/EmscriptenChecksumLayer.cpp index 26134ab4..45173db1 100644 --- a/app/commsdsl2emscripten/src/EmscriptenChecksumLayer.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenChecksumLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenChecksumLayer.h b/app/commsdsl2emscripten/src/EmscriptenChecksumLayer.h index 1dbd9145..1c955a42 100644 --- a/app/commsdsl2emscripten/src/EmscriptenChecksumLayer.h +++ b/app/commsdsl2emscripten/src/EmscriptenChecksumLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenCmake.cpp b/app/commsdsl2emscripten/src/EmscriptenCmake.cpp index 7aaf22cb..df638c6e 100644 --- a/app/commsdsl2emscripten/src/EmscriptenCmake.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenCmake.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenCmake.h b/app/commsdsl2emscripten/src/EmscriptenCmake.h index 3483ac36..3a30c943 100644 --- a/app/commsdsl2emscripten/src/EmscriptenCmake.h +++ b/app/commsdsl2emscripten/src/EmscriptenCmake.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenComms.cpp b/app/commsdsl2emscripten/src/EmscriptenComms.cpp index 53a9a9be..7b29397a 100644 --- a/app/commsdsl2emscripten/src/EmscriptenComms.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenComms.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenComms.h b/app/commsdsl2emscripten/src/EmscriptenComms.h index d6bd894f..d24f3350 100644 --- a/app/commsdsl2emscripten/src/EmscriptenComms.h +++ b/app/commsdsl2emscripten/src/EmscriptenComms.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenCustomLayer.cpp b/app/commsdsl2emscripten/src/EmscriptenCustomLayer.cpp index 0d214227..ecd9acca 100644 --- a/app/commsdsl2emscripten/src/EmscriptenCustomLayer.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenCustomLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenCustomLayer.h b/app/commsdsl2emscripten/src/EmscriptenCustomLayer.h index ec650566..fd7e4b13 100644 --- a/app/commsdsl2emscripten/src/EmscriptenCustomLayer.h +++ b/app/commsdsl2emscripten/src/EmscriptenCustomLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenDataBuf.cpp b/app/commsdsl2emscripten/src/EmscriptenDataBuf.cpp index 201266ca..fe13aa42 100644 --- a/app/commsdsl2emscripten/src/EmscriptenDataBuf.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenDataBuf.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenDataBuf.h b/app/commsdsl2emscripten/src/EmscriptenDataBuf.h index 056276de..cb71eda9 100644 --- a/app/commsdsl2emscripten/src/EmscriptenDataBuf.h +++ b/app/commsdsl2emscripten/src/EmscriptenDataBuf.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenDataField.cpp b/app/commsdsl2emscripten/src/EmscriptenDataField.cpp index 265b5133..8572899f 100644 --- a/app/commsdsl2emscripten/src/EmscriptenDataField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenDataField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenDataField.h b/app/commsdsl2emscripten/src/EmscriptenDataField.h index fccb6818..1d7ca8d2 100644 --- a/app/commsdsl2emscripten/src/EmscriptenDataField.h +++ b/app/commsdsl2emscripten/src/EmscriptenDataField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenEnumField.cpp b/app/commsdsl2emscripten/src/EmscriptenEnumField.cpp index f233e42a..4e2599ce 100644 --- a/app/commsdsl2emscripten/src/EmscriptenEnumField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenEnumField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenEnumField.h b/app/commsdsl2emscripten/src/EmscriptenEnumField.h index 78f38080..21755f5e 100644 --- a/app/commsdsl2emscripten/src/EmscriptenEnumField.h +++ b/app/commsdsl2emscripten/src/EmscriptenEnumField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenField.cpp b/app/commsdsl2emscripten/src/EmscriptenField.cpp index 1f51541d..2e108d0a 100644 --- a/app/commsdsl2emscripten/src/EmscriptenField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenField.h b/app/commsdsl2emscripten/src/EmscriptenField.h index ea67ba12..be97ed75 100644 --- a/app/commsdsl2emscripten/src/EmscriptenField.h +++ b/app/commsdsl2emscripten/src/EmscriptenField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenFloatField.cpp b/app/commsdsl2emscripten/src/EmscriptenFloatField.cpp index c8439839..ab57b014 100644 --- a/app/commsdsl2emscripten/src/EmscriptenFloatField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenFloatField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenFloatField.h b/app/commsdsl2emscripten/src/EmscriptenFloatField.h index e0061058..d6d89c14 100644 --- a/app/commsdsl2emscripten/src/EmscriptenFloatField.h +++ b/app/commsdsl2emscripten/src/EmscriptenFloatField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenFrame.cpp b/app/commsdsl2emscripten/src/EmscriptenFrame.cpp index b6a56391..12fe8cb7 100644 --- a/app/commsdsl2emscripten/src/EmscriptenFrame.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenFrame.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenFrame.h b/app/commsdsl2emscripten/src/EmscriptenFrame.h index f433a0bb..1cf4d2a5 100644 --- a/app/commsdsl2emscripten/src/EmscriptenFrame.h +++ b/app/commsdsl2emscripten/src/EmscriptenFrame.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2emscripten/src/EmscriptenGenerator.cpp b/app/commsdsl2emscripten/src/EmscriptenGenerator.cpp index 025c1d51..14388cf5 100644 --- a/app/commsdsl2emscripten/src/EmscriptenGenerator.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenGenerator.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenGenerator.h b/app/commsdsl2emscripten/src/EmscriptenGenerator.h index 5a5d82dc..20e5bb6a 100644 --- a/app/commsdsl2emscripten/src/EmscriptenGenerator.h +++ b/app/commsdsl2emscripten/src/EmscriptenGenerator.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenIdLayer.cpp b/app/commsdsl2emscripten/src/EmscriptenIdLayer.cpp index 6ec72f36..cfe023ab 100644 --- a/app/commsdsl2emscripten/src/EmscriptenIdLayer.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenIdLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenIdLayer.h b/app/commsdsl2emscripten/src/EmscriptenIdLayer.h index 5633cdaa..62a3296a 100644 --- a/app/commsdsl2emscripten/src/EmscriptenIdLayer.h +++ b/app/commsdsl2emscripten/src/EmscriptenIdLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenIntField.cpp b/app/commsdsl2emscripten/src/EmscriptenIntField.cpp index 8318d260..a5519fe1 100644 --- a/app/commsdsl2emscripten/src/EmscriptenIntField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenIntField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenIntField.h b/app/commsdsl2emscripten/src/EmscriptenIntField.h index f164ee5a..5d0d85b3 100644 --- a/app/commsdsl2emscripten/src/EmscriptenIntField.h +++ b/app/commsdsl2emscripten/src/EmscriptenIntField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenInterface.cpp b/app/commsdsl2emscripten/src/EmscriptenInterface.cpp index e2c97bc8..01d147dd 100644 --- a/app/commsdsl2emscripten/src/EmscriptenInterface.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenInterface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenInterface.h b/app/commsdsl2emscripten/src/EmscriptenInterface.h index a686fb32..e0741f1a 100644 --- a/app/commsdsl2emscripten/src/EmscriptenInterface.h +++ b/app/commsdsl2emscripten/src/EmscriptenInterface.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2emscripten/src/EmscriptenLayer.cpp b/app/commsdsl2emscripten/src/EmscriptenLayer.cpp index bf1859fd..7349b366 100644 --- a/app/commsdsl2emscripten/src/EmscriptenLayer.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenLayer.h b/app/commsdsl2emscripten/src/EmscriptenLayer.h index fdb5fb22..a3f93600 100644 --- a/app/commsdsl2emscripten/src/EmscriptenLayer.h +++ b/app/commsdsl2emscripten/src/EmscriptenLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenListField.cpp b/app/commsdsl2emscripten/src/EmscriptenListField.cpp index 3013a1d1..8df4fcff 100644 --- a/app/commsdsl2emscripten/src/EmscriptenListField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenListField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenListField.h b/app/commsdsl2emscripten/src/EmscriptenListField.h index 29cd25f7..23c8ac71 100644 --- a/app/commsdsl2emscripten/src/EmscriptenListField.h +++ b/app/commsdsl2emscripten/src/EmscriptenListField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenMessage.cpp b/app/commsdsl2emscripten/src/EmscriptenMessage.cpp index 54d058ec..855af772 100644 --- a/app/commsdsl2emscripten/src/EmscriptenMessage.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenMessage.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenMessage.h b/app/commsdsl2emscripten/src/EmscriptenMessage.h index 0e218392..e2b6cc71 100644 --- a/app/commsdsl2emscripten/src/EmscriptenMessage.h +++ b/app/commsdsl2emscripten/src/EmscriptenMessage.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2emscripten/src/EmscriptenMsgHandler.cpp b/app/commsdsl2emscripten/src/EmscriptenMsgHandler.cpp index e72477fd..aa8f2770 100644 --- a/app/commsdsl2emscripten/src/EmscriptenMsgHandler.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenMsgHandler.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenMsgHandler.h b/app/commsdsl2emscripten/src/EmscriptenMsgHandler.h index 72d92084..cc87a024 100644 --- a/app/commsdsl2emscripten/src/EmscriptenMsgHandler.h +++ b/app/commsdsl2emscripten/src/EmscriptenMsgHandler.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenMsgId.cpp b/app/commsdsl2emscripten/src/EmscriptenMsgId.cpp index 2aa27b5d..3680db88 100644 --- a/app/commsdsl2emscripten/src/EmscriptenMsgId.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenMsgId.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenMsgId.h b/app/commsdsl2emscripten/src/EmscriptenMsgId.h index af779f96..f91d3208 100644 --- a/app/commsdsl2emscripten/src/EmscriptenMsgId.h +++ b/app/commsdsl2emscripten/src/EmscriptenMsgId.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenNamespace.cpp b/app/commsdsl2emscripten/src/EmscriptenNamespace.cpp index 4d333138..5b60a0a3 100644 --- a/app/commsdsl2emscripten/src/EmscriptenNamespace.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenNamespace.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenNamespace.h b/app/commsdsl2emscripten/src/EmscriptenNamespace.h index c3738eb6..e0bbb1e2 100644 --- a/app/commsdsl2emscripten/src/EmscriptenNamespace.h +++ b/app/commsdsl2emscripten/src/EmscriptenNamespace.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2emscripten/src/EmscriptenOptionalField.cpp b/app/commsdsl2emscripten/src/EmscriptenOptionalField.cpp index 4961d855..c77450f8 100644 --- a/app/commsdsl2emscripten/src/EmscriptenOptionalField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenOptionalField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenOptionalField.h b/app/commsdsl2emscripten/src/EmscriptenOptionalField.h index 9d4e01ef..06da0c00 100644 --- a/app/commsdsl2emscripten/src/EmscriptenOptionalField.h +++ b/app/commsdsl2emscripten/src/EmscriptenOptionalField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenPayloadLayer.cpp b/app/commsdsl2emscripten/src/EmscriptenPayloadLayer.cpp index 4f2f14c1..4ce32976 100644 --- a/app/commsdsl2emscripten/src/EmscriptenPayloadLayer.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenPayloadLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenPayloadLayer.h b/app/commsdsl2emscripten/src/EmscriptenPayloadLayer.h index 09ba0d6c..b33ba76e 100644 --- a/app/commsdsl2emscripten/src/EmscriptenPayloadLayer.h +++ b/app/commsdsl2emscripten/src/EmscriptenPayloadLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenProgramOptions.cpp b/app/commsdsl2emscripten/src/EmscriptenProgramOptions.cpp index 350eaede..eae157cd 100644 --- a/app/commsdsl2emscripten/src/EmscriptenProgramOptions.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenProgramOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenProgramOptions.h b/app/commsdsl2emscripten/src/EmscriptenProgramOptions.h index 8d994265..9548a002 100644 --- a/app/commsdsl2emscripten/src/EmscriptenProgramOptions.h +++ b/app/commsdsl2emscripten/src/EmscriptenProgramOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.cpp b/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.cpp index f724358a..f9b58fa2 100644 --- a/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.h b/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.h index 5a633dde..7e3d69c7 100644 --- a/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.h +++ b/app/commsdsl2emscripten/src/EmscriptenProtocolOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenRefField.cpp b/app/commsdsl2emscripten/src/EmscriptenRefField.cpp index 835359f7..78b7a72d 100644 --- a/app/commsdsl2emscripten/src/EmscriptenRefField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenRefField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenRefField.h b/app/commsdsl2emscripten/src/EmscriptenRefField.h index 97a2746e..ce3ba43b 100644 --- a/app/commsdsl2emscripten/src/EmscriptenRefField.h +++ b/app/commsdsl2emscripten/src/EmscriptenRefField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenSchema.cpp b/app/commsdsl2emscripten/src/EmscriptenSchema.cpp index 71278f97..5f60dc3d 100644 --- a/app/commsdsl2emscripten/src/EmscriptenSchema.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenSchema.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenSchema.h b/app/commsdsl2emscripten/src/EmscriptenSchema.h index 79ca817c..453042b6 100644 --- a/app/commsdsl2emscripten/src/EmscriptenSchema.h +++ b/app/commsdsl2emscripten/src/EmscriptenSchema.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2emscripten/src/EmscriptenSetField.cpp b/app/commsdsl2emscripten/src/EmscriptenSetField.cpp index b45565e0..8c50ac0f 100644 --- a/app/commsdsl2emscripten/src/EmscriptenSetField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenSetField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenSetField.h b/app/commsdsl2emscripten/src/EmscriptenSetField.h index d112adf8..3b83c116 100644 --- a/app/commsdsl2emscripten/src/EmscriptenSetField.h +++ b/app/commsdsl2emscripten/src/EmscriptenSetField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenSizeLayer.cpp b/app/commsdsl2emscripten/src/EmscriptenSizeLayer.cpp index 12742ad2..211b09b1 100644 --- a/app/commsdsl2emscripten/src/EmscriptenSizeLayer.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenSizeLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenSizeLayer.h b/app/commsdsl2emscripten/src/EmscriptenSizeLayer.h index fddc9851..efa99733 100644 --- a/app/commsdsl2emscripten/src/EmscriptenSizeLayer.h +++ b/app/commsdsl2emscripten/src/EmscriptenSizeLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenStringField.cpp b/app/commsdsl2emscripten/src/EmscriptenStringField.cpp index bc5e817c..53e254ee 100644 --- a/app/commsdsl2emscripten/src/EmscriptenStringField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenStringField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenStringField.h b/app/commsdsl2emscripten/src/EmscriptenStringField.h index 8d146d62..1d5c2f10 100644 --- a/app/commsdsl2emscripten/src/EmscriptenStringField.h +++ b/app/commsdsl2emscripten/src/EmscriptenStringField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenSyncLayer.cpp b/app/commsdsl2emscripten/src/EmscriptenSyncLayer.cpp index 3f4515d1..1e653bc2 100644 --- a/app/commsdsl2emscripten/src/EmscriptenSyncLayer.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenSyncLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenSyncLayer.h b/app/commsdsl2emscripten/src/EmscriptenSyncLayer.h index c2f31370..704d85e9 100644 --- a/app/commsdsl2emscripten/src/EmscriptenSyncLayer.h +++ b/app/commsdsl2emscripten/src/EmscriptenSyncLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenValueLayer.cpp b/app/commsdsl2emscripten/src/EmscriptenValueLayer.cpp index bdf32e5f..a87aac14 100644 --- a/app/commsdsl2emscripten/src/EmscriptenValueLayer.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenValueLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenValueLayer.h b/app/commsdsl2emscripten/src/EmscriptenValueLayer.h index b88e9550..2018d93a 100644 --- a/app/commsdsl2emscripten/src/EmscriptenValueLayer.h +++ b/app/commsdsl2emscripten/src/EmscriptenValueLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenVariantField.cpp b/app/commsdsl2emscripten/src/EmscriptenVariantField.cpp index 9c489ca3..6bb79359 100644 --- a/app/commsdsl2emscripten/src/EmscriptenVariantField.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenVariantField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenVariantField.h b/app/commsdsl2emscripten/src/EmscriptenVariantField.h index 4d92f118..6adb5b23 100644 --- a/app/commsdsl2emscripten/src/EmscriptenVariantField.h +++ b/app/commsdsl2emscripten/src/EmscriptenVariantField.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenVersion.cpp b/app/commsdsl2emscripten/src/EmscriptenVersion.cpp index dcb39188..8f9c789e 100644 --- a/app/commsdsl2emscripten/src/EmscriptenVersion.cpp +++ b/app/commsdsl2emscripten/src/EmscriptenVersion.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/EmscriptenVersion.h b/app/commsdsl2emscripten/src/EmscriptenVersion.h index 17932d07..775d517d 100644 --- a/app/commsdsl2emscripten/src/EmscriptenVersion.h +++ b/app/commsdsl2emscripten/src/EmscriptenVersion.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2emscripten/src/main.cpp b/app/commsdsl2emscripten/src/main.cpp index e074784b..2ba99fa1 100644 --- a/app/commsdsl2emscripten/src/main.cpp +++ b/app/commsdsl2emscripten/src/main.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/Swig.cpp b/app/commsdsl2swig/src/Swig.cpp index 05170575..367b9b1d 100644 --- a/app/commsdsl2swig/src/Swig.cpp +++ b/app/commsdsl2swig/src/Swig.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/Swig.h b/app/commsdsl2swig/src/Swig.h index 12d62640..b52e0f39 100644 --- a/app/commsdsl2swig/src/Swig.h +++ b/app/commsdsl2swig/src/Swig.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigAllMessages.cpp b/app/commsdsl2swig/src/SwigAllMessages.cpp index 4226bdf0..b955ef1c 100644 --- a/app/commsdsl2swig/src/SwigAllMessages.cpp +++ b/app/commsdsl2swig/src/SwigAllMessages.cpp @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigAllMessages.h b/app/commsdsl2swig/src/SwigAllMessages.h index 68fce588..1f09faa8 100644 --- a/app/commsdsl2swig/src/SwigAllMessages.h +++ b/app/commsdsl2swig/src/SwigAllMessages.h @@ -1,5 +1,5 @@ // -// Copyright 2022 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigBitfieldField.cpp b/app/commsdsl2swig/src/SwigBitfieldField.cpp index 7a0a4ba3..69a49651 100644 --- a/app/commsdsl2swig/src/SwigBitfieldField.cpp +++ b/app/commsdsl2swig/src/SwigBitfieldField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigBitfieldField.h b/app/commsdsl2swig/src/SwigBitfieldField.h index 4311aed0..6d2b9b92 100644 --- a/app/commsdsl2swig/src/SwigBitfieldField.h +++ b/app/commsdsl2swig/src/SwigBitfieldField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigBundleField.cpp b/app/commsdsl2swig/src/SwigBundleField.cpp index 4216b2ca..db69e76c 100644 --- a/app/commsdsl2swig/src/SwigBundleField.cpp +++ b/app/commsdsl2swig/src/SwigBundleField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigBundleField.h b/app/commsdsl2swig/src/SwigBundleField.h index 2ad80857..a9c4f8c8 100644 --- a/app/commsdsl2swig/src/SwigBundleField.h +++ b/app/commsdsl2swig/src/SwigBundleField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigChecksumLayer.cpp b/app/commsdsl2swig/src/SwigChecksumLayer.cpp index d09cac4b..5edb9294 100644 --- a/app/commsdsl2swig/src/SwigChecksumLayer.cpp +++ b/app/commsdsl2swig/src/SwigChecksumLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigChecksumLayer.h b/app/commsdsl2swig/src/SwigChecksumLayer.h index 2ce354c9..564ab534 100644 --- a/app/commsdsl2swig/src/SwigChecksumLayer.h +++ b/app/commsdsl2swig/src/SwigChecksumLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigCmake.cpp b/app/commsdsl2swig/src/SwigCmake.cpp index 53bf7acd..04a999b9 100644 --- a/app/commsdsl2swig/src/SwigCmake.cpp +++ b/app/commsdsl2swig/src/SwigCmake.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigCmake.h b/app/commsdsl2swig/src/SwigCmake.h index 7fefa13e..263c24b7 100644 --- a/app/commsdsl2swig/src/SwigCmake.h +++ b/app/commsdsl2swig/src/SwigCmake.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigComms.cpp b/app/commsdsl2swig/src/SwigComms.cpp index 24de2e6a..423bf9e2 100644 --- a/app/commsdsl2swig/src/SwigComms.cpp +++ b/app/commsdsl2swig/src/SwigComms.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigComms.h b/app/commsdsl2swig/src/SwigComms.h index a38733ae..ac4b80d1 100644 --- a/app/commsdsl2swig/src/SwigComms.h +++ b/app/commsdsl2swig/src/SwigComms.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigCustomLayer.cpp b/app/commsdsl2swig/src/SwigCustomLayer.cpp index e2f987a7..45803a2d 100644 --- a/app/commsdsl2swig/src/SwigCustomLayer.cpp +++ b/app/commsdsl2swig/src/SwigCustomLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigCustomLayer.h b/app/commsdsl2swig/src/SwigCustomLayer.h index aa6a3394..0a55f926 100644 --- a/app/commsdsl2swig/src/SwigCustomLayer.h +++ b/app/commsdsl2swig/src/SwigCustomLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigDataBuf.cpp b/app/commsdsl2swig/src/SwigDataBuf.cpp index afb99cda..f2b40fd3 100644 --- a/app/commsdsl2swig/src/SwigDataBuf.cpp +++ b/app/commsdsl2swig/src/SwigDataBuf.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigDataBuf.h b/app/commsdsl2swig/src/SwigDataBuf.h index 867f624a..dfc33287 100644 --- a/app/commsdsl2swig/src/SwigDataBuf.h +++ b/app/commsdsl2swig/src/SwigDataBuf.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigDataField.cpp b/app/commsdsl2swig/src/SwigDataField.cpp index 9a2b9b11..26d645c1 100644 --- a/app/commsdsl2swig/src/SwigDataField.cpp +++ b/app/commsdsl2swig/src/SwigDataField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigDataField.h b/app/commsdsl2swig/src/SwigDataField.h index 20cdfcfd..f6ef3915 100644 --- a/app/commsdsl2swig/src/SwigDataField.h +++ b/app/commsdsl2swig/src/SwigDataField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigEnumField.cpp b/app/commsdsl2swig/src/SwigEnumField.cpp index 60cb680f..a6bdcd26 100644 --- a/app/commsdsl2swig/src/SwigEnumField.cpp +++ b/app/commsdsl2swig/src/SwigEnumField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigEnumField.h b/app/commsdsl2swig/src/SwigEnumField.h index 4672718e..5166917d 100644 --- a/app/commsdsl2swig/src/SwigEnumField.h +++ b/app/commsdsl2swig/src/SwigEnumField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigField.cpp b/app/commsdsl2swig/src/SwigField.cpp index ff455bad..3452f875 100644 --- a/app/commsdsl2swig/src/SwigField.cpp +++ b/app/commsdsl2swig/src/SwigField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigField.h b/app/commsdsl2swig/src/SwigField.h index e24ab022..e34c4c52 100644 --- a/app/commsdsl2swig/src/SwigField.h +++ b/app/commsdsl2swig/src/SwigField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigFloatField.cpp b/app/commsdsl2swig/src/SwigFloatField.cpp index 88c88908..a0a6a00c 100644 --- a/app/commsdsl2swig/src/SwigFloatField.cpp +++ b/app/commsdsl2swig/src/SwigFloatField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigFloatField.h b/app/commsdsl2swig/src/SwigFloatField.h index d9a2a9aa..a0daa74b 100644 --- a/app/commsdsl2swig/src/SwigFloatField.h +++ b/app/commsdsl2swig/src/SwigFloatField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigFrame.cpp b/app/commsdsl2swig/src/SwigFrame.cpp index 19c6705d..3c106730 100644 --- a/app/commsdsl2swig/src/SwigFrame.cpp +++ b/app/commsdsl2swig/src/SwigFrame.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigFrame.h b/app/commsdsl2swig/src/SwigFrame.h index 7430572b..48c0db8e 100644 --- a/app/commsdsl2swig/src/SwigFrame.h +++ b/app/commsdsl2swig/src/SwigFrame.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2swig/src/SwigGenerator.cpp b/app/commsdsl2swig/src/SwigGenerator.cpp index a45e416f..19dfcad6 100644 --- a/app/commsdsl2swig/src/SwigGenerator.cpp +++ b/app/commsdsl2swig/src/SwigGenerator.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigGenerator.h b/app/commsdsl2swig/src/SwigGenerator.h index c16d7264..ae8c2da6 100644 --- a/app/commsdsl2swig/src/SwigGenerator.h +++ b/app/commsdsl2swig/src/SwigGenerator.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigIdLayer.cpp b/app/commsdsl2swig/src/SwigIdLayer.cpp index 1a8e712e..0ad72859 100644 --- a/app/commsdsl2swig/src/SwigIdLayer.cpp +++ b/app/commsdsl2swig/src/SwigIdLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigIdLayer.h b/app/commsdsl2swig/src/SwigIdLayer.h index 464dbdf1..a626740d 100644 --- a/app/commsdsl2swig/src/SwigIdLayer.h +++ b/app/commsdsl2swig/src/SwigIdLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigIntField.cpp b/app/commsdsl2swig/src/SwigIntField.cpp index c1c64026..e0b702a4 100644 --- a/app/commsdsl2swig/src/SwigIntField.cpp +++ b/app/commsdsl2swig/src/SwigIntField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigIntField.h b/app/commsdsl2swig/src/SwigIntField.h index 42c5c537..4afc3808 100644 --- a/app/commsdsl2swig/src/SwigIntField.h +++ b/app/commsdsl2swig/src/SwigIntField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigInterface.cpp b/app/commsdsl2swig/src/SwigInterface.cpp index da9fe315..0e798970 100644 --- a/app/commsdsl2swig/src/SwigInterface.cpp +++ b/app/commsdsl2swig/src/SwigInterface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigInterface.h b/app/commsdsl2swig/src/SwigInterface.h index a389e7ca..50b96f9c 100644 --- a/app/commsdsl2swig/src/SwigInterface.h +++ b/app/commsdsl2swig/src/SwigInterface.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2swig/src/SwigLayer.cpp b/app/commsdsl2swig/src/SwigLayer.cpp index f141d8fa..a63b617f 100644 --- a/app/commsdsl2swig/src/SwigLayer.cpp +++ b/app/commsdsl2swig/src/SwigLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigLayer.h b/app/commsdsl2swig/src/SwigLayer.h index 5b66bb26..318e0bad 100644 --- a/app/commsdsl2swig/src/SwigLayer.h +++ b/app/commsdsl2swig/src/SwigLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigListField.cpp b/app/commsdsl2swig/src/SwigListField.cpp index 4516c0e6..88918a6a 100644 --- a/app/commsdsl2swig/src/SwigListField.cpp +++ b/app/commsdsl2swig/src/SwigListField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigListField.h b/app/commsdsl2swig/src/SwigListField.h index d6096461..b49b94e7 100644 --- a/app/commsdsl2swig/src/SwigListField.h +++ b/app/commsdsl2swig/src/SwigListField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigMessage.cpp b/app/commsdsl2swig/src/SwigMessage.cpp index 03f8b539..50862d14 100644 --- a/app/commsdsl2swig/src/SwigMessage.cpp +++ b/app/commsdsl2swig/src/SwigMessage.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigMessage.h b/app/commsdsl2swig/src/SwigMessage.h index 543cc09c..618e3f05 100644 --- a/app/commsdsl2swig/src/SwigMessage.h +++ b/app/commsdsl2swig/src/SwigMessage.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2swig/src/SwigMsgHandler.cpp b/app/commsdsl2swig/src/SwigMsgHandler.cpp index 7cc62b17..ec0f0f2c 100644 --- a/app/commsdsl2swig/src/SwigMsgHandler.cpp +++ b/app/commsdsl2swig/src/SwigMsgHandler.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigMsgHandler.h b/app/commsdsl2swig/src/SwigMsgHandler.h index 6022ad20..989292f5 100644 --- a/app/commsdsl2swig/src/SwigMsgHandler.h +++ b/app/commsdsl2swig/src/SwigMsgHandler.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigMsgId.cpp b/app/commsdsl2swig/src/SwigMsgId.cpp index 4cbcd3ba..f3f04cf3 100644 --- a/app/commsdsl2swig/src/SwigMsgId.cpp +++ b/app/commsdsl2swig/src/SwigMsgId.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigMsgId.h b/app/commsdsl2swig/src/SwigMsgId.h index 43fb95a8..0497feb4 100644 --- a/app/commsdsl2swig/src/SwigMsgId.h +++ b/app/commsdsl2swig/src/SwigMsgId.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigNamespace.cpp b/app/commsdsl2swig/src/SwigNamespace.cpp index e138703e..1af53a85 100644 --- a/app/commsdsl2swig/src/SwigNamespace.cpp +++ b/app/commsdsl2swig/src/SwigNamespace.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigNamespace.h b/app/commsdsl2swig/src/SwigNamespace.h index 2078e3d5..0b6aaea5 100644 --- a/app/commsdsl2swig/src/SwigNamespace.h +++ b/app/commsdsl2swig/src/SwigNamespace.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2swig/src/SwigOptionalField.cpp b/app/commsdsl2swig/src/SwigOptionalField.cpp index 275cba36..3c4b0bbd 100644 --- a/app/commsdsl2swig/src/SwigOptionalField.cpp +++ b/app/commsdsl2swig/src/SwigOptionalField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigOptionalField.h b/app/commsdsl2swig/src/SwigOptionalField.h index ba462d7a..e4afcc79 100644 --- a/app/commsdsl2swig/src/SwigOptionalField.h +++ b/app/commsdsl2swig/src/SwigOptionalField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigPayloadLayer.cpp b/app/commsdsl2swig/src/SwigPayloadLayer.cpp index 0b0c725c..c207d7e3 100644 --- a/app/commsdsl2swig/src/SwigPayloadLayer.cpp +++ b/app/commsdsl2swig/src/SwigPayloadLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigPayloadLayer.h b/app/commsdsl2swig/src/SwigPayloadLayer.h index c3ab81cb..06ad7490 100644 --- a/app/commsdsl2swig/src/SwigPayloadLayer.h +++ b/app/commsdsl2swig/src/SwigPayloadLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigProgramOptions.cpp b/app/commsdsl2swig/src/SwigProgramOptions.cpp index 0e6fd1cf..43dde46c 100644 --- a/app/commsdsl2swig/src/SwigProgramOptions.cpp +++ b/app/commsdsl2swig/src/SwigProgramOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigProgramOptions.h b/app/commsdsl2swig/src/SwigProgramOptions.h index 11ae03ef..bffd650b 100644 --- a/app/commsdsl2swig/src/SwigProgramOptions.h +++ b/app/commsdsl2swig/src/SwigProgramOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigProtocolOptions.cpp b/app/commsdsl2swig/src/SwigProtocolOptions.cpp index 2d49c292..0af21654 100644 --- a/app/commsdsl2swig/src/SwigProtocolOptions.cpp +++ b/app/commsdsl2swig/src/SwigProtocolOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigProtocolOptions.h b/app/commsdsl2swig/src/SwigProtocolOptions.h index c3716e80..c7080945 100644 --- a/app/commsdsl2swig/src/SwigProtocolOptions.h +++ b/app/commsdsl2swig/src/SwigProtocolOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigRefField.cpp b/app/commsdsl2swig/src/SwigRefField.cpp index d97aa410..5da7cac0 100644 --- a/app/commsdsl2swig/src/SwigRefField.cpp +++ b/app/commsdsl2swig/src/SwigRefField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigRefField.h b/app/commsdsl2swig/src/SwigRefField.h index 973559d8..620b53e4 100644 --- a/app/commsdsl2swig/src/SwigRefField.h +++ b/app/commsdsl2swig/src/SwigRefField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigSchema.cpp b/app/commsdsl2swig/src/SwigSchema.cpp index bb4c302f..90b67d37 100644 --- a/app/commsdsl2swig/src/SwigSchema.cpp +++ b/app/commsdsl2swig/src/SwigSchema.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigSchema.h b/app/commsdsl2swig/src/SwigSchema.h index 433b3bff..f1fd31f3 100644 --- a/app/commsdsl2swig/src/SwigSchema.h +++ b/app/commsdsl2swig/src/SwigSchema.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/app/commsdsl2swig/src/SwigSetField.cpp b/app/commsdsl2swig/src/SwigSetField.cpp index 93e783ee..6ac60ce0 100644 --- a/app/commsdsl2swig/src/SwigSetField.cpp +++ b/app/commsdsl2swig/src/SwigSetField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigSetField.h b/app/commsdsl2swig/src/SwigSetField.h index 5c5bacb6..3c425018 100644 --- a/app/commsdsl2swig/src/SwigSetField.h +++ b/app/commsdsl2swig/src/SwigSetField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigSizeLayer.cpp b/app/commsdsl2swig/src/SwigSizeLayer.cpp index c3b5ac8a..1142f860 100644 --- a/app/commsdsl2swig/src/SwigSizeLayer.cpp +++ b/app/commsdsl2swig/src/SwigSizeLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigSizeLayer.h b/app/commsdsl2swig/src/SwigSizeLayer.h index 5c15ddad..18fa228b 100644 --- a/app/commsdsl2swig/src/SwigSizeLayer.h +++ b/app/commsdsl2swig/src/SwigSizeLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigStringField.cpp b/app/commsdsl2swig/src/SwigStringField.cpp index 25220184..04b47cc2 100644 --- a/app/commsdsl2swig/src/SwigStringField.cpp +++ b/app/commsdsl2swig/src/SwigStringField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigStringField.h b/app/commsdsl2swig/src/SwigStringField.h index 18fa408b..89805e1e 100644 --- a/app/commsdsl2swig/src/SwigStringField.h +++ b/app/commsdsl2swig/src/SwigStringField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigSyncLayer.cpp b/app/commsdsl2swig/src/SwigSyncLayer.cpp index 15ef07ef..5b303aec 100644 --- a/app/commsdsl2swig/src/SwigSyncLayer.cpp +++ b/app/commsdsl2swig/src/SwigSyncLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigSyncLayer.h b/app/commsdsl2swig/src/SwigSyncLayer.h index 002897e0..5ccf3edf 100644 --- a/app/commsdsl2swig/src/SwigSyncLayer.h +++ b/app/commsdsl2swig/src/SwigSyncLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigValueLayer.cpp b/app/commsdsl2swig/src/SwigValueLayer.cpp index 54e4f39c..2541abe4 100644 --- a/app/commsdsl2swig/src/SwigValueLayer.cpp +++ b/app/commsdsl2swig/src/SwigValueLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigValueLayer.h b/app/commsdsl2swig/src/SwigValueLayer.h index eb425bd4..ed6ea4bd 100644 --- a/app/commsdsl2swig/src/SwigValueLayer.h +++ b/app/commsdsl2swig/src/SwigValueLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigVariantField.cpp b/app/commsdsl2swig/src/SwigVariantField.cpp index cce1e28f..20c1cd92 100644 --- a/app/commsdsl2swig/src/SwigVariantField.cpp +++ b/app/commsdsl2swig/src/SwigVariantField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigVariantField.h b/app/commsdsl2swig/src/SwigVariantField.h index b92dbdca..3f9bc646 100644 --- a/app/commsdsl2swig/src/SwigVariantField.h +++ b/app/commsdsl2swig/src/SwigVariantField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigVersion.cpp b/app/commsdsl2swig/src/SwigVersion.cpp index 7e7fce49..73cbd911 100644 --- a/app/commsdsl2swig/src/SwigVersion.cpp +++ b/app/commsdsl2swig/src/SwigVersion.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/SwigVersion.h b/app/commsdsl2swig/src/SwigVersion.h index ea59bac1..345a0734 100644 --- a/app/commsdsl2swig/src/SwigVersion.h +++ b/app/commsdsl2swig/src/SwigVersion.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2swig/src/main.cpp b/app/commsdsl2swig/src/main.cpp index 3aa322af..fb64e1e2 100644 --- a/app/commsdsl2swig/src/main.cpp +++ b/app/commsdsl2swig/src/main.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2test/src/Test.cpp b/app/commsdsl2test/src/Test.cpp index 779cefb1..cf55d6a9 100644 --- a/app/commsdsl2test/src/Test.cpp +++ b/app/commsdsl2test/src/Test.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2test/src/Test.h b/app/commsdsl2test/src/Test.h index 4d775f93..b72b5b20 100644 --- a/app/commsdsl2test/src/Test.h +++ b/app/commsdsl2test/src/Test.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2test/src/TestCmake.cpp b/app/commsdsl2test/src/TestCmake.cpp index 6f5fdcda..b0591b96 100644 --- a/app/commsdsl2test/src/TestCmake.cpp +++ b/app/commsdsl2test/src/TestCmake.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2test/src/TestCmake.h b/app/commsdsl2test/src/TestCmake.h index 1fcc3105..c509f682 100644 --- a/app/commsdsl2test/src/TestCmake.h +++ b/app/commsdsl2test/src/TestCmake.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2test/src/TestGenerator.cpp b/app/commsdsl2test/src/TestGenerator.cpp index 7b03a90a..0c96f97e 100644 --- a/app/commsdsl2test/src/TestGenerator.cpp +++ b/app/commsdsl2test/src/TestGenerator.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2test/src/TestGenerator.h b/app/commsdsl2test/src/TestGenerator.h index ead65e77..be715aad 100644 --- a/app/commsdsl2test/src/TestGenerator.h +++ b/app/commsdsl2test/src/TestGenerator.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2test/src/TestProgramOptions.cpp b/app/commsdsl2test/src/TestProgramOptions.cpp index 4c0d52f9..2d2f6910 100644 --- a/app/commsdsl2test/src/TestProgramOptions.cpp +++ b/app/commsdsl2test/src/TestProgramOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2test/src/TestProgramOptions.h b/app/commsdsl2test/src/TestProgramOptions.h index 59abbf91..bb699b53 100644 --- a/app/commsdsl2test/src/TestProgramOptions.h +++ b/app/commsdsl2test/src/TestProgramOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2test/src/main.cpp b/app/commsdsl2test/src/main.cpp index 1dd56681..73b84b0d 100644 --- a/app/commsdsl2test/src/main.cpp +++ b/app/commsdsl2test/src/main.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtBitfieldField.cpp b/app/commsdsl2tools_qt/src/ToolsQtBitfieldField.cpp index 7b6571af..83307497 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtBitfieldField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtBitfieldField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtBitfieldField.h b/app/commsdsl2tools_qt/src/ToolsQtBitfieldField.h index 1ee04ddf..4def772e 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtBitfieldField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtBitfieldField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtBundleField.cpp b/app/commsdsl2tools_qt/src/ToolsQtBundleField.cpp index b6550491..3a9fcfc8 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtBundleField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtBundleField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtBundleField.h b/app/commsdsl2tools_qt/src/ToolsQtBundleField.h index 41f8610c..bf28169d 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtBundleField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtBundleField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.cpp b/app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.cpp index 5fe98909..e77e47ae 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.h b/app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.h index aa641777..ad682543 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.h +++ b/app/commsdsl2tools_qt/src/ToolsQtChecksumLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp index e2a6bf1a..926779d0 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtCmake.h b/app/commsdsl2tools_qt/src/ToolsQtCmake.h index 7bd6ed5f..b551daaf 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCmake.h +++ b/app/commsdsl2tools_qt/src/ToolsQtCmake.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtCustomLayer.cpp b/app/commsdsl2tools_qt/src/ToolsQtCustomLayer.cpp index 01e92986..3fa39e23 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCustomLayer.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtCustomLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtCustomLayer.h b/app/commsdsl2tools_qt/src/ToolsQtCustomLayer.h index 29631a49..56d37390 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCustomLayer.h +++ b/app/commsdsl2tools_qt/src/ToolsQtCustomLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtDataField.cpp b/app/commsdsl2tools_qt/src/ToolsQtDataField.cpp index e3255968..f2670f96 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtDataField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtDataField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtDataField.h b/app/commsdsl2tools_qt/src/ToolsQtDataField.h index 01c4ae9d..688fbdb3 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtDataField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtDataField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.cpp b/app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.cpp index a92c53da..8da50ba1 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.h b/app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.h index b26e522c..e2b44f2e 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.h +++ b/app/commsdsl2tools_qt/src/ToolsQtDefaultOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtEnumField.cpp b/app/commsdsl2tools_qt/src/ToolsQtEnumField.cpp index ebb50c9a..2bb3dc00 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtEnumField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtEnumField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtEnumField.h b/app/commsdsl2tools_qt/src/ToolsQtEnumField.h index 14959875..1dfb6010 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtEnumField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtEnumField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtField.cpp b/app/commsdsl2tools_qt/src/ToolsQtField.cpp index 76da3648..a710d65f 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtField.h b/app/commsdsl2tools_qt/src/ToolsQtField.h index 2dfce44f..fe19d39b 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtFloatField.cpp b/app/commsdsl2tools_qt/src/ToolsQtFloatField.cpp index d29581ef..6767e176 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtFloatField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtFloatField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtFloatField.h b/app/commsdsl2tools_qt/src/ToolsQtFloatField.h index 3644afaf..72cfd2af 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtFloatField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtFloatField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtFrame.cpp b/app/commsdsl2tools_qt/src/ToolsQtFrame.cpp index e74d561b..573fab33 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtFrame.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtFrame.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtFrame.h b/app/commsdsl2tools_qt/src/ToolsQtFrame.h index a4043e56..7b746218 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtFrame.h +++ b/app/commsdsl2tools_qt/src/ToolsQtFrame.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp index 12cb0c6b..9df120cf 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtGenerator.h b/app/commsdsl2tools_qt/src/ToolsQtGenerator.h index d6015cfa..3043953c 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtGenerator.h +++ b/app/commsdsl2tools_qt/src/ToolsQtGenerator.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtIdLayer.cpp b/app/commsdsl2tools_qt/src/ToolsQtIdLayer.cpp index feb6b93b..7069f40b 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtIdLayer.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtIdLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtIdLayer.h b/app/commsdsl2tools_qt/src/ToolsQtIdLayer.h index e1c425c9..c20f7946 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtIdLayer.h +++ b/app/commsdsl2tools_qt/src/ToolsQtIdLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp b/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp index 8fd481bf..c451f735 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtInputMessages.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtInputMessages.h b/app/commsdsl2tools_qt/src/ToolsQtInputMessages.h index 81bd3df3..c460fb49 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtInputMessages.h +++ b/app/commsdsl2tools_qt/src/ToolsQtInputMessages.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtIntField.cpp b/app/commsdsl2tools_qt/src/ToolsQtIntField.cpp index 0ba64487..b5c61a39 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtIntField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtIntField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtIntField.h b/app/commsdsl2tools_qt/src/ToolsQtIntField.h index 6fe64b60..83eb277f 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtIntField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtIntField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtInterface.cpp b/app/commsdsl2tools_qt/src/ToolsQtInterface.cpp index 0c0bcb01..87aa53b5 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtInterface.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtInterface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtInterface.h b/app/commsdsl2tools_qt/src/ToolsQtInterface.h index a7e53df5..2abfdede 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtInterface.h +++ b/app/commsdsl2tools_qt/src/ToolsQtInterface.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtLayer.cpp b/app/commsdsl2tools_qt/src/ToolsQtLayer.cpp index 3a1ab4dc..336eaba6 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtLayer.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtLayer.h b/app/commsdsl2tools_qt/src/ToolsQtLayer.h index cb5a504a..e80f2a8e 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtLayer.h +++ b/app/commsdsl2tools_qt/src/ToolsQtLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtListField.cpp b/app/commsdsl2tools_qt/src/ToolsQtListField.cpp index 9af77519..05a21365 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtListField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtListField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtListField.h b/app/commsdsl2tools_qt/src/ToolsQtListField.h index 921656c8..7ab940dc 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtListField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtListField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtMessage.cpp b/app/commsdsl2tools_qt/src/ToolsQtMessage.cpp index 586e7162..bde04414 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtMessage.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtMessage.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtMessage.h b/app/commsdsl2tools_qt/src/ToolsQtMessage.h index b1ce487a..67245d72 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtMessage.h +++ b/app/commsdsl2tools_qt/src/ToolsQtMessage.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtMsgFactory.cpp b/app/commsdsl2tools_qt/src/ToolsQtMsgFactory.cpp index 0dd92ebf..3f7c3de1 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtMsgFactory.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtMsgFactory.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtMsgFactory.h b/app/commsdsl2tools_qt/src/ToolsQtMsgFactory.h index b76ef0f7..dc7a0a91 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtMsgFactory.h +++ b/app/commsdsl2tools_qt/src/ToolsQtMsgFactory.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.cpp b/app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.cpp index fa5205f1..7ed61111 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.h b/app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.h index 9eb16a8b..52a629d0 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.h +++ b/app/commsdsl2tools_qt/src/ToolsQtMsgFactoryOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtNamespace.cpp b/app/commsdsl2tools_qt/src/ToolsQtNamespace.cpp index 6bc6e8b3..e4adc3c6 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtNamespace.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtNamespace.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtNamespace.h b/app/commsdsl2tools_qt/src/ToolsQtNamespace.h index 8ff5db79..4dbc4272 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtNamespace.h +++ b/app/commsdsl2tools_qt/src/ToolsQtNamespace.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtOptionalField.cpp b/app/commsdsl2tools_qt/src/ToolsQtOptionalField.cpp index d3f9771b..f7587e85 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtOptionalField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtOptionalField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtOptionalField.h b/app/commsdsl2tools_qt/src/ToolsQtOptionalField.h index 292725eb..7774e70c 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtOptionalField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtOptionalField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.cpp b/app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.cpp index cca9f719..304bb12b 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.h b/app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.h index a94bee07..3348f2ca 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.h +++ b/app/commsdsl2tools_qt/src/ToolsQtPayloadLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp index 4e638950..3c5e3f65 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtPlugin.h b/app/commsdsl2tools_qt/src/ToolsQtPlugin.h index 5d677cf2..56671cd3 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPlugin.h +++ b/app/commsdsl2tools_qt/src/ToolsQtPlugin.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp index 9968e411..4d6563f1 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h index 0a127be6..2208ec8f 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h +++ b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtRefField.cpp b/app/commsdsl2tools_qt/src/ToolsQtRefField.cpp index 233d5d1a..c8f7c0c1 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtRefField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtRefField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtRefField.h b/app/commsdsl2tools_qt/src/ToolsQtRefField.h index ea11d07a..7bb99586 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtRefField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtRefField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtSetField.cpp b/app/commsdsl2tools_qt/src/ToolsQtSetField.cpp index 0f67553a..c34bddad 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtSetField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtSetField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtSetField.h b/app/commsdsl2tools_qt/src/ToolsQtSetField.h index c2c3e490..0b2e3195 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtSetField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtSetField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtSizeLayer.cpp b/app/commsdsl2tools_qt/src/ToolsQtSizeLayer.cpp index 5ac9d7af..949e93bf 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtSizeLayer.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtSizeLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtSizeLayer.h b/app/commsdsl2tools_qt/src/ToolsQtSizeLayer.h index 61fe3081..9d1804f4 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtSizeLayer.h +++ b/app/commsdsl2tools_qt/src/ToolsQtSizeLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtStringField.cpp b/app/commsdsl2tools_qt/src/ToolsQtStringField.cpp index 24e32281..9fffe5fa 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtStringField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtStringField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtStringField.h b/app/commsdsl2tools_qt/src/ToolsQtStringField.h index 87b0d57b..30e943a2 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtStringField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtStringField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtSyncLayer.cpp b/app/commsdsl2tools_qt/src/ToolsQtSyncLayer.cpp index 677183e3..6075d599 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtSyncLayer.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtSyncLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtSyncLayer.h b/app/commsdsl2tools_qt/src/ToolsQtSyncLayer.h index ff678dbc..a918f301 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtSyncLayer.h +++ b/app/commsdsl2tools_qt/src/ToolsQtSyncLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtValueLayer.cpp b/app/commsdsl2tools_qt/src/ToolsQtValueLayer.cpp index 2aac52ce..fd1b9ea0 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtValueLayer.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtValueLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtValueLayer.h b/app/commsdsl2tools_qt/src/ToolsQtValueLayer.h index 1724d7fe..13798570 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtValueLayer.h +++ b/app/commsdsl2tools_qt/src/ToolsQtValueLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtVariantField.cpp b/app/commsdsl2tools_qt/src/ToolsQtVariantField.cpp index 048240d4..76556a94 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtVariantField.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtVariantField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtVariantField.h b/app/commsdsl2tools_qt/src/ToolsQtVariantField.h index 056e1356..78d89e3c 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtVariantField.h +++ b/app/commsdsl2tools_qt/src/ToolsQtVariantField.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtVersion.cpp b/app/commsdsl2tools_qt/src/ToolsQtVersion.cpp index ef4f91ee..57eae121 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtVersion.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtVersion.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/ToolsQtVersion.h b/app/commsdsl2tools_qt/src/ToolsQtVersion.h index f258f0b7..67bbced7 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtVersion.h +++ b/app/commsdsl2tools_qt/src/ToolsQtVersion.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/app/commsdsl2tools_qt/src/main.cpp b/app/commsdsl2tools_qt/src/main.cpp index 0b20799e..15a09528 100644 --- a/app/commsdsl2tools_qt/src/main.cpp +++ b/app/commsdsl2tools_qt/src/main.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/README.md b/lib/README.md deleted file mode 100644 index fc506de9..00000000 --- a/lib/README.md +++ /dev/null @@ -1 +0,0 @@ -This is some personal research project, not for general use. diff --git a/lib/include/commsdsl/CommsdslApi.h b/lib/include/commsdsl/CommsdslApi.h index 2c45e92e..0a54633f 100644 --- a/lib/include/commsdsl/CommsdslApi.h +++ b/lib/include/commsdsl/CommsdslApi.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/gen/BitfieldField.h b/lib/include/commsdsl/gen/BitfieldField.h index f243b5e0..67a88d6d 100644 --- a/lib/include/commsdsl/gen/BitfieldField.h +++ b/lib/include/commsdsl/gen/BitfieldField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/BundleField.h b/lib/include/commsdsl/gen/BundleField.h index e097565a..05d3ce8d 100644 --- a/lib/include/commsdsl/gen/BundleField.h +++ b/lib/include/commsdsl/gen/BundleField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/ChecksumLayer.h b/lib/include/commsdsl/gen/ChecksumLayer.h index 1ac3e458..de0c8fe7 100644 --- a/lib/include/commsdsl/gen/ChecksumLayer.h +++ b/lib/include/commsdsl/gen/ChecksumLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/CustomLayer.h b/lib/include/commsdsl/gen/CustomLayer.h index bff42f4f..31616e8b 100644 --- a/lib/include/commsdsl/gen/CustomLayer.h +++ b/lib/include/commsdsl/gen/CustomLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/DataField.h b/lib/include/commsdsl/gen/DataField.h index 1dc89de6..37455bdc 100644 --- a/lib/include/commsdsl/gen/DataField.h +++ b/lib/include/commsdsl/gen/DataField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/Elem.h b/lib/include/commsdsl/gen/Elem.h index f0aefcb5..66c84df5 100644 --- a/lib/include/commsdsl/gen/Elem.h +++ b/lib/include/commsdsl/gen/Elem.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/EnumField.h b/lib/include/commsdsl/gen/EnumField.h index 919f39c0..377bd6da 100644 --- a/lib/include/commsdsl/gen/EnumField.h +++ b/lib/include/commsdsl/gen/EnumField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/Field.h b/lib/include/commsdsl/gen/Field.h index de7391ff..4c6b83bf 100644 --- a/lib/include/commsdsl/gen/Field.h +++ b/lib/include/commsdsl/gen/Field.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/FloatField.h b/lib/include/commsdsl/gen/FloatField.h index 2db23d31..27675370 100644 --- a/lib/include/commsdsl/gen/FloatField.h +++ b/lib/include/commsdsl/gen/FloatField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/Frame.h b/lib/include/commsdsl/gen/Frame.h index c377ac4f..6c0be6ad 100644 --- a/lib/include/commsdsl/gen/Frame.h +++ b/lib/include/commsdsl/gen/Frame.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/Generator.h b/lib/include/commsdsl/gen/Generator.h index 88275b98..37bf56c6 100644 --- a/lib/include/commsdsl/gen/Generator.h +++ b/lib/include/commsdsl/gen/Generator.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/IdLayer.h b/lib/include/commsdsl/gen/IdLayer.h index 944e2dff..6fcef138 100644 --- a/lib/include/commsdsl/gen/IdLayer.h +++ b/lib/include/commsdsl/gen/IdLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/IntField.h b/lib/include/commsdsl/gen/IntField.h index be4daec0..e44fb742 100644 --- a/lib/include/commsdsl/gen/IntField.h +++ b/lib/include/commsdsl/gen/IntField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/Interface.h b/lib/include/commsdsl/gen/Interface.h index e5caae18..3506e01b 100644 --- a/lib/include/commsdsl/gen/Interface.h +++ b/lib/include/commsdsl/gen/Interface.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/Layer.h b/lib/include/commsdsl/gen/Layer.h index b2744973..c76eb8d7 100644 --- a/lib/include/commsdsl/gen/Layer.h +++ b/lib/include/commsdsl/gen/Layer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/ListField.h b/lib/include/commsdsl/gen/ListField.h index d25c53d3..39ec9f97 100644 --- a/lib/include/commsdsl/gen/ListField.h +++ b/lib/include/commsdsl/gen/ListField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/Logger.h b/lib/include/commsdsl/gen/Logger.h index 372fc10c..0001ebf8 100644 --- a/lib/include/commsdsl/gen/Logger.h +++ b/lib/include/commsdsl/gen/Logger.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/gen/Message.h b/lib/include/commsdsl/gen/Message.h index 01ec3246..8e8023ac 100644 --- a/lib/include/commsdsl/gen/Message.h +++ b/lib/include/commsdsl/gen/Message.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/Namespace.h b/lib/include/commsdsl/gen/Namespace.h index 33fabfb0..e8aa928b 100644 --- a/lib/include/commsdsl/gen/Namespace.h +++ b/lib/include/commsdsl/gen/Namespace.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/OptionalField.h b/lib/include/commsdsl/gen/OptionalField.h index f97d9fad..8145fd79 100644 --- a/lib/include/commsdsl/gen/OptionalField.h +++ b/lib/include/commsdsl/gen/OptionalField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/PayloadLayer.h b/lib/include/commsdsl/gen/PayloadLayer.h index 25119dc9..e2a57f32 100644 --- a/lib/include/commsdsl/gen/PayloadLayer.h +++ b/lib/include/commsdsl/gen/PayloadLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/ProgramOptions.h b/lib/include/commsdsl/gen/ProgramOptions.h index fa088319..58944618 100644 --- a/lib/include/commsdsl/gen/ProgramOptions.h +++ b/lib/include/commsdsl/gen/ProgramOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/RefField.h b/lib/include/commsdsl/gen/RefField.h index bd5c1f9e..11cb6238 100644 --- a/lib/include/commsdsl/gen/RefField.h +++ b/lib/include/commsdsl/gen/RefField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/Schema.h b/lib/include/commsdsl/gen/Schema.h index f8a9fa78..33f38aaf 100644 --- a/lib/include/commsdsl/gen/Schema.h +++ b/lib/include/commsdsl/gen/Schema.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/SetField.h b/lib/include/commsdsl/gen/SetField.h index 4a0ee105..13f9863b 100644 --- a/lib/include/commsdsl/gen/SetField.h +++ b/lib/include/commsdsl/gen/SetField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/SizeLayer.h b/lib/include/commsdsl/gen/SizeLayer.h index f7469b39..e484ad79 100644 --- a/lib/include/commsdsl/gen/SizeLayer.h +++ b/lib/include/commsdsl/gen/SizeLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/StringField.h b/lib/include/commsdsl/gen/StringField.h index 14126d22..c915f9ef 100644 --- a/lib/include/commsdsl/gen/StringField.h +++ b/lib/include/commsdsl/gen/StringField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/SyncLayer.h b/lib/include/commsdsl/gen/SyncLayer.h index 7bdc5cda..7de08fbd 100644 --- a/lib/include/commsdsl/gen/SyncLayer.h +++ b/lib/include/commsdsl/gen/SyncLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/ValueLayer.h b/lib/include/commsdsl/gen/ValueLayer.h index 66539362..86479ceb 100644 --- a/lib/include/commsdsl/gen/ValueLayer.h +++ b/lib/include/commsdsl/gen/ValueLayer.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/gen/VariantField.h b/lib/include/commsdsl/gen/VariantField.h index 5a6d46af..e2675592 100644 --- a/lib/include/commsdsl/gen/VariantField.h +++ b/lib/include/commsdsl/gen/VariantField.h @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/include/commsdsl/parse/Alias.h b/lib/include/commsdsl/parse/Alias.h index b4c1a40c..36c053b4 100644 --- a/lib/include/commsdsl/parse/Alias.h +++ b/lib/include/commsdsl/parse/Alias.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/BitfieldField.h b/lib/include/commsdsl/parse/BitfieldField.h index 4864bf67..ebc8ac32 100644 --- a/lib/include/commsdsl/parse/BitfieldField.h +++ b/lib/include/commsdsl/parse/BitfieldField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/BundleField.h b/lib/include/commsdsl/parse/BundleField.h index 726fe0d1..cd130214 100644 --- a/lib/include/commsdsl/parse/BundleField.h +++ b/lib/include/commsdsl/parse/BundleField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/DataField.h b/lib/include/commsdsl/parse/DataField.h index bc3ea36e..2a03afd5 100644 --- a/lib/include/commsdsl/parse/DataField.h +++ b/lib/include/commsdsl/parse/DataField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Endian.h b/lib/include/commsdsl/parse/Endian.h index 9268373e..2a1838e3 100644 --- a/lib/include/commsdsl/parse/Endian.h +++ b/lib/include/commsdsl/parse/Endian.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/EnumField.h b/lib/include/commsdsl/parse/EnumField.h index 458ff17b..4de3890a 100644 --- a/lib/include/commsdsl/parse/EnumField.h +++ b/lib/include/commsdsl/parse/EnumField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/ErrorLevel.h b/lib/include/commsdsl/parse/ErrorLevel.h index 7a7f91bd..8ce376a7 100644 --- a/lib/include/commsdsl/parse/ErrorLevel.h +++ b/lib/include/commsdsl/parse/ErrorLevel.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Field.h b/lib/include/commsdsl/parse/Field.h index fa40f706..7277a3cf 100644 --- a/lib/include/commsdsl/parse/Field.h +++ b/lib/include/commsdsl/parse/Field.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/FloatField.h b/lib/include/commsdsl/parse/FloatField.h index aed320d1..24798a2f 100644 --- a/lib/include/commsdsl/parse/FloatField.h +++ b/lib/include/commsdsl/parse/FloatField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Frame.h b/lib/include/commsdsl/parse/Frame.h index e3f68254..68efb1be 100644 --- a/lib/include/commsdsl/parse/Frame.h +++ b/lib/include/commsdsl/parse/Frame.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/IntField.h b/lib/include/commsdsl/parse/IntField.h index 6e1d7fa3..551cd82a 100644 --- a/lib/include/commsdsl/parse/IntField.h +++ b/lib/include/commsdsl/parse/IntField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Interface.h b/lib/include/commsdsl/parse/Interface.h index 9ab2644c..0005be8d 100644 --- a/lib/include/commsdsl/parse/Interface.h +++ b/lib/include/commsdsl/parse/Interface.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Layer.h b/lib/include/commsdsl/parse/Layer.h index 176bbb63..780c5915 100644 --- a/lib/include/commsdsl/parse/Layer.h +++ b/lib/include/commsdsl/parse/Layer.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/ListField.h b/lib/include/commsdsl/parse/ListField.h index 3fc49da3..03cfbc85 100644 --- a/lib/include/commsdsl/parse/ListField.h +++ b/lib/include/commsdsl/parse/ListField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Message.h b/lib/include/commsdsl/parse/Message.h index c46f6b32..c9921495 100644 --- a/lib/include/commsdsl/parse/Message.h +++ b/lib/include/commsdsl/parse/Message.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Namespace.h b/lib/include/commsdsl/parse/Namespace.h index e4838f96..3c998098 100644 --- a/lib/include/commsdsl/parse/Namespace.h +++ b/lib/include/commsdsl/parse/Namespace.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/OptCond.h b/lib/include/commsdsl/parse/OptCond.h index da06782b..1ce0f335 100644 --- a/lib/include/commsdsl/parse/OptCond.h +++ b/lib/include/commsdsl/parse/OptCond.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/OptionalField.h b/lib/include/commsdsl/parse/OptionalField.h index 9ddf4df3..b3a5fcec 100644 --- a/lib/include/commsdsl/parse/OptionalField.h +++ b/lib/include/commsdsl/parse/OptionalField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/OverrideType.h b/lib/include/commsdsl/parse/OverrideType.h index 0fa9ab6b..04188fbf 100644 --- a/lib/include/commsdsl/parse/OverrideType.h +++ b/lib/include/commsdsl/parse/OverrideType.h @@ -1,5 +1,5 @@ // -// Copyright 2022 (C). Alex Robenko. All rights reserved. +// Copyright 2022 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Protocol.h b/lib/include/commsdsl/parse/Protocol.h index 58e2f22c..e5f27d6c 100644 --- a/lib/include/commsdsl/parse/Protocol.h +++ b/lib/include/commsdsl/parse/Protocol.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/RefField.h b/lib/include/commsdsl/parse/RefField.h index 53abef29..f136b2ba 100644 --- a/lib/include/commsdsl/parse/RefField.h +++ b/lib/include/commsdsl/parse/RefField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Schema.h b/lib/include/commsdsl/parse/Schema.h index cd5e7f42..f3e0751f 100644 --- a/lib/include/commsdsl/parse/Schema.h +++ b/lib/include/commsdsl/parse/Schema.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/SetField.h b/lib/include/commsdsl/parse/SetField.h index 39979bf0..15e651f6 100644 --- a/lib/include/commsdsl/parse/SetField.h +++ b/lib/include/commsdsl/parse/SetField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/StringField.h b/lib/include/commsdsl/parse/StringField.h index 576d79a4..49c3e459 100644 --- a/lib/include/commsdsl/parse/StringField.h +++ b/lib/include/commsdsl/parse/StringField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/Units.h b/lib/include/commsdsl/parse/Units.h index 5d7a0629..36fe361b 100644 --- a/lib/include/commsdsl/parse/Units.h +++ b/lib/include/commsdsl/parse/Units.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/VariantField.h b/lib/include/commsdsl/parse/VariantField.h index c464d66c..85a3174c 100644 --- a/lib/include/commsdsl/parse/VariantField.h +++ b/lib/include/commsdsl/parse/VariantField.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/parse/commsdsl.h b/lib/include/commsdsl/parse/commsdsl.h index 51bbddd1..8d086635 100644 --- a/lib/include/commsdsl/parse/commsdsl.h +++ b/lib/include/commsdsl/parse/commsdsl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/include/commsdsl/version.h b/lib/include/commsdsl/version.h index 8040449b..f2469177 100644 --- a/lib/include/commsdsl/version.h +++ b/lib/include/commsdsl/version.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/BitfieldField.cpp b/lib/src/gen/BitfieldField.cpp index 54321119..f3e21abf 100644 --- a/lib/src/gen/BitfieldField.cpp +++ b/lib/src/gen/BitfieldField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/BundleField.cpp b/lib/src/gen/BundleField.cpp index dc2b6bd1..239a024f 100644 --- a/lib/src/gen/BundleField.cpp +++ b/lib/src/gen/BundleField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/ChecksumLayer.cpp b/lib/src/gen/ChecksumLayer.cpp index 7b50fa13..f5e00749 100644 --- a/lib/src/gen/ChecksumLayer.cpp +++ b/lib/src/gen/ChecksumLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/CustomLayer.cpp b/lib/src/gen/CustomLayer.cpp index 8142e2b7..1a0ac954 100644 --- a/lib/src/gen/CustomLayer.cpp +++ b/lib/src/gen/CustomLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/DataField.cpp b/lib/src/gen/DataField.cpp index 03326922..1c0d0bcc 100644 --- a/lib/src/gen/DataField.cpp +++ b/lib/src/gen/DataField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/Elem.cpp b/lib/src/gen/Elem.cpp index 569cb85c..a99f5882 100644 --- a/lib/src/gen/Elem.cpp +++ b/lib/src/gen/Elem.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/EnumField.cpp b/lib/src/gen/EnumField.cpp index 472596f6..1cb369db 100644 --- a/lib/src/gen/EnumField.cpp +++ b/lib/src/gen/EnumField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/Field.cpp b/lib/src/gen/Field.cpp index 765d49f8..89a1841c 100644 --- a/lib/src/gen/Field.cpp +++ b/lib/src/gen/Field.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/FloatField.cpp b/lib/src/gen/FloatField.cpp index eb57139c..25c4bc90 100644 --- a/lib/src/gen/FloatField.cpp +++ b/lib/src/gen/FloatField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/Frame.cpp b/lib/src/gen/Frame.cpp index 07caee46..b6231289 100644 --- a/lib/src/gen/Frame.cpp +++ b/lib/src/gen/Frame.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/Generator.cpp b/lib/src/gen/Generator.cpp index fe6450ef..1b45f9da 100644 --- a/lib/src/gen/Generator.cpp +++ b/lib/src/gen/Generator.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/IdLayer.cpp b/lib/src/gen/IdLayer.cpp index 05fb8aca..b75b7c20 100644 --- a/lib/src/gen/IdLayer.cpp +++ b/lib/src/gen/IdLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/IntField.cpp b/lib/src/gen/IntField.cpp index e03e9b93..89625be9 100644 --- a/lib/src/gen/IntField.cpp +++ b/lib/src/gen/IntField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/Interface.cpp b/lib/src/gen/Interface.cpp index 8d5f36a6..b602eb5b 100644 --- a/lib/src/gen/Interface.cpp +++ b/lib/src/gen/Interface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/Layer.cpp b/lib/src/gen/Layer.cpp index 3485fad0..d8bcd0b7 100644 --- a/lib/src/gen/Layer.cpp +++ b/lib/src/gen/Layer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/ListField.cpp b/lib/src/gen/ListField.cpp index c349fb51..889b6e1e 100644 --- a/lib/src/gen/ListField.cpp +++ b/lib/src/gen/ListField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/Logger.cpp b/lib/src/gen/Logger.cpp index fce51f44..3ba058fc 100644 --- a/lib/src/gen/Logger.cpp +++ b/lib/src/gen/Logger.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/gen/Message.cpp b/lib/src/gen/Message.cpp index fde700b5..70c089e4 100644 --- a/lib/src/gen/Message.cpp +++ b/lib/src/gen/Message.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/Namespace.cpp b/lib/src/gen/Namespace.cpp index 380cb9e5..20a306cf 100644 --- a/lib/src/gen/Namespace.cpp +++ b/lib/src/gen/Namespace.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/OptionalField.cpp b/lib/src/gen/OptionalField.cpp index d6d7b9a1..03c36684 100644 --- a/lib/src/gen/OptionalField.cpp +++ b/lib/src/gen/OptionalField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/PayloadLayer.cpp b/lib/src/gen/PayloadLayer.cpp index 3826511f..5c665da7 100644 --- a/lib/src/gen/PayloadLayer.cpp +++ b/lib/src/gen/PayloadLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/RefField.cpp b/lib/src/gen/RefField.cpp index 1ab0afad..5944fc81 100644 --- a/lib/src/gen/RefField.cpp +++ b/lib/src/gen/RefField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/Schema.cpp b/lib/src/gen/Schema.cpp index 690713af..04e3cff0 100644 --- a/lib/src/gen/Schema.cpp +++ b/lib/src/gen/Schema.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/SetField.cpp b/lib/src/gen/SetField.cpp index b084eaa2..ebdad84e 100644 --- a/lib/src/gen/SetField.cpp +++ b/lib/src/gen/SetField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/SizeLayer.cpp b/lib/src/gen/SizeLayer.cpp index 710a8723..fa09184f 100644 --- a/lib/src/gen/SizeLayer.cpp +++ b/lib/src/gen/SizeLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/StringField.cpp b/lib/src/gen/StringField.cpp index 12ed0e19..859f67e0 100644 --- a/lib/src/gen/StringField.cpp +++ b/lib/src/gen/StringField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/SyncLayer.cpp b/lib/src/gen/SyncLayer.cpp index cd8aa7d1..c64baa4e 100644 --- a/lib/src/gen/SyncLayer.cpp +++ b/lib/src/gen/SyncLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/ValueLayer.cpp b/lib/src/gen/ValueLayer.cpp index 3b73821d..71b8e27e 100644 --- a/lib/src/gen/ValueLayer.cpp +++ b/lib/src/gen/ValueLayer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/gen/VariantField.cpp b/lib/src/gen/VariantField.cpp index f5ce5580..79c03d49 100644 --- a/lib/src/gen/VariantField.cpp +++ b/lib/src/gen/VariantField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2021 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2021 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/lib/src/parse/Alias.cpp b/lib/src/parse/Alias.cpp index 03bc18c2..5be35fe1 100644 --- a/lib/src/parse/Alias.cpp +++ b/lib/src/parse/Alias.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/AliasImpl.cpp b/lib/src/parse/AliasImpl.cpp index 03d78735..46374f60 100644 --- a/lib/src/parse/AliasImpl.cpp +++ b/lib/src/parse/AliasImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/AliasImpl.h b/lib/src/parse/AliasImpl.h index 80a24fe9..027dbc85 100644 --- a/lib/src/parse/AliasImpl.h +++ b/lib/src/parse/AliasImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2019 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2019 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/BitfieldField.cpp b/lib/src/parse/BitfieldField.cpp index 041a9d0c..716e04e2 100644 --- a/lib/src/parse/BitfieldField.cpp +++ b/lib/src/parse/BitfieldField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/BitfieldFieldImpl.cpp b/lib/src/parse/BitfieldFieldImpl.cpp index d4f0125c..529a378a 100644 --- a/lib/src/parse/BitfieldFieldImpl.cpp +++ b/lib/src/parse/BitfieldFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/BitfieldFieldImpl.h b/lib/src/parse/BitfieldFieldImpl.h index e4d308a3..28df89fd 100644 --- a/lib/src/parse/BitfieldFieldImpl.h +++ b/lib/src/parse/BitfieldFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/BundleField.cpp b/lib/src/parse/BundleField.cpp index 4b7858dd..607ecaf6 100644 --- a/lib/src/parse/BundleField.cpp +++ b/lib/src/parse/BundleField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/BundleFieldImpl.cpp b/lib/src/parse/BundleFieldImpl.cpp index db2e0e51..ae684025 100644 --- a/lib/src/parse/BundleFieldImpl.cpp +++ b/lib/src/parse/BundleFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/BundleFieldImpl.h b/lib/src/parse/BundleFieldImpl.h index 5d7bd8f8..9f330470 100644 --- a/lib/src/parse/BundleFieldImpl.h +++ b/lib/src/parse/BundleFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/ChecksumLayerImpl.cpp b/lib/src/parse/ChecksumLayerImpl.cpp index abd85d00..f3d706b4 100644 --- a/lib/src/parse/ChecksumLayerImpl.cpp +++ b/lib/src/parse/ChecksumLayerImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/ChecksumLayerImpl.h b/lib/src/parse/ChecksumLayerImpl.h index da041174..e780b99b 100644 --- a/lib/src/parse/ChecksumLayerImpl.h +++ b/lib/src/parse/ChecksumLayerImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/CustomLayerImpl.cpp b/lib/src/parse/CustomLayerImpl.cpp index a8c80eed..d0ed78e4 100644 --- a/lib/src/parse/CustomLayerImpl.cpp +++ b/lib/src/parse/CustomLayerImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/CustomLayerImpl.h b/lib/src/parse/CustomLayerImpl.h index 9593268e..717af903 100644 --- a/lib/src/parse/CustomLayerImpl.h +++ b/lib/src/parse/CustomLayerImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/DataField.cpp b/lib/src/parse/DataField.cpp index a512a6e3..decb92dd 100644 --- a/lib/src/parse/DataField.cpp +++ b/lib/src/parse/DataField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/DataFieldImpl.cpp b/lib/src/parse/DataFieldImpl.cpp index 597f0059..78e99879 100644 --- a/lib/src/parse/DataFieldImpl.cpp +++ b/lib/src/parse/DataFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/DataFieldImpl.h b/lib/src/parse/DataFieldImpl.h index 8d295f42..3487e5fc 100644 --- a/lib/src/parse/DataFieldImpl.h +++ b/lib/src/parse/DataFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/EnumField.cpp b/lib/src/parse/EnumField.cpp index 627c1475..af27404b 100644 --- a/lib/src/parse/EnumField.cpp +++ b/lib/src/parse/EnumField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/EnumFieldImpl.cpp b/lib/src/parse/EnumFieldImpl.cpp index 03383b09..e555da44 100644 --- a/lib/src/parse/EnumFieldImpl.cpp +++ b/lib/src/parse/EnumFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/EnumFieldImpl.h b/lib/src/parse/EnumFieldImpl.h index 316b72a6..6fabd362 100644 --- a/lib/src/parse/EnumFieldImpl.h +++ b/lib/src/parse/EnumFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Field.cpp b/lib/src/parse/Field.cpp index a0867f33..5d3258b0 100644 --- a/lib/src/parse/Field.cpp +++ b/lib/src/parse/Field.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/FieldImpl.cpp b/lib/src/parse/FieldImpl.cpp index 5a5184ab..8feba76b 100644 --- a/lib/src/parse/FieldImpl.cpp +++ b/lib/src/parse/FieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/FieldImpl.h b/lib/src/parse/FieldImpl.h index 6d7c8a11..6c83059f 100644 --- a/lib/src/parse/FieldImpl.h +++ b/lib/src/parse/FieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/FloatField.cpp b/lib/src/parse/FloatField.cpp index 333262af..c08e8934 100644 --- a/lib/src/parse/FloatField.cpp +++ b/lib/src/parse/FloatField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/FloatFieldImpl.cpp b/lib/src/parse/FloatFieldImpl.cpp index 040f8fc0..bd9ab851 100644 --- a/lib/src/parse/FloatFieldImpl.cpp +++ b/lib/src/parse/FloatFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/FloatFieldImpl.h b/lib/src/parse/FloatFieldImpl.h index 82becf76..1799d99f 100644 --- a/lib/src/parse/FloatFieldImpl.h +++ b/lib/src/parse/FloatFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Frame.cpp b/lib/src/parse/Frame.cpp index 6847fa10..5c7543af 100644 --- a/lib/src/parse/Frame.cpp +++ b/lib/src/parse/Frame.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/FrameImpl.cpp b/lib/src/parse/FrameImpl.cpp index b2bcd4cd..5b0d47a8 100644 --- a/lib/src/parse/FrameImpl.cpp +++ b/lib/src/parse/FrameImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/FrameImpl.h b/lib/src/parse/FrameImpl.h index 1ce2de4f..31a428a7 100644 --- a/lib/src/parse/FrameImpl.h +++ b/lib/src/parse/FrameImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/IdLayerImpl.cpp b/lib/src/parse/IdLayerImpl.cpp index cb0c7260..9fcf1db1 100644 --- a/lib/src/parse/IdLayerImpl.cpp +++ b/lib/src/parse/IdLayerImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/IdLayerImpl.h b/lib/src/parse/IdLayerImpl.h index 12eb10e0..93667ae9 100644 --- a/lib/src/parse/IdLayerImpl.h +++ b/lib/src/parse/IdLayerImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/IntField.cpp b/lib/src/parse/IntField.cpp index 1fd08956..f2618ea8 100644 --- a/lib/src/parse/IntField.cpp +++ b/lib/src/parse/IntField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/IntFieldImpl.cpp b/lib/src/parse/IntFieldImpl.cpp index 0f48f08e..5f8fbaec 100644 --- a/lib/src/parse/IntFieldImpl.cpp +++ b/lib/src/parse/IntFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/IntFieldImpl.h b/lib/src/parse/IntFieldImpl.h index b61bc7c9..055312a6 100644 --- a/lib/src/parse/IntFieldImpl.h +++ b/lib/src/parse/IntFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Interface.cpp b/lib/src/parse/Interface.cpp index b85d33dd..d967e827 100644 --- a/lib/src/parse/Interface.cpp +++ b/lib/src/parse/Interface.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/InterfaceImpl.cpp b/lib/src/parse/InterfaceImpl.cpp index 0d9ac285..28a930fa 100644 --- a/lib/src/parse/InterfaceImpl.cpp +++ b/lib/src/parse/InterfaceImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/InterfaceImpl.h b/lib/src/parse/InterfaceImpl.h index 1f0a0df0..854b0915 100644 --- a/lib/src/parse/InterfaceImpl.h +++ b/lib/src/parse/InterfaceImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Layer.cpp b/lib/src/parse/Layer.cpp index 6fc0062b..109af30a 100644 --- a/lib/src/parse/Layer.cpp +++ b/lib/src/parse/Layer.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/LayerImpl.cpp b/lib/src/parse/LayerImpl.cpp index b1ab626f..c7dc3b4e 100644 --- a/lib/src/parse/LayerImpl.cpp +++ b/lib/src/parse/LayerImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/LayerImpl.h b/lib/src/parse/LayerImpl.h index b0fff8a6..510aa722 100644 --- a/lib/src/parse/LayerImpl.h +++ b/lib/src/parse/LayerImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/ListField.cpp b/lib/src/parse/ListField.cpp index e89d274d..9b949147 100644 --- a/lib/src/parse/ListField.cpp +++ b/lib/src/parse/ListField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/ListFieldImpl.cpp b/lib/src/parse/ListFieldImpl.cpp index 427c94f3..4d0d9100 100644 --- a/lib/src/parse/ListFieldImpl.cpp +++ b/lib/src/parse/ListFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/ListFieldImpl.h b/lib/src/parse/ListFieldImpl.h index f1d5facb..576ddc01 100644 --- a/lib/src/parse/ListFieldImpl.h +++ b/lib/src/parse/ListFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Logger.h b/lib/src/parse/Logger.h index 2adc2e70..9c0fb50e 100644 --- a/lib/src/parse/Logger.h +++ b/lib/src/parse/Logger.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Message.cpp b/lib/src/parse/Message.cpp index 6f8e179b..63cd6656 100644 --- a/lib/src/parse/Message.cpp +++ b/lib/src/parse/Message.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/MessageImpl.cpp b/lib/src/parse/MessageImpl.cpp index 67ea4d3f..644d4f6c 100644 --- a/lib/src/parse/MessageImpl.cpp +++ b/lib/src/parse/MessageImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/MessageImpl.h b/lib/src/parse/MessageImpl.h index 4f1e64b1..12757b3f 100644 --- a/lib/src/parse/MessageImpl.h +++ b/lib/src/parse/MessageImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Namespace.cpp b/lib/src/parse/Namespace.cpp index e58f40b8..27b01bf6 100644 --- a/lib/src/parse/Namespace.cpp +++ b/lib/src/parse/Namespace.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/NamespaceImpl.cpp b/lib/src/parse/NamespaceImpl.cpp index 91ee6188..95db70f4 100644 --- a/lib/src/parse/NamespaceImpl.cpp +++ b/lib/src/parse/NamespaceImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/NamespaceImpl.h b/lib/src/parse/NamespaceImpl.h index 33a4c2f8..8bf27554 100644 --- a/lib/src/parse/NamespaceImpl.h +++ b/lib/src/parse/NamespaceImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Object.h b/lib/src/parse/Object.h index 91d982cb..fc51c55d 100644 --- a/lib/src/parse/Object.h +++ b/lib/src/parse/Object.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/OptCond.cpp b/lib/src/parse/OptCond.cpp index f1a3797f..a4c851b9 100644 --- a/lib/src/parse/OptCond.cpp +++ b/lib/src/parse/OptCond.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/OptCondImpl.cpp b/lib/src/parse/OptCondImpl.cpp index 871a21f9..e34c263d 100644 --- a/lib/src/parse/OptCondImpl.cpp +++ b/lib/src/parse/OptCondImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/OptCondImpl.h b/lib/src/parse/OptCondImpl.h index 37917a12..d77bc54f 100644 --- a/lib/src/parse/OptCondImpl.h +++ b/lib/src/parse/OptCondImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/OptionalField.cpp b/lib/src/parse/OptionalField.cpp index f8b6836b..7262a689 100644 --- a/lib/src/parse/OptionalField.cpp +++ b/lib/src/parse/OptionalField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/OptionalFieldImpl.cpp b/lib/src/parse/OptionalFieldImpl.cpp index 422eb462..88329073 100644 --- a/lib/src/parse/OptionalFieldImpl.cpp +++ b/lib/src/parse/OptionalFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/OptionalFieldImpl.h b/lib/src/parse/OptionalFieldImpl.h index f822f04d..4a8afeae 100644 --- a/lib/src/parse/OptionalFieldImpl.h +++ b/lib/src/parse/OptionalFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/PayloadLayerImpl.cpp b/lib/src/parse/PayloadLayerImpl.cpp index ae9f2fb2..b0d5df93 100644 --- a/lib/src/parse/PayloadLayerImpl.cpp +++ b/lib/src/parse/PayloadLayerImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/PayloadLayerImpl.h b/lib/src/parse/PayloadLayerImpl.h index 789e7f20..1289977c 100644 --- a/lib/src/parse/PayloadLayerImpl.h +++ b/lib/src/parse/PayloadLayerImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Protocol.cpp b/lib/src/parse/Protocol.cpp index 0636eb4e..06b5a993 100644 --- a/lib/src/parse/Protocol.cpp +++ b/lib/src/parse/Protocol.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/ProtocolImpl.cpp b/lib/src/parse/ProtocolImpl.cpp index f62a9c56..53bb71b2 100644 --- a/lib/src/parse/ProtocolImpl.cpp +++ b/lib/src/parse/ProtocolImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/ProtocolImpl.h b/lib/src/parse/ProtocolImpl.h index 6796c1e1..5229fd13 100644 --- a/lib/src/parse/ProtocolImpl.h +++ b/lib/src/parse/ProtocolImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/RefField.cpp b/lib/src/parse/RefField.cpp index 977bcfc7..6cdfde6a 100644 --- a/lib/src/parse/RefField.cpp +++ b/lib/src/parse/RefField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/RefFieldImpl.cpp b/lib/src/parse/RefFieldImpl.cpp index 5b1ff168..014c5191 100644 --- a/lib/src/parse/RefFieldImpl.cpp +++ b/lib/src/parse/RefFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/RefFieldImpl.h b/lib/src/parse/RefFieldImpl.h index 6b58209a..cc858ce5 100644 --- a/lib/src/parse/RefFieldImpl.h +++ b/lib/src/parse/RefFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/Schema.cpp b/lib/src/parse/Schema.cpp index cb244b9c..c314d5c9 100644 --- a/lib/src/parse/Schema.cpp +++ b/lib/src/parse/Schema.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/SchemaImpl.cpp b/lib/src/parse/SchemaImpl.cpp index 0af7d9a6..6e1cf0bf 100644 --- a/lib/src/parse/SchemaImpl.cpp +++ b/lib/src/parse/SchemaImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/SchemaImpl.h b/lib/src/parse/SchemaImpl.h index 4bd72f9f..66ca4d61 100644 --- a/lib/src/parse/SchemaImpl.h +++ b/lib/src/parse/SchemaImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/SetField.cpp b/lib/src/parse/SetField.cpp index 9b50a9f3..976d6c42 100644 --- a/lib/src/parse/SetField.cpp +++ b/lib/src/parse/SetField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/SetFieldImpl.cpp b/lib/src/parse/SetFieldImpl.cpp index 84404631..3c5c8a94 100644 --- a/lib/src/parse/SetFieldImpl.cpp +++ b/lib/src/parse/SetFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/SetFieldImpl.h b/lib/src/parse/SetFieldImpl.h index 1ab81edc..1746a87c 100644 --- a/lib/src/parse/SetFieldImpl.h +++ b/lib/src/parse/SetFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/SizeLayerImpl.cpp b/lib/src/parse/SizeLayerImpl.cpp index 7d9a1608..139e1d64 100644 --- a/lib/src/parse/SizeLayerImpl.cpp +++ b/lib/src/parse/SizeLayerImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/SizeLayerImpl.h b/lib/src/parse/SizeLayerImpl.h index 34bfd45f..c8c922d1 100644 --- a/lib/src/parse/SizeLayerImpl.h +++ b/lib/src/parse/SizeLayerImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/StringField.cpp b/lib/src/parse/StringField.cpp index 192dde76..b50d4451 100644 --- a/lib/src/parse/StringField.cpp +++ b/lib/src/parse/StringField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/StringFieldImpl.cpp b/lib/src/parse/StringFieldImpl.cpp index 5c3ff753..6826b7cf 100644 --- a/lib/src/parse/StringFieldImpl.cpp +++ b/lib/src/parse/StringFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/StringFieldImpl.h b/lib/src/parse/StringFieldImpl.h index 042333d3..d18e8c3e 100644 --- a/lib/src/parse/StringFieldImpl.h +++ b/lib/src/parse/StringFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/SyncLayerImpl.cpp b/lib/src/parse/SyncLayerImpl.cpp index 11fda656..6ba9cd74 100644 --- a/lib/src/parse/SyncLayerImpl.cpp +++ b/lib/src/parse/SyncLayerImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/SyncLayerImpl.h b/lib/src/parse/SyncLayerImpl.h index 1e028ae8..56c0fa09 100644 --- a/lib/src/parse/SyncLayerImpl.h +++ b/lib/src/parse/SyncLayerImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/ValueLayerImpl.cpp b/lib/src/parse/ValueLayerImpl.cpp index 6dc8c83f..f26d1a3b 100644 --- a/lib/src/parse/ValueLayerImpl.cpp +++ b/lib/src/parse/ValueLayerImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/ValueLayerImpl.h b/lib/src/parse/ValueLayerImpl.h index c70cc598..f567bf93 100644 --- a/lib/src/parse/ValueLayerImpl.h +++ b/lib/src/parse/ValueLayerImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/VariantField.cpp b/lib/src/parse/VariantField.cpp index 1747b775..5cf6615c 100644 --- a/lib/src/parse/VariantField.cpp +++ b/lib/src/parse/VariantField.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/VariantFieldImpl.cpp b/lib/src/parse/VariantFieldImpl.cpp index 459918ee..036e57a1 100644 --- a/lib/src/parse/VariantFieldImpl.cpp +++ b/lib/src/parse/VariantFieldImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/VariantFieldImpl.h b/lib/src/parse/VariantFieldImpl.h index 18debec1..46f46ddf 100644 --- a/lib/src/parse/VariantFieldImpl.h +++ b/lib/src/parse/VariantFieldImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/XmlWrap.cpp b/lib/src/parse/XmlWrap.cpp index df95dee5..77728542 100644 --- a/lib/src/parse/XmlWrap.cpp +++ b/lib/src/parse/XmlWrap.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/XmlWrap.h b/lib/src/parse/XmlWrap.h index fc507b05..e3156477 100644 --- a/lib/src/parse/XmlWrap.h +++ b/lib/src/parse/XmlWrap.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/common.cpp b/lib/src/parse/common.cpp index 079d4447..7aeddcbf 100644 --- a/lib/src/parse/common.cpp +++ b/lib/src/parse/common.cpp @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/common.h b/lib/src/parse/common.h index 9eb35cab..114bdae6 100644 --- a/lib/src/parse/common.h +++ b/lib/src/parse/common.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/lib/src/parse/util.h b/lib/src/parse/util.h index 17a9fa85..657253a1 100644 --- a/lib/src/parse/util.h +++ b/lib/src/parse/util.h @@ -1,5 +1,5 @@ // -// Copyright 2018 - 2023 (C). Alex Robenko. All rights reserved. +// Copyright 2018 - 2024 (C). Alex Robenko. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From 1ffe614523ecc1cd2350398cd793423a2196e1a3 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 19 Feb 2024 09:08:40 +1000 Subject: [PATCH 41/60] Minor correction to the internal libxml2 build configuration. --- lib/src/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/src/CMakeLists.txt b/lib/src/CMakeLists.txt index 55e5b2ca..32a051b0 100644 --- a/lib/src/CMakeLists.txt +++ b/lib/src/CMakeLists.txt @@ -47,7 +47,9 @@ while (TRUE) set (LIBXML2_FOUND TRUE) set (LIBXML2_INCLUDE_DIR "${LIBXML2_INSTALL_DIR}/include/libxml2") set (LIBXML2_LIBRARIES "${LIBXML2_INSTALL_DIR}/lib/libxml2sd.lib") - if (("${CMAKE_BUILD_TYPE}" STREQUAL "Release") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel")) + if (("${CMAKE_BUILD_TYPE}" STREQUAL "Release") OR + ("${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel") OR + ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo")) set (LIBXML2_LIBRARIES "${LIBXML2_INSTALL_DIR}/lib/libxml2s.lib") endif () set (LIBXML2_DEFINITIONS "LIBXML_STATIC") From bc9013fe869a71ab764febff0c75e0a6bfe47da8 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 19 Feb 2024 09:16:50 +1000 Subject: [PATCH 42/60] Minor update to the build instructions. --- doc/BUILD.md | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/doc/BUILD.md b/doc/BUILD.md index 48df2ccf..6b5d7043 100644 --- a/doc/BUILD.md +++ b/doc/BUILD.md @@ -4,24 +4,41 @@ This project uses CMake as its build system. Please open main mentioned available parameters, which can be used in addition to standard ones provided by CMake itself, to modify the default build. -**NOTE**, that **libcommsdsl** uses [libxml2](http://xmlsoft.org) +**NOTE** that only **commsdsl2comms** code generator is enabled by default. Please +make sure to enable other tools in case they are needed. + +**Also note** that **libcommsdsl** uses [libxml2](http://xmlsoft.org) to parse XML schema files. On Windows systems there is no need to build [libxml2](http://xmlsoft.org) separately. The build process will check it out automatically and build static -library itself. For example: +library itself. However, it is possible to externally build it and provide a path +to it using standard **CMAKE_PREFIX_PATH** variable. + +For example: -### Linux Build +### Default Linux Build ``` $> cd /source/of/this/project $> mkdir build && cd build -$> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install .. +$> cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install $> make install ``` -### Windows Build + +### Full Linux Build +``` +$> cd /source/of/this/project +$> mkdir build && cd build +$> cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install \ + -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON -DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON \ + -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON +$> make install +``` + +### Default Windows Build ``` $> cd C:\source\of\this\project $> mkdir build $> cd build -$> cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install .. +$> cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install $> nmake install ``` From 38085d0d126da20c4caa879e5bca4fc4a4f771be Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 20 Feb 2024 09:11:59 +1000 Subject: [PATCH 43/60] Added doc/Manual_commsdsl2tools_qt.md --- doc/Manual_commsdsl2comms.md | 10 +- doc/Manual_commsdsl2tools_qt.md | 191 ++++++++++++++++++++++++++++++++ doc/README.md | 16 ++- 3 files changed, 209 insertions(+), 8 deletions(-) create mode 100644 doc/Manual_commsdsl2tools_qt.md diff --git a/doc/Manual_commsdsl2comms.md b/doc/Manual_commsdsl2comms.md index 6e80942b..b4ac9493 100644 --- a/doc/Manual_commsdsl2comms.md +++ b/doc/Manual_commsdsl2comms.md @@ -10,7 +10,7 @@ can be used to install all the necessary files (protocol definition headers as well as CMake confiugration files) into the installation directory. ## Command Line Arguments -The **commsds2comms** utility has multiple command line arguments, please +The **commsdsl2comms** utility has multiple command line arguments, please use `-h` option for the full list as well as default option values. ``` @@ -22,7 +22,7 @@ Below is a summary of most important ones. In case there are only few schema files, it is possible to pass them at the end of the arguments list. ``` -$> /path/to/commsdsl2comms schema1.xml schema2.xml schema3.xml ... +$> /path/to/commsdsl2comms schema1.xml schema2.xml schema3.xml ... ``` The schema files will be processed **in order** of their listing. @@ -30,14 +30,14 @@ In case there are lots of schema files (for example every message is defined in separate schema file), it is recommended to create a separate text file with list of all schema files and use `-i` option. ``` -$> /path/to/commsdsl2comms -i schemas_list.txt +$> /path/to/commsdsl2comms -i schemas_list.txt ... ``` The schemas in the list file may use use *absolute* or *relative* path. In case of the latter please also provide absolute path prefix using `-p` option. The prefix will be prepended to every relative path inside the list file to locate the schema file. ``` -$> /path/to/commsdsl2comms -i schemas_list.txt -p /path/to/schemas/dir +$> /path/to/commsdsl2comms -i schemas_list.txt -p /path/to/schemas/dir ... ``` ### Output Directory @@ -125,7 +125,7 @@ $> /path/to/commsdsl2comms --extra-messages-bundle=Set1:extra-set1.txt,Set2:extr ``` ## Custom Code -As was already mentioned earlier, **commsds2comms** utility allows injection +As was already mentioned earlier, **commsdsl2comms** utility allows injection of custom C++11 code snippets in the generated code. The [Injecting Custom Code](#injecting-custom-code) section above described `-c` option that can be used to specify directory with custom code snippets. diff --git a/doc/Manual_commsdsl2tools_qt.md b/doc/Manual_commsdsl2tools_qt.md new file mode 100644 index 00000000..784b3e02 --- /dev/null +++ b/doc/Manual_commsdsl2tools_qt.md @@ -0,0 +1,191 @@ +# Manual of **commsdsl2tools_qt** + +## Overview +The **commsdsl2tools_qt** is a code generation tool provided by this project. +It generates CMake project that can be used to build the **protocol plugin** for the +[CommsChampion Tools](https://github.com/commschamp/cc_tools_qt) using +[CommsDSL](https://commschamp.github.io/commsdsl_spec/) schema file(s). + +## Command Line Arguments +The **commsdsl2tools_qt** utility has multiple command line arguments, please +use `-h` option for the full list as well as default option values. + +``` +$> /path/to/commsdsl2tools_qt -h +``` +Below is a summary of most important ones. + +### Selecting Schema Files +Selecting of the schema files is very similar to how it is done for the +[commsdsl2comms](Manual_commsdsl2comms.md#selecting-schema-files). + +List all the schema files at the end of the command line arguments: + +``` +$> /path/to/commsdsl2tools_qt schema1.xml schema2.xml schema3.xml ... +``` +The schema files will be processed **in order** of their listing. + +When the input files are listed in the single file: +``` +$> /path/to/commsdsl2tools_qt -i schemas_list.txt +``` + +When a schemas listing file contains *relative* paths to the schema files use +`-p` option to specify the absolute path prefix. +``` +$> /path/to/commsdsl2tools_qt -i schemas_list.txt -p /path/to/schemas/dir +``` + +### Output Directory +By default the output CMake project is written to the current directory. It +is possible to change that using `-o` option. +``` +$> /path/to/commsdsl2tools_qt -o /some/output/dir schema.xml +``` + +### Injecting Custom Code +The **commsdsl2tools_qt** utility allows injection of custom code into the +generated project in case the default code is incorrect and/or incomplete. For this +purpose `-c` option with path to directory containing custom code snippets is used. +``` +$> /path/to/commsdsl2tools_qt -c /path/to/custom/code/snippets schema.xml +``` +Please read [Custom Code](#custom-code) section below for more details on +how to format and where to place the custom code. + +### Providing Plugin Information +The protocol definition plugin of the [CommsChampion Tools](https://github.com/commschamp/cc_tools_qt) +is expected to provide some meta information of its name and description. +Also the protocol plugin requires selecting a single `` name +(in case multiple ``-s are defined in the schema files) and the +`` name (in case multiple ``-s are defined in the schema +files). + +To provide the necessary information use `--protocol` command line option: + +``` +$> /path/to/commsdsl2tools_qt --protocol "frame_id:interface_id:protocol_name:description" +``` + +In case there is only one `` and/or only one `` (implicit or explicit) +the relevant id can be omitted. For example: + +``` +$> /path/to/commsdsl2tools_qt --protocol "::My Protocol:My Protocol Description" +``` + +It is possible to add support for multiple protocol plugins (with different frames / interfaces) +in the same project. In such case the command line argument can use comma separation +between the configurations. For example: + +``` +$> /path/to/commsdsl2tools_qt --protocol \ + "Frame1:Interface1:My Protocol (1):Description (1),Frame2:Interface2:My Protocol (2):Description (2)" +``` + +### Changing Main Namespace +The code generated by the **commsdsl2tools_qt** depends on the code generated by +the **commsdsl2comms**. If the code generated by the **commsdsl2comms** +[changed its main namespace](Manual_commsdsl2comms.md#changing-main-namespace) +then it is required to change the main namespace for the code generated by +the **commsdsl2tools_qt** as well. +``` +$> /path/to/commsdsl2tools_qt -n other_ns_name schema.xml +``` + + +### Using Subsets of Messages +The generated code of the protocol plugin for the [CommsChampion Tools](https://github.com/commschamp/cc_tools_qt) +includes all the messages defined in the schema file(s). Sometimes, when the +protocol contains too many messages it can become a problem for the compiler +(running out of heap space for example). In many cases it can be more practical +to reduce number of messages (many can get deprecated for example) to support in +the plugin. To do so the schema file(s) should be split into multiple files +(for example single message definition per file) and only necessary files +are passed to the code generator (see [Selecting Schema Files](#selecting-schema-files) +section above). + +## Custom Code +As was already mentioned earlier, **commsdsl2tools_qt** utility allows injection +of custom code snippets in the generated code. The +The [CommsChampion Tools](https://github.com/commschamp/cc_tools_qt) themselves +use C++17 (or later). It is recommended to also use C++17 code snippets for the +[custom code injection](#injecting-custom-code) (using `-c` command line option +specifying directory with custom code snippets). + +Most of the files (related to the protocol definition itself) do **not** support +custom code injection. It is the job of the **commsdsl2comms** to provide +the correct protocol definition and the custom code injection can be done there. + +The custom code injection is available for classes and files relevant for +plugin control inside the [CommsChampion Tools](https://github.com/commschamp/cc_tools_qt), +which reside in the `cc_tools_qt_plugin//plugin` folder of the generated +project. + +Similar to the [custom code injection defined for the commsdsl2comms](Manual_commsdsl2comms.md##custom-code) +the relevant code snippets are expected to have specific extensions: + +- **.inc** - Add extra include statements to the file. +- **.extend** - Extend the defined original class. +- **.replace** - Completely replace the original file. + +For example: +- `cc_tools_qt_plugin/demo/plugin/Plugin_demo.h.extend` +- `cc_tools_qt_plugin/demo/plugin/Plugin_demo.cpp.extend` +- `cc_tools_qt_plugin/demo/plugin/Plugin_demo.cpp.inc` +- `cc_tools_qt_plugin/demo/plugin/Plugin_demo.json.replace` + +When extending a class, the original class is renamed by adding the `Orig` suffix to +its name and the code from the **.extend** file is just added after the original +code within the same namespace. The extending code is expected to extend the +original class and add the necessary functionality. + +For example the contents of the `cc_tools_qt_plugin/demo/plugin/Plugin_demo.h.extend`: +``` +// This is extension code +class Plugin_demo : public Plugin_demoOrig +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "Demo" FILE "Plugin_demo.json") + Q_INTERFACES(cc_tools_qt::Plugin) + +public: + Plugin_demo(); + virtual ~Plugin_demo(); + +private: + ... // Some extra private members +}; +``` + +The **commsdsl2tools_qt** utility will also copy all the files, residing in the +source directory and not having any of the special suffixes (**.extend**, **.replace**, +**.inc**, etc...), as-is without modification into the output directory +preserving their relative path. + +Using such copy of the extra files it is possible to add any extra functionality +to the protocol plugin (such as extra dialogs or forcing messages exchange base on +the reported events). + +However, any extra files need to be added to the generated `CMakeLists.txt`. To +do so there is a need to create `CMakeLists.txt.sources` file in the code injection +directory and list all the necessary files there. The contents of the `CMakeLists.txt.sources` +will be added to the `src` variable inside the `cc_plugin` function in the +generated `CMakeLists.txt` file. + +For example to add some dialog code, the contents of the `CMakeLists.txt.sources` can be: +``` +cc_tools_qt_plugin/test6/plugin/MyDialog.cpp +cc_tools_qt_plugin/test6/plugin/MyDialog.ui +``` + +Note that the generated `CMakeLists.txt` has the following variables set: +``` +set (CMAKE_AUTOMOC ON) +set (CMAKE_AUTOUIC ON) +set (CMAKE_AUTORCC ON) +``` +It allows having all the necessary files listed in the sources (including **.ui** and **.qrc** files) +and there is no need to list headers which use `Q_OBJECT` macro, the moc-ing will +be done automatically. diff --git a/doc/README.md b/doc/README.md index 39175a43..7b57aae7 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,10 +1,17 @@ -# Documentation - -The available documentation pages are: +# Building - [BUILD.md](BUILD.md) - Instructions how build this project. + +# Tool Manuals + - [Manual_commsdsl2comms.md](Manual_commsdsl2comms.md) - Manual of the **commsdsl2comms** code generator and its available command line options. +- [Manual_commsdsl2tools_qt.md](Manual_commsdsl2tools_qt.md) - Manual of the + **commsdsl2tools_qt** code generator and its available command line options. + + +# Dealing With Generated Code + - [GeneratedProjectWalkthrough.md](GeneratedProjectWalkthrough.md) - Overview of the project directory structure generated by the **commsdsl2comms**. - [DebugProtocolDef.md](DebugProtocolDef.md) - Tips on how to debug the protocol @@ -13,6 +20,9 @@ The available documentation pages are: the protocol code (generated by the **commsdsl2comms**) with [AFL](http://lcamtuf.coredump.cx/afl/). - [VisualProtocolAnalysis.md](VisualProtocolAnalysis.md) - Information on how to build the protocol definition plugin for the [CommsChampion Tools](https://github.com/commschamp/cc_tools_qt). + +# Other Languages + - [OtherLanguagesSupport.md](OtherLanguagesSupport.md) - Support of other high level languages by the generation of the bindings (glue code) using [SWIG](https://www.swig.org/). - [WebAssemblySupport.md](WebAssemblySupport.md) - WebAssembly support using [emscripten](https://emscripten.org/). From b705f6113a0d6ee072d4fe50527680c899e8eb46 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 20 Feb 2024 09:21:33 +1000 Subject: [PATCH 44/60] Some fixes to the Manual_commsdsl2tools_qt. --- doc/Manual_commsdsl2tools_qt.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/Manual_commsdsl2tools_qt.md b/doc/Manual_commsdsl2tools_qt.md index 784b3e02..12659c92 100644 --- a/doc/Manual_commsdsl2tools_qt.md +++ b/doc/Manual_commsdsl2tools_qt.md @@ -108,7 +108,7 @@ section above). ## Custom Code As was already mentioned earlier, **commsdsl2tools_qt** utility allows injection -of custom code snippets in the generated code. The +of custom code snippets in the generated code. The [CommsChampion Tools](https://github.com/commschamp/cc_tools_qt) themselves use C++17 (or later). It is recommended to also use C++17 code snippets for the [custom code injection](#injecting-custom-code) (using `-c` command line option @@ -124,7 +124,8 @@ which reside in the `cc_tools_qt_plugin//plugin` folder of the generated project. Similar to the [custom code injection defined for the commsdsl2comms](Manual_commsdsl2comms.md##custom-code) -the relevant code snippets are expected to have specific extensions: +the relevant code snippets are expected to reside in the same relative path as the +generated and to have specific extensions: - **.inc** - Add extra include statements to the file. - **.extend** - Extend the defined original class. @@ -161,7 +162,7 @@ private: The **commsdsl2tools_qt** utility will also copy all the files, residing in the source directory and not having any of the special suffixes (**.extend**, **.replace**, -**.inc**, etc...), as-is without modification into the output directory +**.inc**, etc...) as-is without modification into the output directory preserving their relative path. Using such copy of the extra files it is possible to add any extra functionality @@ -187,5 +188,6 @@ set (CMAKE_AUTOUIC ON) set (CMAKE_AUTORCC ON) ``` It allows having all the necessary files listed in the sources (including **.ui** and **.qrc** files) -and there is no need to list headers which use `Q_OBJECT` macro, the moc-ing will +and there is no need to list headers which use `Q_OBJECT` macro (but only if there is +related **.cpp** added to the sources), the moc-ing will be done automatically. From d08cb2a2342deea68ac2f52671370283ee94693a Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Wed, 21 Feb 2024 07:58:46 +1000 Subject: [PATCH 45/60] Added manual of commsdsl2test. --- doc/Manual_commsdsl2test.md | 82 +++++++++++++++++++++++++++++++++++++ doc/README.md | 4 +- 2 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 doc/Manual_commsdsl2test.md diff --git a/doc/Manual_commsdsl2test.md b/doc/Manual_commsdsl2test.md new file mode 100644 index 00000000..0b773650 --- /dev/null +++ b/doc/Manual_commsdsl2test.md @@ -0,0 +1,82 @@ +# Manual of **commsdsl2test** + +## Overview +The **commsdsl2test** is a code generation tool provided by this project. +It generates CMake project that can be used to fuzz test the protocol definition +code generated by the **commsdsl2comms**. + +## Command Line Arguments +The **commsdsl2test** utility has multiple command line arguments, please +use `-h` option for the full list as well as default option values. + +``` +$> /path/to/commsdsl2test -h +``` +Below is a summary of most important ones. + +### Selecting Schema Files +Selecting of the schema files is very similar to how it is done for the +[commsdsl2comms](Manual_commsdsl2comms.md#selecting-schema-files). + +List all the schema files at the end of the command line arguments: + +``` +$> /path/to/commsdsl2test schema1.xml schema2.xml schema3.xml ... +``` +The schema files will be processed **in order** of their listing. + +When the input files are listed in the single file: +``` +$> /path/to/commsdsl2test -i schemas_list.txt +``` + +When a schemas listing file contains *relative* paths to the schema files use +`-p` option to specify the absolute path prefix. +``` +$> /path/to/commsdsl2test -i schemas_list.txt -p /path/to/schemas/dir +``` + +### Output Directory +By default the output CMake project is written to the current directory. It +is possible to change that using `-o` option. +``` +$> /path/to/commsdsl2test -o /some/output/dir schema.xml +``` + +### Injecting Custom Code +The **commsdsl2test** utility allows injection of custom code into the +generated project in case the default code is incomplete. For this +purpose `-c` option with path to directory containing custom code snippets is used. +``` +$> /path/to/commsdsl2test -c /path/to/custom/code schema.xml +``` +Please read [Custom Code](#custom-code) section below for more details on +how to format and where to place the custom code. + +### Changing Main Namespace +The code generated by the **commsdsl2test** depends on the code generated by +the **commsdsl2comms**. If the code generated by the **commsdsl2comms** +[changed its main namespace](Manual_commsdsl2comms.md#changing-main-namespace) +then it is required to change the main namespace for the code generated by +the **commsdsl2test** as well. +``` +$> /path/to/commsdsl2test -n other_ns_name schema.xml +``` + +## Custom Code +As was already mentioned earlier, **commsdsl2test** utility allows injection +of custom code in the generated code. +The [CommsChampion Tools](https://github.com/commschamp/cc_tools_qt) themselves +use C++17 (or later). It is recommended to also use C++17 code snippets for the +[custom code injection](#injecting-custom-code) (using `-c` command line option +specifying directory with custom code snippets). + +The custom code injection for the project generated by the **commsdsl2test** +is expected to contain some extra header / source files which can be used by +the generated code. + +The generated _CMakeLists.txt_ contains multiple configuration options that +can be used and force the generated code to use definitions from the injected +files. See [TestingGeneratedProtocol.md](TestingGeneratedProtocol.md) for +details. + diff --git a/doc/README.md b/doc/README.md index 7b57aae7..6de4f929 100644 --- a/doc/README.md +++ b/doc/README.md @@ -2,12 +2,14 @@ - [BUILD.md](BUILD.md) - Instructions how build this project. -# Tool Manuals +# Manuals - [Manual_commsdsl2comms.md](Manual_commsdsl2comms.md) - Manual of the **commsdsl2comms** code generator and its available command line options. - [Manual_commsdsl2tools_qt.md](Manual_commsdsl2tools_qt.md) - Manual of the **commsdsl2tools_qt** code generator and its available command line options. +- [Manual_commsdsl2test.md](Manual_commsdsl2test.md) - Manual of the + **commsdsl2test** code generator and its available command line options. # Dealing With Generated Code From f3fc67812bfd22b842c40d48a638a671d58a687a Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Wed, 21 Feb 2024 08:47:44 +1000 Subject: [PATCH 46/60] Added manual for commsdsl2swig. --- doc/Manual_commsdsl2swig.md | 121 ++++++++++++++++++++++++++++++++++++ doc/README.md | 2 + 2 files changed, 123 insertions(+) create mode 100644 doc/Manual_commsdsl2swig.md diff --git a/doc/Manual_commsdsl2swig.md b/doc/Manual_commsdsl2swig.md new file mode 100644 index 00000000..6d36b803 --- /dev/null +++ b/doc/Manual_commsdsl2swig.md @@ -0,0 +1,121 @@ +# Manual of **commsdsl2swig** + +## Overview +The **commsdsl2swig** is a code generation tool provided by this project. +It generates CMake project that can be used to build bindings allowing +usage of the protocol definition C++ code generated by the **commsdsl2comms** to be +used in other higher level programming languages, such as Python, Java, C#, etc... + +## Command Line Arguments +The **commsdsl2swig** utility has multiple command line arguments, please +use `-h` option for the full list as well as default option values. + +``` +$> /path/to/commsdsl2swig -h +``` +Below is a summary of most important ones. + +### Selecting Schema Files +Selecting of the schema files is very similar to how it is done for the +[commsdsl2comms](Manual_commsdsl2comms.md#selecting-schema-files). + +List all the schema files at the end of the command line arguments: + +``` +$> /path/to/commsdsl2swig schema1.xml schema2.xml schema3.xml ... +``` +The schema files will be processed **in order** of their listing. + +When the input files are listed in the single file: +``` +$> /path/to/commsdsl2swig -i schemas_list.txt +``` + +When a schemas listing file contains *relative* paths to the schema files use +`-p` option to specify the absolute path prefix. +``` +$> /path/to/commsdsl2swig -i schemas_list.txt -p /path/to/schemas/dir +``` + +### Output Directory +By default the output CMake project is written to the current directory. It +is possible to change that using `-o` option. +``` +$> /path/to/commsdsl2swig -o /some/output/dir schema.xml +``` + +### Injecting Custom Code +The **commsdsl2swig** utility allows injection of custom code into the +generated project in case the default code is incorrect and/or incomplete. For this +purpose `-c` option with path to directory containing custom code snippets is used. +``` +$> /path/to/commsdsl2swig -c /path/to/custom/code/snippets schema.xml +``` +Please read [Custom Code](#custom-code) section below for more details on +how to format and where to place the custom code. + +### Changing Main Namespace +The code generated by the **commsdsl2swig** depends on the code generated by +the **commsdsl2comms**. If the code generated by the **commsdsl2comms** +[changed its main namespace](Manual_commsdsl2comms.md#changing-main-namespace) +then it is required to change the main namespace for the code generated by +the **commsdsl2swig** as well. +``` +$> /path/to/commsdsl2swig -n other_ns_name schema.xml +``` + +### Selecting Interface +When the protocol defines multiple interfaces, there is a need to select only +one that is applicable to the generated solution. To select appropriate +interface use `--force-interface` command line option. + +``` +$> /path/to/commsdsl2swig --force-interface Interface1 ... +``` + +### Using Subsets of Messages +The code generated by the **commsdsl2comms** contains definitions of all the +messages defined in the schema file(s). When the protocol is too big and/or +there are messages which are inapplicable to the created solution, they can be +excluded from the bindings support. To do so there is a need to +create a separate file listing all the messages IDs (using their full reference +strings including namespaced if applicable). Then the file with the messages +list can be provided using the `--messages-list` command line option. + +``` +$> /path/to/commsdsl2swig --messages-list /path/to/messages/list/file ... +``` + +## Custom Code +As was already mentioned earlier, **commsdsl2swig** utility allows injection +of custom code snippets in the generated code. +To better understand what code is injected where, it is recommended to +read through the [OtherLanguagesSupport.md](OtherLanguagesSupport.md). + +The generated _CMakeLists.txt_ does **NOT** contain any code applicable to set up +the required languages that need to be processed. The custom injected code is +expected to have the following files defined: + +- **CMakeListst.txt.prepend** - Contain the lines required to find the necessary packages. +- **CMakeLists.txt.prepend_lang** - Contain the lines that sat appropriate swig flags based on the used languages. +- **CMakeLists.txt.append** - Contain the lines linking appropriate libraries to the generated compilation target. + +Similar to the [custom code injection defined for the commsdsl2comms](Manual_commsdsl2comms.md##custom-code) +the relevant code snippets are expected to reside in the same relative path as the +generated code and to have specific extensions. Most useful are + +- **.public** - Add extra public code to the class definition. +- **.private** - Add extra private code to the class definition. + +For example: +- `include/demo/field/SomeField.h.public` +- `include/demo/field/SomeField.h.private` + +The swig interface definition file itself (`.i`) allows injection extra +code at the beginning and at the end of files using `.prepend` and `.append` +files accordingly. Prepending can be useful to add some extra language specific +definitions if needed. + +For example: +- `demo.i.prepend` +- `demo.i.append` diff --git a/doc/README.md b/doc/README.md index 6de4f929..25de38d8 100644 --- a/doc/README.md +++ b/doc/README.md @@ -10,6 +10,8 @@ **commsdsl2tools_qt** code generator and its available command line options. - [Manual_commsdsl2test.md](Manual_commsdsl2test.md) - Manual of the **commsdsl2test** code generator and its available command line options. +- [Manual_commsdsl2swig.md](Manual_commsdsl2swig.md) - Manual of the + **commsdsl2swig** code generator and its available command line options. # Dealing With Generated Code From 65addb5787514848f384263c6f8cc49937215d03 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Wed, 21 Feb 2024 09:01:46 +1000 Subject: [PATCH 47/60] Added manual for commsdsl2emscripten. --- doc/Manual_commsdsl2emscripten.md | 111 ++++++++++++++++++++++++++++++ doc/Manual_commsdsl2swig.md | 5 +- doc/README.md | 2 + 3 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 doc/Manual_commsdsl2emscripten.md diff --git a/doc/Manual_commsdsl2emscripten.md b/doc/Manual_commsdsl2emscripten.md new file mode 100644 index 00000000..851bc9cd --- /dev/null +++ b/doc/Manual_commsdsl2emscripten.md @@ -0,0 +1,111 @@ +# Manual of **commsdsl2emscripten** + +## Overview +The **commsdsl2emscripten** is a code generation tool provided by this project. +It generates CMake project that can be used to build the protocol definition +C++ code, generated by the **commsdsl2comms**, into the javascript / wasm using +using the [emscripten](https://emscripten.org/) toolchain.. + +## Command Line Arguments +The **commsdsl2emscripten** utility has multiple command line arguments, please +use `-h` option for the full list as well as default option values. + +``` +$> /path/to/commsdsl2emscripten -h +``` +Below is a summary of most important ones. + +### Selecting Schema Files +Selecting of the schema files is very similar to how it is done for the +[commsdsl2comms](Manual_commsdsl2comms.md#selecting-schema-files). + +List all the schema files at the end of the command line arguments: + +``` +$> /path/to/commsdsl2emscripten schema1.xml schema2.xml schema3.xml ... +``` +The schema files will be processed **in order** of their listing. + +When the input files are listed in the single file: +``` +$> /path/to/commsdsl2emscripten -i schemas_list.txt +``` + +When a schemas listing file contains *relative* paths to the schema files use +`-p` option to specify the absolute path prefix. +``` +$> /path/to/commsdsl2emscripten -i schemas_list.txt -p /path/to/schemas/dir +``` + +### Output Directory +By default the output CMake project is written to the current directory. It +is possible to change that using `-o` option. +``` +$> /path/to/commsdsl2emscripten -o /some/output/dir schema.xml +``` + +### Injecting Custom Code +The **commsdsl2emscripten** utility allows injection of custom code into the +generated project in case the default code is incorrect and/or incomplete. For this +purpose `-c` option with path to directory containing custom code snippets is used. +``` +$> /path/to/commsdsl2emscripten -c /path/to/custom/code/snippets schema.xml +``` +Please read [Custom Code](#custom-code) section below for more details on +how to format and where to place the custom code. + +### Changing Main Namespace +The code generated by the **commsdsl2emscripten** depends on the code generated by +the **commsdsl2comms**. If the code generated by the **commsdsl2comms** +[changed its main namespace](Manual_commsdsl2comms.md#changing-main-namespace) +then it is required to change the main namespace for the code generated by +the **commsdsl2emscripten** as well. +``` +$> /path/to/commsdsl2emscripten -n other_ns_name schema.xml +``` + +### Selecting Interface +When the protocol defines multiple interfaces, there is a need to select only +one that is applicable to the generated solution. To select appropriate +interface use `--force-interface` command line option. + +``` +$> /path/to/commsdsl2emscripten --force-interface Interface1 ... +``` + +### Using Subsets of Messages +The code generated by the **commsdsl2comms** contains definitions of all the +messages defined in the schema file(s). When the protocol is too big and/or +there are messages which are inapplicable to the created solution, they can be +excluded from the bindings support. To do so there is a need to +create a separate file listing all the messages IDs (using their full reference +strings including namespaced if applicable). Then the file with the messages +list can be provided using the `--messages-list` command line option. + +``` +$> /path/to/commsdsl2emscripten --messages-list /path/to/messages/list/file ... +``` + +## Custom Code +As was already mentioned earlier, **commsdsl2emscripten** utility allows injection +of custom code snippets in the generated code. +To better understand what code is injected where, it is recommended to +read through the [WebAssemblySupport.md](WebAssemblySupport.md) +documentation page first. + +Similar to the [custom code injection defined for the commsdsl2comms](Manual_commsdsl2comms.md##custom-code) +the relevant code snippets are expected to reside in the same relative path as the +generated code and to have specific extensions. Most useful are + +- **.inc** - Add extra include statements. +- **.public** - Add extra public code to the class definition. +- **.private** - Add extra private code to the class definition. +- **.append** - Append code at the end of the file. + +When new functions have been added (especially in the `.public` file) there +might be a need to add the functions to the bindings list in the generated `.cpp` file. +To do so use `.bind` extension. + +For example: +- `cc_emscripten/demo/field/SomeField.cpp.bind` + diff --git a/doc/Manual_commsdsl2swig.md b/doc/Manual_commsdsl2swig.md index 6d36b803..7f0e5138 100644 --- a/doc/Manual_commsdsl2swig.md +++ b/doc/Manual_commsdsl2swig.md @@ -3,7 +3,7 @@ ## Overview The **commsdsl2swig** is a code generation tool provided by this project. It generates CMake project that can be used to build bindings allowing -usage of the protocol definition C++ code generated by the **commsdsl2comms** to be +usage of the protocol definition C++ code, generated by the **commsdsl2comms**, to be used in other higher level programming languages, such as Python, Java, C#, etc... ## Command Line Arguments @@ -90,7 +90,8 @@ $> /path/to/commsdsl2swig --messages-list /path/to/messages/list/file ... As was already mentioned earlier, **commsdsl2swig** utility allows injection of custom code snippets in the generated code. To better understand what code is injected where, it is recommended to -read through the [OtherLanguagesSupport.md](OtherLanguagesSupport.md). +read through the [OtherLanguagesSupport.md](OtherLanguagesSupport.md) documentation +page first. The generated _CMakeLists.txt_ does **NOT** contain any code applicable to set up the required languages that need to be processed. The custom injected code is diff --git a/doc/README.md b/doc/README.md index 25de38d8..191849b0 100644 --- a/doc/README.md +++ b/doc/README.md @@ -12,6 +12,8 @@ **commsdsl2test** code generator and its available command line options. - [Manual_commsdsl2swig.md](Manual_commsdsl2swig.md) - Manual of the **commsdsl2swig** code generator and its available command line options. +- [Manual_commsdsl2emscripten.md](Manual_commsdsl2emscripten.md) - Manual of the + **commsdsl2emscripten** code generator and its available command line options. # Dealing With Generated Code From e0598141e8cb5aac1d2cce7dc1012b56dc54beb0 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Thu, 22 Feb 2024 07:40:18 +1000 Subject: [PATCH 48/60] Allow access to the private data members when extending some of the generated classes in commsdsl2tools_qt. --- app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp index 3c5e3f65..16ed199b 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp @@ -139,7 +139,7 @@ bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() " virtual cc_tools_qt::MessagePtr createInvalidMessageImpl() override;\n" " virtual cc_tools_qt::MessagePtr createRawDataMessageImpl() override;\n" " virtual cc_tools_qt::MessagePtr createExtraInfoMessageImpl() override;\n\n" - "private:\n" + "#^#PRIVATE#$#:\n" " std::unique_ptr<#^#CLASS_NAME#$#Impl> m_pImpl;\n" "};\n\n" "#^#EXTEND#$#\n" @@ -155,10 +155,12 @@ bool ToolsQtPlugin::toolsWriteProtocolHeaderInternal() {"CLASS_NAME", toolsProtClassNameInternal()}, {"EXTEND", extendCode}, {"INC", incCode}, + {"PRIVATE", "private"}, }; if (!extendCode.empty()) { repl["ORIG"] = strings::origSuffixStr(); + repl["PRIVATE"] = "protected"; } if (toolsHasConfigWidgetInternal()) { @@ -821,9 +823,9 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetHeaderInternal() " {\n" " m_versionUpdateCb = std::forward(func);\n" " }\n\n" - "private slots:\n" + "#^#PRIVATE#$# slots:\n" " void versionChanged(int value);\n\n" - "private:\n" + "#^#PRIVATE#$#:\n" " VersionUpdateCb m_versionUpdateCb;" "};\n\n" "#^#EXTEND#$#\n\n" @@ -839,10 +841,12 @@ bool ToolsQtPlugin::toolsWriteConfigWidgetHeaderInternal() {"CLASS_NAME", toolsConfigWidgetClassNameInternal()}, {"EXTEND", extendCode}, {"INC", incCode}, + {"PRIVATE", "private"}, }; if (!extendCode.empty()) { repl["ORIG"] = strings::origSuffixStr(); + repl["PRIVATE"] = "protected"; } auto str = commsdsl::gen::util::processTemplate(Templ, repl, true); From 55a56bb0bb6380ce5522e26535a08037bcac904f Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Thu, 22 Feb 2024 08:12:37 +1000 Subject: [PATCH 49/60] Using Qt5 and Qt6 in appveyor configuration. --- .appveyor.yml | 13 ++++++++++++- script/appveyor_install.bat | 26 +++++++++++++++----------- script/prepare_externals.bat | 3 +-- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 8908bcdb..d4447216 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -23,33 +23,43 @@ environment: - CPP_STD: 11 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF TOOLS_CPP_STD: 17 + QT_MAJOR: 5 - CPP_STD: 14 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF TOOLS_CPP_STD: 17 + QT_MAJOR: 6 - CPP_STD: 17 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF TOOLS_CPP_STD: 17 + QT_MAJOR: 5 - CPP_STD: 17 EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK2=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK3=OFF" TOOLS_CPP_STD: 17 + QT_MAJOR: 5 - CPP_STD: 17 EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK1=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK3=OFF" TOOLS_CPP_STD: 17 + QT_MAJOR: 6 - CPP_STD: 17 EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK1=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK2=OFF" TOOLS_CPP_STD: 17 + QT_MAJOR: 6 - CPP_STD: 17 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF TOOLS_CPP_STD: 17 + QT_MAJOR: 5 - CPP_STD: 20 EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK2=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK3=OFF" TOOLS_CPP_STD: 20 + QT_MAJOR: 5 - CPP_STD: 20 EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK1=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK3=OFF" TOOLS_CPP_STD: 20 + QT_MAJOR: 6 - CPP_STD: 20 EXTRA_CONFIG: "-DCOMMSDSL_BUILD_COMMSDSL2COMMS_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK1=OFF -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS_CHUNK2=OFF" TOOLS_CPP_STD: 20 + QT_MAJOR: 6 matrix: fast_finish: false @@ -69,6 +79,7 @@ install: - set COMMON_CXX_STANDARD=%CPP_STD% - set GENERATOR="%CMAKE_GENERATOR%" - set PLATFORM="%CMAKE_PLATFORM%" + - set CC_TOOLS_QT_MAJOR_QT_VERSION=%QT_MAJOR% - call script\prepare_externals.bat build_script: @@ -77,7 +88,7 @@ build_script: - cmake .. -DCMAKE_BUILD_TYPE=%CONFIGURATION% -G "%CMAKE_GENERATOR%" %PLATFORM_PARAM% -DCMAKE_INSTALL_PREFIX="%COMMON_INSTALL_DIR%" ^ -DCMAKE_PREFIX_PATH="%COMMON_INSTALL_DIR%" -DCOMMSDSL_TESTS_CXX_STANDARD=%CPP_STD% ^ -DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON ^ - -DCMAKE_CXX_STANDARD=%TOOLS_CPP_STD% %EXTRA_CONFIG% + -DCMAKE_CXX_STANDARD=%TOOLS_CPP_STD% -DCOMMSDSL_TESTS_QT_VERSION=%QT_MAJOR% %EXTRA_CONFIG% - cmake --build . --config %CONFIGURATION% --target install - echo ------------------------- Testing ------------------------- - ctest diff --git a/script/appveyor_install.bat b/script/appveyor_install.bat index 6b46473d..e34e8559 100644 --- a/script/appveyor_install.bat +++ b/script/appveyor_install.bat @@ -1,35 +1,41 @@ IF "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( set TOOLCHAIN=msvc15 set QT_SUBDIR=msvc2017 - set QT_VER=5.11 + set QT_VER=5.13 set CMAKE_GENERATOR=NMake Makefiles - set ENV_SCRIPT_PARAM= IF "%PLATFORM%"=="x86" ( echo Performing x86 build in VS2017 - set ENV_SCRIPT="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat" + call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat" ) ELSE ( echo Performing amd64 build in VS2017 - set ENV_SCRIPT="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" + call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" ) ) ELSE IF "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2019" ( set TOOLCHAIN=msvc16 set QT_SUBDIR=msvc2019 - set QT_VER=5.15.2 set CMAKE_GENERATOR=Visual Studio 16 2019 - set ENV_SCRIPT_PARAM= + IF "%QT_MAJOR%"=="6" ( + set QT_VER=6.4 + ) ELSE ( + set QT_VER=5.15 + ) IF "%PLATFORM%"=="x86" ( echo Performing x86 build in VS2019 - set ENV_SCRIPT="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" set CMAKE_PLATFORM=Win32 ) ELSE ( echo Performing amd64 build in VS2019 - set ENV_SCRIPT="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" set CMAKE_PLATFORM=x64 ) ) ELSE IF "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2022" ( set TOOLCHAIN=msvc17 set QT_SUBDIR=msvc2019 - set QT_VER=5.15.2 + IF "%QT_MAJOR%"=="6" ( + set QT_VER=6.4 + ) ELSE ( + set QT_VER=5.15 + ) set CMAKE_GENERATOR=Visual Studio 17 2022 IF "%PLATFORM%"=="x86" ( echo Performing x86 build in VS2022 @@ -45,8 +51,6 @@ IF "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( exit -1 ) -call %ENV_SCRIPT% %ENV_SCRIPT_PARAM% - set QTDIR_PREFIX=C:/Qt/%QT_VER% IF "%PLATFORM%"=="x86" ( set QTDIR_SUFFIX= diff --git a/script/prepare_externals.bat b/script/prepare_externals.bat index a83cccc5..560309e7 100755 --- a/script/prepare_externals.bat +++ b/script/prepare_externals.bat @@ -57,8 +57,7 @@ if exist %COMMS_SRC_DIR%/.git ( git checkout %COMMS_TAG% git pull --all if %errorlevel% neq 0 exit /b %errorlevel% -) -else ( +) else ( echo "Cloning COMMS library..." git clone -b %COMMS_TAG% %COMMS_REPO% %COMMS_SRC_DIR% if %errorlevel% neq 0 exit /b %errorlevel% From b993c5336166fdf48752281cdb1c12c32fdc7071 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 25 Feb 2024 15:29:00 +1000 Subject: [PATCH 50/60] Allowing empty fields in the protocol configuration option for commsdsl2tools_qt. --- .../src/ToolsQtGenerator.cpp | 53 +++++++++++-------- .../src/ToolsQtProgramOptions.cpp | 8 ++- lib/src/gen/ProgramOptions.cpp | 2 +- lib/src/gen/util.cpp | 25 +++++---- 4 files changed, 55 insertions(+), 33 deletions(-) diff --git a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp index 9df120cf..a81b4229 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp @@ -154,30 +154,41 @@ bool ToolsQtGenerator::prepareImpl() } auto& schema = protocolSchema(); - if (m_pluginInfos.empty()) { - m_pluginInfos.resize(1U); - auto& pInfo = m_pluginInfos.back(); - - auto allInterfaces = schema.getAllInterfaces(); - assert(!allInterfaces.empty()); - auto allFrames = getAllFrames(); - assert(!allFrames.empty()); - auto* interfacePtr = allInterfaces.front(); - assert(interfacePtr != nullptr); - - pInfo.m_frame = allFrames.front()->dslObj().externalRef(); - - if (interfacePtr->dslObj().valid()) { - pInfo.m_interface = interfacePtr->dslObj().externalRef(); + m_pluginInfos.resize(std::max(m_pluginInfos.size(), std::size_t(1U))); + + for (auto& info : m_pluginInfos) { + if (info.m_interface.empty()) { + auto allInterfaces = schema.getAllInterfaces(); + assert(!allInterfaces.empty()); + auto* interfacePtr = allInterfaces.front(); + assert(interfacePtr != nullptr); + + if (interfacePtr->dslObj().valid()) { + info.m_interface = interfacePtr->dslObj().externalRef(); + } + else { + info.m_interface = interfacePtr->name(); + } } - else { - pInfo.m_interface = interfacePtr->name(); + + if (info.m_frame.empty()) { + auto allFrames = getAllFrames(); + assert(!allFrames.empty()); + info.m_frame = allFrames.front()->dslObj().externalRef(); + } + + if (info.m_name.empty()) { + info.m_name = schema.schemaName(); + } + + if (info.m_desc.empty()) { + info.m_desc = schema.dslObj().description(); + } + + if (info.m_desc.empty()) { + info.m_desc = "Protocol " + schema.schemaName(); } - pInfo.m_name = schema.schemaName(); - pInfo.m_desc = "Protocol " + schema.schemaName(); - } - for (auto& info : m_pluginInfos) { m_plugins.push_back(std::make_unique(*this, info.m_frame, info.m_interface, info.m_name, info.m_desc)); } diff --git a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp index 4d6563f1..6dc27d79 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp @@ -71,8 +71,12 @@ ToolsQtProgramOptions::ToolsQtProgramOptions() "Protocol information for plugin generation. Exepected to be in the following format:\n" "\"frame_id:interface_id:protocol_name:description\".\nUse comma separation for multiple plugins. If not provided, " "one frame and one interface from the schema will be chosen and code for only one protocol " - "plugin will be generated. Can be omitted if there is only one frame and one interface types " - "defined in the schema.", true) + "plugin will be generated.\n" + " * frame_id - Full reference id of the frame. Can be empty if there is only one frame.\n" + " * interface_id - Full reference id of the interface. Can be empty if there is only one interface.\n" + " * name - Name of the plugin to be desplayed in the tools.\n" + " * description - Description of the plugin.\n" + , true) (FullMultipleSchemasEnabledStr, "Allow having multiple schemas with different names.") (ForceMainNamespaceInOptionsStr, "Force having main namespace struct in generated options.") ; diff --git a/lib/src/gen/ProgramOptions.cpp b/lib/src/gen/ProgramOptions.cpp index 02c5c952..377a44d4 100644 --- a/lib/src/gen/ProgramOptions.cpp +++ b/lib/src/gen/ProgramOptions.cpp @@ -152,7 +152,7 @@ class ProgramOptionsImpl } - right += util::strReplace(util::strMakeMultiline(optPtr->m_desc, 40), "\n", Ind); + right += util::strReplace(util::strMakeMultiline(optPtr->m_desc, 60), "\n", Ind); opts.push_back(left + right); } diff --git a/lib/src/gen/util.cpp b/lib/src/gen/util.cpp index dcde7626..6a467926 100644 --- a/lib/src/gen/util.cpp +++ b/lib/src/gen/util.cpp @@ -537,6 +537,22 @@ std::string strMakeMultiline(const std::string& value, unsigned len) break; } + auto insertFunc = + [&result, &pos, &value](std::size_t newPos) + { + assert(pos <= newPos); + assert(newPos <= value.size()); + result.insert(result.end(), value.begin() + pos, value.begin() + newPos); + result.push_back('\n'); + pos = newPos + 1; + }; + + auto newLinePos = value.find_last_of("\n", nextPos); + if ((newLinePos != std::string::npos) && (pos <= newLinePos)) { + insertFunc(newLinePos); + continue; + } + static const std::string WhiteSpace(" \t\r"); auto prePos = value.find_last_of(WhiteSpace, nextPos); if ((prePos == std::string::npos) || (prePos < pos)) { @@ -552,15 +568,6 @@ std::string strMakeMultiline(const std::string& value, unsigned len) break; } - auto insertFunc = - [&result, &pos, &value](std::size_t newPos) - { - assert(pos <= newPos); - assert(newPos <= value.size()); - result.insert(result.end(), value.begin() + pos, value.begin() + newPos); - result.push_back('\n'); - pos = newPos + 1; - }; if (prePos <= pos) { insertFunc(postPos); From 7383e6d04863bc71fc7d85ed04a91f4b27db7eae Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 25 Feb 2024 15:43:14 +1000 Subject: [PATCH 51/60] Another attempt to fix commsdsl2tools_qt protocol configuration parsing. --- app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp index a81b4229..19ccb88e 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp @@ -143,13 +143,8 @@ const std::string& ToolsQtGenerator::toolsMinCcToolsQtVersion() bool ToolsQtGenerator::prepareImpl() { chooseProtocolSchema(); - bool result = - Base::prepareImpl() && - toolsPrepareDefaultInterfaceInternal() && - toolsPrepareSelectedInterfacesInternal() && - toolsPrepareSelectedFramesInternal(); - - if (!result) { + if ((!Base::prepareImpl()) || + (!toolsPrepareDefaultInterfaceInternal())) { return false; } @@ -192,6 +187,14 @@ bool ToolsQtGenerator::prepareImpl() m_plugins.push_back(std::make_unique(*this, info.m_frame, info.m_interface, info.m_name, info.m_desc)); } + bool result = + toolsPrepareSelectedInterfacesInternal() && + toolsPrepareSelectedFramesInternal(); + + if (!result) { + return false; + } + return std::all_of( m_plugins.begin(), m_plugins.end(), From a6794db49d98919d032aeb8823ddea420ee8c047 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 25 Feb 2024 16:24:00 +1000 Subject: [PATCH 52/60] Supporting protocol IID configuration. --- app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp | 8 +++++++- app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp | 13 +++++++++---- app/commsdsl2tools_qt/src/ToolsQtPlugin.h | 7 +++++-- app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp | 2 ++ app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h | 1 + lib/include/commsdsl/gen/util.h | 1 + lib/src/gen/Generator.cpp | 2 +- lib/src/gen/util.cpp | 9 +++++++++ 8 files changed, 35 insertions(+), 8 deletions(-) diff --git a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp index 19ccb88e..5832e5e2 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtGenerator.cpp @@ -184,7 +184,13 @@ bool ToolsQtGenerator::prepareImpl() info.m_desc = "Protocol " + schema.schemaName(); } - m_plugins.push_back(std::make_unique(*this, info.m_frame, info.m_interface, info.m_name, info.m_desc)); + if (info.m_pluginId.empty()) { + info.m_pluginId = info.m_name; + } + + m_plugins.push_back( + std::make_unique( + *this, info.m_frame, info.m_interface, info.m_name, info.m_desc, info.m_pluginId)); } bool result = diff --git a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp index 16ed199b..fc2e0ffc 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp @@ -531,12 +531,13 @@ bool ToolsQtPlugin::toolsWritePluginHeaderInternal() "} // namespace #^#TOP_NS#$#\n\n" ; + assert(!m_pluginId.empty()); util::ReplacementMap repl = { {"GENERATED", ToolsQtGenerator::toolsFileGeneratedComment()}, {"TOP_NS", m_generator.getTopNamespace()}, {"MAIN_NS", m_generator.currentSchema().mainNamespace()}, {"CLASS_NAME", toolsPluginClassNameInternal()}, - {"ID", toolsAdjustedNameInternal()}, + {"ID", m_pluginId}, {"PRIVATE", "private"}, {"EXTEND", extendCode}, {"INC", incCode}, @@ -702,11 +703,15 @@ bool ToolsQtPlugin::toolsWritePluginJsonInternal() " \"type\" : \"protocol\"\n" "}\n"; - auto name = toolsAdjustedNameInternal() + " Protocol"; + const std::string ProtocolSuffix("Protocol"); + auto name = toolsAdjustedNameInternal(); + if (!util::strEndsWith(name, ProtocolSuffix)) { + name += ' ' + ProtocolSuffix; + } auto desc = util::strMakeMultiline(m_description); if (!desc.empty()) { desc = '\"' + desc + '\"'; - util::strReplace(desc, "\n", "\",\n\""); + desc = util::strReplace(desc, "\n", "\",\n\""); } util::ReplacementMap repl = { @@ -999,4 +1004,4 @@ std::string ToolsQtPlugin::toolsRelFilePath(const std::string& name) const strings::pluginNamespaceStr() + '/' + name; } -} // namespace commsdsl2tools_qt \ No newline at end of file +} // namespace commsdsl2tools_qt diff --git a/app/commsdsl2tools_qt/src/ToolsQtPlugin.h b/app/commsdsl2tools_qt/src/ToolsQtPlugin.h index 56671cd3..7cbb4a48 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPlugin.h +++ b/app/commsdsl2tools_qt/src/ToolsQtPlugin.h @@ -35,12 +35,14 @@ class ToolsQtPlugin const std::string& frame, const std::string& interface, const std::string& name, - const std::string& description) : + const std::string& description, + const std::string& pluginId) : m_generator(generator), m_frame(frame), m_interface(interface), m_name(name), - m_description(description) + m_description(description), + m_pluginId(pluginId) { } @@ -77,6 +79,7 @@ class ToolsQtPlugin std::string m_interface; std::string m_name; std::string m_description; + std::string m_pluginId; const ToolsQtFrame* m_framePtr = nullptr; const ToolsQtInterface* m_interfacePtr = nullptr; diff --git a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp index 6dc27d79..b1eb55e9 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp @@ -147,6 +147,7 @@ ToolsQtProgramOptions::PluginInfosList ToolsQtProgramOptions::getPlugins() const ValueIdx_Interface, ValueIdx_Name, ValueIdx_Desc, + ValueIdx_PluginId, ValueIdx_NumOfValues }; @@ -158,6 +159,7 @@ ToolsQtProgramOptions::PluginInfosList ToolsQtProgramOptions::getPlugins() const resInfo.m_interface = values[ValueIdx_Interface]; resInfo.m_name = values[ValueIdx_Name]; resInfo.m_desc = values[ValueIdx_Desc]; + resInfo.m_pluginId = values[ValueIdx_NumOfValues]; } return result; } diff --git a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h index 2208ec8f..ce24e90e 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h +++ b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.h @@ -33,6 +33,7 @@ class ToolsQtProgramOptions : public commsdsl::gen::ProgramOptions std::string m_interface; std::string m_name; std::string m_desc; + std::string m_pluginId; }; using PluginInfosList = std::vector; diff --git a/lib/include/commsdsl/gen/util.h b/lib/include/commsdsl/gen/util.h index b56cc374..682e48ed 100644 --- a/lib/include/commsdsl/gen/util.h +++ b/lib/include/commsdsl/gen/util.h @@ -20,6 +20,7 @@ std::vector strSplitByAnyChar(const std::string& str, const std::st std::string strInsertIndent(const std::string& str); unsigned strToUnsigned(const std::string& str); bool strStartsWith(const std::string& str, const std::string& prefix); +bool strEndsWith(const std::string& str, const std::string& suffix); std::string strToUpper(const std::string& str); std::string strToLower(const std::string& str); std::string strToMacroName(const std::string& str); diff --git a/lib/src/gen/Generator.cpp b/lib/src/gen/Generator.cpp index 1b45f9da..1365a7d3 100644 --- a/lib/src/gen/Generator.cpp +++ b/lib/src/gen/Generator.cpp @@ -1331,7 +1331,7 @@ bool Generator::copyExtraSourceFiles(const std::vector& reservedExt std::string content((std::istreambuf_iterator(stream)), std::istreambuf_iterator()); stream.close(); - util::strReplace(content, "namespace " + schemaNs, "namespace " + protSchema.mainNamespace()); + content = util::strReplace(content, "namespace " + schemaNs, "namespace " + protSchema.mainNamespace()); std::ofstream outStream(destStr, std::ios_base::trunc); if (!outStream) { logger().error("Failed to modify " + destStr + "."); diff --git a/lib/src/gen/util.cpp b/lib/src/gen/util.cpp index 6a467926..aa7bc00e 100644 --- a/lib/src/gen/util.cpp +++ b/lib/src/gen/util.cpp @@ -251,6 +251,15 @@ bool strStartsWith(const std::string& str, const std::string& prefix) return std::equal(prefix.begin(), prefix.end(), str.begin()); } +bool strEndsWith(const std::string& str, const std::string& suffix) +{ + if (str.size() < suffix.size()) { + return false; + } + + return std::equal(suffix.rbegin(), suffix.rend(), str.rbegin()); +} + std::string strToUpper(const std::string& str) { std::string result; From dcbe87b04a3c44fbf08e637c728f6829bb9cf1b2 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 25 Feb 2024 16:34:33 +1000 Subject: [PATCH 53/60] Improvments to the program options description as well as the manual of the commsdsl2tools_qt. --- app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp | 4 +++- doc/Manual_commsdsl2tools_qt.md | 11 +++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp index b1eb55e9..adba016a 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp @@ -69,13 +69,15 @@ ToolsQtProgramOptions::ToolsQtProgramOptions() (FullCodeInputDirStr, "Directory with code updates.", true) (ProtocolStr, "Protocol information for plugin generation. Exepected to be in the following format:\n" - "\"frame_id:interface_id:protocol_name:description\".\nUse comma separation for multiple plugins. If not provided, " + "\"frame_id:interface_id:protocol_name:description:plugin_id\".\nUse comma separation for multiple plugins. If not provided, " "one frame and one interface from the schema will be chosen and code for only one protocol " "plugin will be generated.\n" " * frame_id - Full reference id of the frame. Can be empty if there is only one frame.\n" " * interface_id - Full reference id of the interface. Can be empty if there is only one interface.\n" " * name - Name of the plugin to be desplayed in the tools.\n" " * description - Description of the plugin.\n" + " * plugin_id - ID of the plugin to be used in the saved configuration file. When empty or " + "omitted same as \"name\" value is assumed.\n" , true) (FullMultipleSchemasEnabledStr, "Allow having multiple schemas with different names.") (ForceMainNamespaceInOptionsStr, "Force having main namespace struct in generated options.") diff --git a/doc/Manual_commsdsl2tools_qt.md b/doc/Manual_commsdsl2tools_qt.md index 12659c92..cc890065 100644 --- a/doc/Manual_commsdsl2tools_qt.md +++ b/doc/Manual_commsdsl2tools_qt.md @@ -65,14 +65,21 @@ files). To provide the necessary information use `--protocol` command line option: ``` -$> /path/to/commsdsl2tools_qt --protocol "frame_id:interface_id:protocol_name:description" +$> /path/to/commsdsl2tools_qt --protocol "frame_id:interface_id:protocol_name:description:plugin_id" ``` In case there is only one `` and/or only one `` (implicit or explicit) the relevant id can be omitted. For example: ``` -$> /path/to/commsdsl2tools_qt --protocol "::My Protocol:My Protocol Description" +$> /path/to/commsdsl2tools_qt --protocol "::My Protocol:My Protocol Description:my_protocol_id" +``` + +Colon (:) separated elements at the end can be omitted. In such case the **commsdsl2tools_qt** code +generator comes up with some default values. + +``` +$> /path/to/commsdsl2tools_qt --protocol "SomeFrame:SomeInterface:My Protocol" ``` It is possible to add support for multiple protocol plugins (with different frames / interfaces) From ffa6bfffe697f8a804fe71f8bb9718dff9afd404 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 25 Feb 2024 16:50:10 +1000 Subject: [PATCH 54/60] Improvements to the chosen protocol plugin file name in the code generated by the commsdsl2tools_qt. --- app/commsdsl2tools_qt/src/ToolsQtCmake.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp index 926779d0..676ad14b 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtCmake.cpp @@ -82,7 +82,7 @@ bool ToolsQtCmake::testWriteInternal() const "cc_compile(WARN_AS_ERR)\n" "cc_msvc_force_warn_opt(/W4)\n\n" "include(GNUInstallDirs)\n\n" - "set (CORE_LIB_NAME \"#^#MAIN_NS#$#_cc_tools_qt_plugin_core\")\n\n" + "set (CORE_LIB_NAME \"cc_tools_qt_plugin_#^#MAIN_NS#$#_protocol_core\")\n\n" "######################################################################\n\n" "function (cc_plugin_core)\n" " set (name ${CORE_LIB_NAME})\n" @@ -100,7 +100,10 @@ bool ToolsQtCmake::testWriteInternal() const "endfunction()\n\n" "######################################################################\n\n" "function (cc_plugin protocol has_config_widget)\n" - " string(TOLOWER \"cc_plugin_${protocol}\" name)\n\n" + " string(TOLOWER \"cc_tools_plugin_${protocol}\" name)\n\n" + " if (NOT \"${name}\" MATCHES \".*_protocol$\")\n" + " string(APPEND name \"_protocol\")\n" + " endif ()\n\n" " set (meta_file \"${CMAKE_CURRENT_SOURCE_DIR}/#^#TOP_NS#$#/#^#MAIN_NS#$#/plugin/Plugin_${protocol}.json\")\n" " set (stamp_file \"${CMAKE_CURRENT_BINARY_DIR}/${protocol}_refresh_stamp.txt\")\n\n" " if ((NOT EXISTS ${stamp_file}) OR (${meta_file} IS_NEWER_THAN ${stamp_file}))\n" From c8827621c09aa1f6816c59b9fbd8848490f5ce82 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 25 Feb 2024 16:54:51 +1000 Subject: [PATCH 55/60] Fixing plugin id parsing for the commsdsl2tools_qt. --- app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp index adba016a..264f15ec 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtProgramOptions.cpp @@ -161,7 +161,7 @@ ToolsQtProgramOptions::PluginInfosList ToolsQtProgramOptions::getPlugins() const resInfo.m_interface = values[ValueIdx_Interface]; resInfo.m_name = values[ValueIdx_Name]; resInfo.m_desc = values[ValueIdx_Desc]; - resInfo.m_pluginId = values[ValueIdx_NumOfValues]; + resInfo.m_pluginId = values[ValueIdx_PluginId]; } return result; } From 2f3a2b796ebbc5e5468511497df9587eb9eb3a14 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 25 Feb 2024 17:20:17 +1000 Subject: [PATCH 56/60] Fixing multiline plugin description generation in json file. --- app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp | 2 +- lib/include/commsdsl/gen/util.h | 2 +- lib/src/gen/util.cpp | 10 ++++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp index fc2e0ffc..dd0b1c68 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp @@ -708,7 +708,7 @@ bool ToolsQtPlugin::toolsWritePluginJsonInternal() if (!util::strEndsWith(name, ProtocolSuffix)) { name += ' ' + ProtocolSuffix; } - auto desc = util::strMakeMultiline(m_description); + auto desc = util::strMakeMultiline(m_description, 60, false); if (!desc.empty()) { desc = '\"' + desc + '\"'; desc = util::strReplace(desc, "\n", "\",\n\""); diff --git a/lib/include/commsdsl/gen/util.h b/lib/include/commsdsl/gen/util.h index 682e48ed..a0483e4e 100644 --- a/lib/include/commsdsl/gen/util.h +++ b/lib/include/commsdsl/gen/util.h @@ -43,7 +43,7 @@ std::string strListToString( void addToStrList(std::string&& value, StringsList& list); void addToStrList(const std::string& value, StringsList& list); -std::string strMakeMultiline(const std::string& value, unsigned len = 60); +std::string strMakeMultiline(const std::string& value, unsigned len = 60, bool dropReplacedWhiteChar = true); std::string readFileContents(const std::string& filePath); bool isFileReadable(const std::string& filePath); diff --git a/lib/src/gen/util.cpp b/lib/src/gen/util.cpp index aa7bc00e..45bcabce 100644 --- a/lib/src/gen/util.cpp +++ b/lib/src/gen/util.cpp @@ -530,7 +530,7 @@ void addToStrList(const std::string& value, StringsList& list) } } -std::string strMakeMultiline(const std::string& value, unsigned len) +std::string strMakeMultiline(const std::string& value, unsigned len, bool dropReplacedWhiteChar) { if (value.size() <= len) { return value; @@ -547,11 +547,14 @@ std::string strMakeMultiline(const std::string& value, unsigned len) } auto insertFunc = - [&result, &pos, &value](std::size_t newPos) + [&result, &pos, &value, dropReplacedWhiteChar](std::size_t newPos) { assert(pos <= newPos); assert(newPos <= value.size()); result.insert(result.end(), value.begin() + pos, value.begin() + newPos); + if ((!dropReplacedWhiteChar) && (newPos < value.size())) { + result.push_back(value[newPos]); + } result.push_back('\n'); pos = newPos + 1; }; @@ -562,7 +565,7 @@ std::string strMakeMultiline(const std::string& value, unsigned len) continue; } - static const std::string WhiteSpace(" \t\r"); + static const std::string WhiteSpace(" \t"); auto prePos = value.find_last_of(WhiteSpace, nextPos); if ((prePos == std::string::npos) || (prePos < pos)) { prePos = pos; @@ -577,7 +580,6 @@ std::string strMakeMultiline(const std::string& value, unsigned len) break; } - if (prePos <= pos) { insertFunc(postPos); continue; From 88a80a0eab6eef1428dc6460b708f1689fbf3901 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Sun, 25 Feb 2024 17:26:57 +1000 Subject: [PATCH 57/60] Alling usage of the "\n" in the protocol description string in the commsdsl2tools_qt protocol configuration parameter. --- app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp index dd0b1c68..a2640c77 100644 --- a/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp +++ b/app/commsdsl2tools_qt/src/ToolsQtPlugin.cpp @@ -708,7 +708,9 @@ bool ToolsQtPlugin::toolsWritePluginJsonInternal() if (!util::strEndsWith(name, ProtocolSuffix)) { name += ' ' + ProtocolSuffix; } - auto desc = util::strMakeMultiline(m_description, 60, false); + + auto desc = util::strReplace(m_description, "\\n", "\n"); + desc = util::strMakeMultiline(desc, 60, false); if (!desc.empty()) { desc = '\"' + desc + '\"'; desc = util::strReplace(desc, "\n", "\",\n\""); From 3610ac0b2a287313942d0a2858705a5dae24e351 Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 27 Feb 2024 07:43:01 +1000 Subject: [PATCH 58/60] Fixing appveyor configuration. --- .appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index d4447216..49e9eda8 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -64,8 +64,8 @@ environment: matrix: fast_finish: false exclude: - - image: Visual Studio 2017 - CPP_STD: 20 + - platform: x86 + QT_MAJOR: 6 install: - call script\appveyor_install.bat From 59c367246dda23a5527248fa9814f59b3327c3ed Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Wed, 28 Feb 2024 08:16:53 +1000 Subject: [PATCH 59/60] Improved error message for missing overriding file in commsdsl2comms. --- app/commsdsl2comms/src/CommsField.cpp | 2 +- app/commsdsl2comms/src/CommsMessage.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/commsdsl2comms/src/CommsField.cpp b/app/commsdsl2comms/src/CommsField.cpp index 309bbc2c..7ab32c4a 100644 --- a/app/commsdsl2comms/src/CommsField.cpp +++ b/app/commsdsl2comms/src/CommsField.cpp @@ -878,7 +878,7 @@ bool CommsField::commsPrepareOverrideInternal( if (customCode.empty() && isOverrideCodeRequired(type)) { m_field.generator().logger().error( "Overriding \"" + name + "\" operation is not provided in injected code for field \"" + - m_field.dslObj().externalRef() + "\"."); + m_field.dslObj().externalRef() + "\". Expected overriding file is \"" + codePathPrefix + suffix + "."); return false; } diff --git a/app/commsdsl2comms/src/CommsMessage.cpp b/app/commsdsl2comms/src/CommsMessage.cpp index 5d031db2..fe7451a5 100644 --- a/app/commsdsl2comms/src/CommsMessage.cpp +++ b/app/commsdsl2comms/src/CommsMessage.cpp @@ -331,7 +331,7 @@ bool CommsMessage::commsPrepareOverrideInternal( if (customCode.empty() && isOverrideCodeRequired(type)) { generator().logger().error( "Overriding \"" + name + "\" operation is not provided in injected code for message \"" + - dslObj().externalRef() + "\"."); + dslObj().externalRef() + "\". Expected overriding file is \"" + codePathPrefix + suffix + "."); return false; } From ed7b6765768a4dfb6e0916cb5104bf44a2200eaa Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Mon, 4 Mar 2024 08:04:13 +1000 Subject: [PATCH 60/60] Using v5.1 of the cc_tools_qt in the appveyor and github actions. --- .appveyor.yml | 2 +- .github/workflows/actions_build.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 49e9eda8..bd6c125c 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -18,7 +18,7 @@ configuration: environment: COMMS_BRANCH: v5.2.2 - CC_TOOLS_QT_BRANCH: develop + CC_TOOLS_QT_BRANCH: v5.1 matrix: - CPP_STD: 11 EXTRA_CONFIG: -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=OFF diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 1367d3ab..5d1edb61 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -4,7 +4,7 @@ on: [push] env: COMMS_BRANCH: v5.2.2 - CC_TOOLS_QT_BRANCH: develop + CC_TOOLS_QT_BRANCH: v5.1 jobs: build_gcc_old_ubuntu_20_04: