diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 657e0af..a9dfcfa 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -8,8 +8,10 @@ on: - '**' env: - COMMS_TAG: v5.2.7 - CC_MQTT5_TAG: v2.9 + COMMS_TAG: v5.3 + CC_MQTT5_TAG: v3.0 + WIN_BOOST_VERSION: "1.87.0" + WIN_BOOST_DIR: "C:/local/boost_1_87_0" jobs: build_gcc_ubuntu_22_04: @@ -304,7 +306,8 @@ jobs: if: matrix.arch == 'x64' shell: cmd run: | - choco install boost-msvc-14.2 --version=1.85.0 + choco install boost-msvc-14.2 --version=${{env.WIN_BOOST_VERSION}} + echo BOOST_DIR=${{env.WIN_BOOST_DIR}}/lib64-msvc-14.2/cmake >>%GITHUB_ENV% - name: Prepare externals shell: cmd @@ -325,8 +328,8 @@ jobs: working-directory: ${{runner.workspace}}/build run: | cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^ - -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} ^ - -DCMAKE_POLICY_DEFAULT_CMP0167=OLD -DBoost_USE_STATIC_LIBS=ON ^ + -DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;%BOOST_DIR%" -DCMAKE_CXX_STANDARD=${{matrix.cpp}} ^ + -DCMAKE_POLICY_DEFAULT_CMP0167=NEW ^ -DCC_MQTT5_BUILD_UNIT_TESTS=ON ^ -DCC_MQTT5_CUSTOM_CLIENT_CONFIG_FILES="%GITHUB_WORKSPACE%/client/lib/script/BareMetalTestConfig.cmake;%GITHUB_WORKSPACE%/client/lib/script/Qos0TestConfig.cmake;%GITHUB_WORKSPACE%/client/lib/script/Qos1TestConfig.cmake" ^ -DCC_MQTT5_CLIENT_APPS=${{env.HAS_BOOST}} -DCC_MQTT5_CLIENT_AFL_FUZZ=${{env.HAS_BOOST}} @@ -363,7 +366,8 @@ jobs: if: matrix.arch == 'x64' shell: cmd run: | - choco install boost-msvc-14.3 --version=1.85.0 + choco install boost-msvc-14.3 --version=${{env.WIN_BOOST_VERSION}} + echo BOOST_DIR=${{env.WIN_BOOST_DIR}}/lib64-msvc-14.3/cmake >>%GITHUB_ENV% - name: Prepare externals shell: cmd @@ -384,8 +388,8 @@ jobs: working-directory: ${{runner.workspace}}/build run: | cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^ - -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} ^ - -DCMAKE_POLICY_DEFAULT_CMP0167=OLD -DBoost_USE_STATIC_LIBS=ON ^ + -DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;%BOOST_DIR%" -DCMAKE_CXX_STANDARD=${{matrix.cpp}} ^ + -DCMAKE_POLICY_DEFAULT_CMP0167=NEW ^ -DCC_MQTT5_BUILD_UNIT_TESTS=ON ^ -DCC_MQTT5_CUSTOM_CLIENT_CONFIG_FILES="%GITHUB_WORKSPACE%/client/lib/script/BareMetalTestConfig.cmake;%GITHUB_WORKSPACE%/client/lib/script/Qos0TestConfig.cmake;%GITHUB_WORKSPACE%/client/lib/script/Qos1TestConfig.cmake" ^ -DCC_MQTT5_CLIENT_APPS=${{env.HAS_BOOST}} -DCC_MQTT5_CLIENT_AFL_FUZZ=${{env.HAS_BOOST}} diff --git a/README.md b/README.md index 49b3209..e12d834 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,12 @@ to parse the command line arguments and the events loop and manage network connection(s)). # How to Build -Detailed instructions on how to build and install all the components can be +This project has several external dependencies. It is highly recommended to use the +[cc.cmake](https://github.com/commschamp/cc.cmake) project to bring in all the +necessary components of the [CommsChampion Ecosystem](https://commschamp.github.io) +(including this one as well) into a third party project. + +Detailed instructions on how to build sources of **this** particular repository can be found in [doc/BUILD.md](doc/BUILD.md) file. # How to Fuzz Test diff --git a/client/afl_fuzz/AflFuzz.cpp.templ b/client/afl_fuzz/AflFuzz.cpp.templ index 1333346..2c58636 100644 --- a/client/afl_fuzz/AflFuzz.cpp.templ +++ b/client/afl_fuzz/AflFuzz.cpp.templ @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/afl_fuzz/AflFuzz.h b/client/afl_fuzz/AflFuzz.h index 96b697c..4a19c7e 100644 --- a/client/afl_fuzz/AflFuzz.h +++ b/client/afl_fuzz/AflFuzz.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/afl_fuzz/Generator.cpp b/client/afl_fuzz/Generator.cpp index de2ffcf..5ffbb06 100644 --- a/client/afl_fuzz/Generator.cpp +++ b/client/afl_fuzz/Generator.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/afl_fuzz/Generator.h b/client/afl_fuzz/Generator.h index aa04a8e..1358176 100644 --- a/client/afl_fuzz/Generator.h +++ b/client/afl_fuzz/Generator.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/afl_fuzz/Logger.cpp b/client/afl_fuzz/Logger.cpp index 6ce2423..e56accb 100644 --- a/client/afl_fuzz/Logger.cpp +++ b/client/afl_fuzz/Logger.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/afl_fuzz/Logger.h b/client/afl_fuzz/Logger.h index b95a996..10cd893 100644 --- a/client/afl_fuzz/Logger.h +++ b/client/afl_fuzz/Logger.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/afl_fuzz/ProgramOptions.cpp b/client/afl_fuzz/ProgramOptions.cpp index b9aa571..2a762ba 100644 --- a/client/afl_fuzz/ProgramOptions.cpp +++ b/client/afl_fuzz/ProgramOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/afl_fuzz/ProgramOptions.h b/client/afl_fuzz/ProgramOptions.h index d96b8c9..d85261c 100644 --- a/client/afl_fuzz/ProgramOptions.h +++ b/client/afl_fuzz/ProgramOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/afl_fuzz/main.cpp b/client/afl_fuzz/main.cpp index 5ac6db5..95f2ec5 100644 --- a/client/afl_fuzz/main.cpp +++ b/client/afl_fuzz/main.cpp @@ -1,3 +1,10 @@ +// +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + #include "AflFuzz.h" #include "Logger.h" #include "ProgramOptions.h" diff --git a/client/app/common/AppClient.cpp b/client/app/common/AppClient.cpp index b9adec8..6b84f73 100644 --- a/client/app/common/AppClient.cpp +++ b/client/app/common/AppClient.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -721,8 +721,7 @@ void AppClient::nextTickProgramInternal(unsigned duration) unsigned AppClient::cancelNextTickWaitInternal() { - boost::system::error_code ec; - m_timer.cancel(ec); + m_timer.cancel(); auto now = Clock::now(); auto diff = std::chrono::duration_cast(now - m_lastWaitProgram).count(); return static_cast(diff); diff --git a/client/app/common/AppClient.h b/client/app/common/AppClient.h index bc7f232..083237a 100644 --- a/client/app/common/AppClient.h +++ b/client/app/common/AppClient.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/common/ProgramOptions.cpp b/client/app/common/ProgramOptions.cpp index 44bed0d..fb4eb03 100644 --- a/client/app/common/ProgramOptions.cpp +++ b/client/app/common/ProgramOptions.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/common/ProgramOptions.h b/client/app/common/ProgramOptions.h index 88cba58..6b45ff4 100644 --- a/client/app/common/ProgramOptions.h +++ b/client/app/common/ProgramOptions.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/common/Session.cpp b/client/app/common/Session.cpp index 2d7ac11..c95d6b0 100644 --- a/client/app/common/Session.cpp +++ b/client/app/common/Session.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/common/Session.h b/client/app/common/Session.h index 81fb78b..af8884d 100644 --- a/client/app/common/Session.h +++ b/client/app/common/Session.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/common/TcpSession.cpp b/client/app/common/TcpSession.cpp index d48e691..e525722 100644 --- a/client/app/common/TcpSession.cpp +++ b/client/app/common/TcpSession.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/common/TcpSession.h b/client/app/common/TcpSession.h index 3ed88d6..00ddf47 100644 --- a/client/app/common/TcpSession.h +++ b/client/app/common/TcpSession.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/pub/Pub.cpp b/client/app/pub/Pub.cpp index 4204ffc..1972a08 100644 --- a/client/app/pub/Pub.cpp +++ b/client/app/pub/Pub.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/pub/Pub.h b/client/app/pub/Pub.h index bf88596..bdc18cc 100644 --- a/client/app/pub/Pub.h +++ b/client/app/pub/Pub.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/pub/main.cpp b/client/app/pub/main.cpp index eea5420..7092ba9 100644 --- a/client/app/pub/main.cpp +++ b/client/app/pub/main.cpp @@ -1,3 +1,9 @@ +// +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. #include "Pub.h" diff --git a/client/app/sub/Sub.cpp b/client/app/sub/Sub.cpp index 2926755..d0d0b70 100644 --- a/client/app/sub/Sub.cpp +++ b/client/app/sub/Sub.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Sublic // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/sub/Sub.h b/client/app/sub/Sub.h index 662d341..c88df3d 100644 --- a/client/app/sub/Sub.h +++ b/client/app/sub/Sub.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/app/sub/main.cpp b/client/app/sub/main.cpp index 262160d..c1ef3c7 100644 --- a/client/app/sub/main.cpp +++ b/client/app/sub/main.cpp @@ -1,3 +1,9 @@ +// +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. #include "Sub.h" diff --git a/client/lib/include/cc_mqtt5_client/common.h b/client/lib/include/cc_mqtt5_client/common.h index 92eee5c..888c8d6 100644 --- a/client/lib/include/cc_mqtt5_client/common.h +++ b/client/lib/include/cc_mqtt5_client/common.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -26,7 +26,7 @@ extern "C" { /// @brief Patch level of the library /// @ingroup global -#define CC_MQTT5_CLIENT_PATCH_VERSION 2U +#define CC_MQTT5_CLIENT_PATCH_VERSION 3U /// @brief Macro to create numeric version as single unsigned number /// @ingroup global diff --git a/client/lib/script/BareMetalTestConfig.cmake b/client/lib/script/BareMetalTestConfig.cmake index 702b5c0..23be128 100644 --- a/client/lib/script/BareMetalTestConfig.cmake +++ b/client/lib/script/BareMetalTestConfig.cmake @@ -17,7 +17,7 @@ set(CC_MQTT5_CLIENT_CLIENT_ID_FIELD_FIXED_LEN 50) set(CC_MQTT5_CLIENT_USERNAME_FIELD_FIXED_LEN 20) # Limit the max length of the topics -#set(CC_MQTT5_CLIENT_TOPIC_FIELD_FIXED_LEN 100) +set(CC_MQTT5_CLIENT_TOPIC_FIELD_FIXED_LEN ${CC_MQTT5_CLIENT_STRING_FIELD_FIXED_LEN}) # Limit the length of all the binary data fields set (CC_MQTT5_CLIENT_BIN_DATA_FIELD_FIXED_LEN 512) diff --git a/client/lib/script/WriteProtocolOptions.cmake b/client/lib/script/WriteProtocolOptions.cmake index 83c21e6..f266352 100644 --- a/client/lib/script/WriteProtocolOptions.cmake +++ b/client/lib/script/WriteProtocolOptions.cmake @@ -58,46 +58,65 @@ endif () if (NOT ${CC_MQTT5_CLIENT_BIN_DATA_FIELD_FIXED_LEN} EQUAL 0) set (FIELD_BIN_DATA "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_BIN_DATA_FIELD_FIXED_LEN}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_BIN_DATA_FIELD_FIXED_LEN needs to be set") endif () if (NOT ${CC_MQTT5_CLIENT_PROPERTIES_LIST_FIELD_FIXED_LEN} EQUAL 0) set (FIELD_PROPERTIES_LIST "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_PROPERTIES_LIST_FIELD_FIXED_LEN}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_PROPERTIES_LIST_FIELD_FIXED_LEN needs to be set") endif () if (NOT ${CC_MQTT5_CLIENT_STRING_FIELD_FIXED_LEN} EQUAL 0) set (FIELD_STRING "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_STRING_FIELD_FIXED_LEN}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_STRING_FIELD_FIXED_LEN needs to be set") endif () if (NOT ${CC_MQTT5_CLIENT_MAX_OUTPUT_PACKET_SIZE} EQUAL 0) set (MAX_PACKET_SIZE "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_MAX_OUTPUT_PACKET_SIZE}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_MAX_OUTPUT_PACKET_SIZE needs to be set") endif () if (NOT ${CC_MQTT5_CLIENT_CLIENT_ID_FIELD_FIXED_LEN} EQUAL 0) set (MESSAGE_CONNECT_FIELDS_CLIENT_ID "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_CLIENT_ID_FIELD_FIXED_LEN}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_CLIENT_ID_FIELD_FIXED_LEN needs to be set") endif () if (NOT ${CC_MQTT5_CLIENT_USERNAME_FIELD_FIXED_LEN} EQUAL 0) set (MESSAGE_CONNECT_FIELDS_USERNAME "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_USERNAME_FIELD_FIXED_LEN}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_USERNAME_FIELD_FIXED_LEN needs to be set") endif () if (NOT ${CC_MQTT5_CLIENT_PASSWORD_FIELD_FIXED_LEN} EQUAL 0) set (MESSAGE_CONNECT_FIELDS_PASSWORD "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_PASSWORD_FIELD_FIXED_LEN}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_PASSWORD_FIELD_FIXED_LEN needs to be set") endif () if (NOT ${CC_MQTT5_CLIENT_TOPIC_FIELD_FIXED_LEN} EQUAL 0) set (FIELD_TOPIC "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_TOPIC_FIELD_FIXED_LEN}>") set (MESSAGE_CONNECT_FIELDS_WILL_TOPIC "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_TOPIC_FIELD_FIXED_LEN}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_TOPIC_FIELD_FIXED_LEN needs to be set") endif () if (NOT ${CC_MQTT5_CLIENT_ASYNC_SUBS_LIMIT} EQUAL 0) set (MESSAGE_SUBSCRIBE_FIELDS_LIST "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_ASYNC_SUBS_LIMIT}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_ASYNC_SUBS_LIMIT needs to be set") endif () if (NOT ${CC_MQTT5_CLIENT_ASYNC_UNSUBS_LIMIT} EQUAL 0) set (MESSAGE_UNSUBSCRIBE_FIELDS_LIST "comms::option::app::FixedSizeStorage<${CC_MQTT5_CLIENT_ASYNC_UNSUBS_LIMIT}>") +elseif (NOT ${CC_MQTT5_CLIENT_HAS_DYN_MEM_ALLOC}) + message (FATAL_ERROR "When dynamic memory allocation is disabled, the CC_MQTT5_CLIENT_ASYNC_UNSUBS_LIMIT needs to be set") endif () - ######################################### replace_in_text (FIELD_BIN_DATA) diff --git a/client/lib/src/ClientAllocator.h b/client/lib/src/ClientAllocator.h index 1c91c2b..f9ddc24 100644 --- a/client/lib/src/ClientAllocator.h +++ b/client/lib/src/ClientAllocator.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/ClientImpl.cpp b/client/lib/src/ClientImpl.cpp index 1b9175c..f8d45bb 100644 --- a/client/lib/src/ClientImpl.cpp +++ b/client/lib/src/ClientImpl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/ClientImpl.h b/client/lib/src/ClientImpl.h index 2870e5c..dd4d329 100644 --- a/client/lib/src/ClientImpl.h +++ b/client/lib/src/ClientImpl.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/ClientState.h b/client/lib/src/ClientState.h index 6cab97c..9392120 100644 --- a/client/lib/src/ClientState.h +++ b/client/lib/src/ClientState.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/ConfigState.h b/client/lib/src/ConfigState.h index 1dc6fc0..69331f3 100644 --- a/client/lib/src/ConfigState.h +++ b/client/lib/src/ConfigState.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/ExtConfig.h b/client/lib/src/ExtConfig.h index fc4a6b7..656b65c 100644 --- a/client/lib/src/ExtConfig.h +++ b/client/lib/src/ExtConfig.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/ObjAllocator.h b/client/lib/src/ObjAllocator.h index b1a7084..a79ba2d 100644 --- a/client/lib/src/ObjAllocator.h +++ b/client/lib/src/ObjAllocator.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/ObjListType.h b/client/lib/src/ObjListType.h index 3e5d161..b7ed715 100644 --- a/client/lib/src/ObjListType.h +++ b/client/lib/src/ObjListType.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/PropsHandler.h b/client/lib/src/PropsHandler.h index d99f965..7da3eb2 100644 --- a/client/lib/src/PropsHandler.h +++ b/client/lib/src/PropsHandler.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/ProtocolDefs.h b/client/lib/src/ProtocolDefs.h index 6aeca71..a90f87c 100644 --- a/client/lib/src/ProtocolDefs.h +++ b/client/lib/src/ProtocolDefs.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -20,7 +20,7 @@ #include -static_assert(COMMS_MAKE_VERSION(2, 9, 0) <= CC_MQTT5_VERSION, +static_assert(COMMS_MAKE_VERSION(3, 0, 0) <= CC_MQTT5_VERSION, "The version of the cc_mqtt5 library is too low."); namespace cc_mqtt5_client diff --git a/client/lib/src/ReuseState.h b/client/lib/src/ReuseState.h index 55bb18c..22b8c6f 100644 --- a/client/lib/src/ReuseState.h +++ b/client/lib/src/ReuseState.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/SessionState.h b/client/lib/src/SessionState.h index 7477557..fd87163 100644 --- a/client/lib/src/SessionState.h +++ b/client/lib/src/SessionState.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/TimerMgr.cpp b/client/lib/src/TimerMgr.cpp index 0442159..9269e67 100644 --- a/client/lib/src/TimerMgr.cpp +++ b/client/lib/src/TimerMgr.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/TimerMgr.h b/client/lib/src/TimerMgr.h index 72db82b..9efbc7b 100644 --- a/client/lib/src/TimerMgr.h +++ b/client/lib/src/TimerMgr.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/TopicAliasDefs.h b/client/lib/src/TopicAliasDefs.h index b7415fb..9412cc1 100644 --- a/client/lib/src/TopicAliasDefs.h +++ b/client/lib/src/TopicAliasDefs.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/TopicFilterDefs.h b/client/lib/src/TopicFilterDefs.h index 7098f72..84a3ce0 100644 --- a/client/lib/src/TopicFilterDefs.h +++ b/client/lib/src/TopicFilterDefs.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/ConnectOp.cpp b/client/lib/src/op/ConnectOp.cpp index 1693947..fb7bf38 100644 --- a/client/lib/src/op/ConnectOp.cpp +++ b/client/lib/src/op/ConnectOp.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/ConnectOp.h b/client/lib/src/op/ConnectOp.h index 2662a6c..cd363c7 100644 --- a/client/lib/src/op/ConnectOp.h +++ b/client/lib/src/op/ConnectOp.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/DisconnectOp.cpp b/client/lib/src/op/DisconnectOp.cpp index d382216..e441908 100644 --- a/client/lib/src/op/DisconnectOp.cpp +++ b/client/lib/src/op/DisconnectOp.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/DisconnectOp.h b/client/lib/src/op/DisconnectOp.h index a2384c9..50227f2 100644 --- a/client/lib/src/op/DisconnectOp.h +++ b/client/lib/src/op/DisconnectOp.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/KeepAliveOp.cpp b/client/lib/src/op/KeepAliveOp.cpp index 75fe2b3..15889a4 100644 --- a/client/lib/src/op/KeepAliveOp.cpp +++ b/client/lib/src/op/KeepAliveOp.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/KeepAliveOp.h b/client/lib/src/op/KeepAliveOp.h index d478280..bc204c8 100644 --- a/client/lib/src/op/KeepAliveOp.h +++ b/client/lib/src/op/KeepAliveOp.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/Op.cpp b/client/lib/src/op/Op.cpp index ef5c881..9236380 100644 --- a/client/lib/src/op/Op.cpp +++ b/client/lib/src/op/Op.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/Op.h b/client/lib/src/op/Op.h index cbe017f..dcbd616 100644 --- a/client/lib/src/op/Op.h +++ b/client/lib/src/op/Op.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/ReauthOp.cpp b/client/lib/src/op/ReauthOp.cpp index 372aac7..58bd555 100644 --- a/client/lib/src/op/ReauthOp.cpp +++ b/client/lib/src/op/ReauthOp.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/ReauthOp.h b/client/lib/src/op/ReauthOp.h index f556635..07da2dc 100644 --- a/client/lib/src/op/ReauthOp.h +++ b/client/lib/src/op/ReauthOp.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/RecvOp.cpp b/client/lib/src/op/RecvOp.cpp index d365b87..11e89c7 100644 --- a/client/lib/src/op/RecvOp.cpp +++ b/client/lib/src/op/RecvOp.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/RecvOp.h b/client/lib/src/op/RecvOp.h index d63ff05..7f0674e 100644 --- a/client/lib/src/op/RecvOp.h +++ b/client/lib/src/op/RecvOp.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/SendOp.cpp b/client/lib/src/op/SendOp.cpp index 054ede0..bdcec2d 100644 --- a/client/lib/src/op/SendOp.cpp +++ b/client/lib/src/op/SendOp.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/SendOp.h b/client/lib/src/op/SendOp.h index 2f15bb2..96c6e21 100644 --- a/client/lib/src/op/SendOp.h +++ b/client/lib/src/op/SendOp.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/SubscribeOp.cpp b/client/lib/src/op/SubscribeOp.cpp index 4e026f5..c9de78d 100644 --- a/client/lib/src/op/SubscribeOp.cpp +++ b/client/lib/src/op/SubscribeOp.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/SubscribeOp.h b/client/lib/src/op/SubscribeOp.h index 28aa682..0de824f 100644 --- a/client/lib/src/op/SubscribeOp.h +++ b/client/lib/src/op/SubscribeOp.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/UnsubscribeOp.cpp b/client/lib/src/op/UnsubscribeOp.cpp index 6fc15fa..faa0706 100644 --- a/client/lib/src/op/UnsubscribeOp.cpp +++ b/client/lib/src/op/UnsubscribeOp.cpp @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/src/op/UnsubscribeOp.h b/client/lib/src/op/UnsubscribeOp.h index fb8972c..c87c3b2 100644 --- a/client/lib/src/op/UnsubscribeOp.h +++ b/client/lib/src/op/UnsubscribeOp.h @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/templ/Config.h.templ b/client/lib/templ/Config.h.templ index 714213d..737ca74 100644 --- a/client/lib/templ/Config.h.templ +++ b/client/lib/templ/Config.h.templ @@ -1,3 +1,10 @@ +// +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + #pragma once namespace cc_mqtt5_client diff --git a/client/lib/templ/ProtocolOptions.h.templ b/client/lib/templ/ProtocolOptions.h.templ index 8e3eec4..46002e9 100644 --- a/client/lib/templ/ProtocolOptions.h.templ +++ b/client/lib/templ/ProtocolOptions.h.templ @@ -1,3 +1,10 @@ +// +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + #pragma once #include "cc_mqtt5/options/ClientDefaultOptions.h" @@ -140,11 +147,14 @@ public: { struct FrameLayers : public BaseImpl::frame::FrameLayers { - using Data = - std::tuple< - ##MAX_PACKET_SIZE##, - BaseImpl::frame::FrameLayers::Data - >; + struct DataMembers : public BaseImpl::frame::FrameLayers::DataMembers + { + using Field = + std::tuple< + ##MAX_PACKET_SIZE##, + BaseImpl::frame::FrameLayers::DataMembers::Field + >; + }; // struct DataMembers using IdAndFlags = std::tuple< diff --git a/client/lib/templ/client.c.templ b/client/lib/templ/client.c.templ index def484f..3f8e9ef 100644 --- a/client/lib/templ/client.c.templ +++ b/client/lib/templ/client.c.templ @@ -1,5 +1,5 @@ // -// Copyright 2024 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2024 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/templ/client.cpp.templ b/client/lib/templ/client.cpp.templ index 94a3d71..edcbc74 100644 --- a/client/lib/templ/client.cpp.templ +++ b/client/lib/templ/client.cpp.templ @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/templ/client.h.templ b/client/lib/templ/client.h.templ index fab9387..8fc3385 100644 --- a/client/lib/templ/client.h.templ +++ b/client/lib/templ/client.h.templ @@ -1,5 +1,5 @@ // -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. +// Copyright 2023 - 2025 (C). Alex Robenko. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/client/lib/test/unit/UnitTestPropsHandler.h b/client/lib/test/unit/UnitTestPropsHandler.h index cc307fb..dccf7bb 100644 --- a/client/lib/test/unit/UnitTestPropsHandler.h +++ b/client/lib/test/unit/UnitTestPropsHandler.h @@ -1,10 +1,3 @@ -// -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - #pragma once #include "cc_mqtt5/field/Property.h" diff --git a/client/lib/test/unit/UnitTestProtocolDefs.h b/client/lib/test/unit/UnitTestProtocolDefs.h index ed3b9e8..39cd1db 100644 --- a/client/lib/test/unit/UnitTestProtocolDefs.h +++ b/client/lib/test/unit/UnitTestProtocolDefs.h @@ -1,10 +1,3 @@ -// -// Copyright 2023 - 2024 (C). Alex Robenko. All rights reserved. -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - #pragma once #include "cc_mqtt5/Message.h" diff --git a/doc/BUILD.md b/doc/BUILD.md index 7b3d885..f5782ae 100644 --- a/doc/BUILD.md +++ b/doc/BUILD.md @@ -22,9 +22,9 @@ in configuration of the [github actions](../.github/workflows/actions_build.yml) The provided **applications** use [Boost](https://www.boost.org) libraries to parse their command line arguments as well as manage their event loop / network connections. In case the application are compiled and the [Boost](https://www.boost.org) libraries -do not reside in a default system location, use [BOOST_ROOT](https://cmake.org/cmake/help/latest/module/FindBoost.html#hints) -variable to specify their install directory. It is recommended to also use `-DBoost_USE_STATIC_LIBS=ON` parameter to force -linkage with static Boost libraries (especially on Windows). +do not reside in a default system location, use the relevant variables described in the +[FindBoost](https://cmake.org/cmake/help/latest/module/FindBoost.html) +documentation to help with finding appropriate boost libraries. ## Choosing C++ Standard The default and minimal required C++ standard version to build this project is **17**. However it