From cdde37033e33463127349a049df293e84cf2bbb4 Mon Sep 17 00:00:00 2001 From: William Roebuck <244554584+WilliamRoebuck@users.noreply.github.com> Date: Thu, 28 May 2026 09:43:56 +0100 Subject: [PATCH 1/4] Resolve warnings --- .../daemon/src/alive_monitor/details/MonitorImpl.cpp | 6 +++--- .../lifecycle_client/src/aasapplicationcontainer.cpp | 3 +-- .../lifecycle_client/src/aasapplicationcontainer.h | 4 ++-- .../lifecycle_client/src/applicationcontext.cpp | 2 +- .../lifecycle_client/src/applicationcontext.h | 3 +-- .../lifecycle_client/src/applicationcontextmock.cpp | 6 +++--- .../lifecycle_client/src/applicationcontextmock.h | 2 +- score/launch_manager/lifecycle_client/src/runapplication.h | 7 ++----- 8 files changed, 14 insertions(+), 19 deletions(-) diff --git a/score/launch_manager/daemon/src/alive_monitor/details/MonitorImpl.cpp b/score/launch_manager/daemon/src/alive_monitor/details/MonitorImpl.cpp index c57fab084..ba4242d01 100644 --- a/score/launch_manager/daemon/src/alive_monitor/details/MonitorImpl.cpp +++ b/score/launch_manager/daemon/src/alive_monitor/details/MonitorImpl.cpp @@ -119,15 +119,15 @@ std::string MonitorImpl::getIpcPath(void) noexcept(false) } std::unique_ptr MonitorImpl::read_flatbuffer_file() const { - const char* configFilePath = getenv("CONFIG_PATH"); - if(!configFilePath) { + const std::string_view configFilePath {getenv("CONFIG_PATH")}; + if(!configFilePath.data()) { return nullptr; } logger_r.LogDebug() << "Attempting to read config file from " << configFilePath; std::ifstream infile; - infile.open(configFilePath, std::ios::binary | std::ios::in); + infile.open(configFilePath.data(), std::ios::binary | std::ios::in); if (!infile.is_open()) { return nullptr; } diff --git a/score/launch_manager/lifecycle_client/src/aasapplicationcontainer.cpp b/score/launch_manager/lifecycle_client/src/aasapplicationcontainer.cpp index 02b383133..3e2132608 100644 --- a/score/launch_manager/lifecycle_client/src/aasapplicationcontainer.cpp +++ b/score/launch_manager/lifecycle_client/src/aasapplicationcontainer.cpp @@ -23,9 +23,8 @@ namespace mw namespace lifecycle { - AasApplicationContainer::AasApplicationContainer(const std::int32_t argc, - const score::StringLiteral* argv, + const char** argv, const std::size_t count_expected_applications) noexcept : Application{}, context_{argc, argv}, applications_{}, count_expected_applications_{count_expected_applications} { diff --git a/score/launch_manager/lifecycle_client/src/aasapplicationcontainer.h b/score/launch_manager/lifecycle_client/src/aasapplicationcontainer.h index fa93525a3..9e051a865 100644 --- a/score/launch_manager/lifecycle_client/src/aasapplicationcontainer.h +++ b/score/launch_manager/lifecycle_client/src/aasapplicationcontainer.h @@ -41,7 +41,7 @@ class AasApplicationContainer : public Application * @param count_expected_applications The expected number of applications. */ AasApplicationContainer(const std::int32_t argc, - const score::StringLiteral* argv, + const char** argv, const std::size_t count_expected_applications) noexcept; AasApplicationContainer(const AasApplicationContainer&) = delete; @@ -69,7 +69,7 @@ class AasApplicationContainer : public Application AasApplicationContainer& With(Args&&... args) { SCORE_LANGUAGE_FUTURECPP_ASSERT_PRD_MESSAGE(applications_.size() + 1 <= count_expected_applications_, - "Passed more Applications than expected"); + "Passed more Applications than expected"); applications_.push_back(std::make_unique(std::forward(args)...)); return *this; } diff --git a/score/launch_manager/lifecycle_client/src/applicationcontext.cpp b/score/launch_manager/lifecycle_client/src/applicationcontext.cpp index 263e785ce..2a386a39b 100644 --- a/score/launch_manager/lifecycle_client/src/applicationcontext.cpp +++ b/score/launch_manager/lifecycle_client/src/applicationcontext.cpp @@ -18,7 +18,7 @@ score::mw::lifecycle::ApplicationContext::ApplicationContext( const std::int32_t argc, - const score::StringLiteral argv[]) // NOLINT(modernize-avoid-c-arrays): array tolerated for command line arguments + const char* argv[]) // NOLINT(modernize-avoid-c-arrays): array tolerated for command line arguments : m_args(argv, argv + argc), m_app_path(argv[0]) // NOLINT(cppcoreguidelines-pro-bounds-pointer-arithmetic): array // tolerated for command line arguments { diff --git a/score/launch_manager/lifecycle_client/src/applicationcontext.h b/score/launch_manager/lifecycle_client/src/applicationcontext.h index 74a7e5a2c..810eaf151 100644 --- a/score/launch_manager/lifecycle_client/src/applicationcontext.h +++ b/score/launch_manager/lifecycle_client/src/applicationcontext.h @@ -14,7 +14,6 @@ #ifndef SCORE_MW_LIFECYCLE_APPLICATIONCONTEXT_H #define SCORE_MW_LIFECYCLE_APPLICATIONCONTEXT_H -#include "score/memory/string_literal.h" #include #include #include @@ -38,7 +37,7 @@ class ApplicationContext public: /* NOLINTNEXTLINE(modernize-avoid-c-arrays): array tolerated for command line arguments */ - ApplicationContext(const std::int32_t argc, const score::StringLiteral argv[]); + ApplicationContext(const std::int32_t argc, const char* argv[]); /** * \brief Utility function. diff --git a/score/launch_manager/lifecycle_client/src/applicationcontextmock.cpp b/score/launch_manager/lifecycle_client/src/applicationcontextmock.cpp index 31f9da6c0..72cee6654 100644 --- a/score/launch_manager/lifecycle_client/src/applicationcontextmock.cpp +++ b/score/launch_manager/lifecycle_client/src/applicationcontextmock.cpp @@ -21,7 +21,7 @@ namespace auto& GetConstructorCallback() noexcept { - static std::function constructor_callback{}; + static std::function constructor_callback{}; return constructor_callback; } @@ -41,7 +41,7 @@ auto& GetGetArgumentCallback() noexcept score::mw::lifecycle::ApplicationContextMock::ApplicationContextMock() { - GetConstructorCallback() = [this](const std::int32_t argc, const score::StringLiteral argv[]) { + GetConstructorCallback() = [this](const std::int32_t argc, const char* argv[]) { ctor(argc, argv); }; GetGetArgumentsCallback() = [this]() -> decltype(auto) { @@ -59,7 +59,7 @@ score::mw::lifecycle::ApplicationContextMock::~ApplicationContextMock() GetGetArgumentCallback() = nullptr; } -score::mw::lifecycle::ApplicationContext::ApplicationContext(const std::int32_t argc, const score::StringLiteral argv[]) +score::mw::lifecycle::ApplicationContext::ApplicationContext(const std::int32_t argc, const char* argv[]) { auto& constructor_callback = GetConstructorCallback(); constructor_callback(argc, argv); diff --git a/score/launch_manager/lifecycle_client/src/applicationcontextmock.h b/score/launch_manager/lifecycle_client/src/applicationcontextmock.h index 8ea9615b9..1adea78d7 100644 --- a/score/launch_manager/lifecycle_client/src/applicationcontextmock.h +++ b/score/launch_manager/lifecycle_client/src/applicationcontextmock.h @@ -36,7 +36,7 @@ class ApplicationContextMock ~ApplicationContextMock(); MOCK_METHOD(const std::vector&, get_arguments, (), ()); - MOCK_METHOD(void, ctor, (const std::int32_t argc, const score::StringLiteral argv[]), ()); + MOCK_METHOD(void, ctor, (const std::int32_t argc, const char* argv[]), ()); MOCK_METHOD(std::string, get_argument, (const std::string_view flag), ()); }; diff --git a/score/launch_manager/lifecycle_client/src/runapplication.h b/score/launch_manager/lifecycle_client/src/runapplication.h index 2fa5d8a2e..aa451c314 100644 --- a/score/launch_manager/lifecycle_client/src/runapplication.h +++ b/score/launch_manager/lifecycle_client/src/runapplication.h @@ -15,7 +15,6 @@ #define SCORE_MW_LIFECYCLE_RUNAPPLICATION_H #include "score/mw/lifecycle/lifecycle_client/lifecyclemanager.h" -#include "score/memory/string_literal.h" #include "score/mw/lifecycle/lifecycle_client/applicationcontext.h" #include @@ -32,8 +31,7 @@ class Run final { public: Run(const std::int32_t argc, - const score::StringLiteral* - argv) /* NOLINT(modernize-avoid-c-arrays): array tolerated for command line arguments */ + const char** argv) /* NOLINT(modernize-avoid-c-arrays): array tolerated for command line arguments */ : context_{argc, argv} { } @@ -66,7 +64,7 @@ class Run final template /* NOLINTNEXTLINE(modernize-avoid-c-arrays): array tolerated for command line arguments */ -std::int32_t run_application(const std::int32_t argc, const score::StringLiteral argv[], Args&&... args) +std::int32_t run_application(const std::int32_t argc, const char* argv[], Args&&... args) { score::mw::lifecycle::Run runner(argc, argv); return runner.AsPosixProcess(std::forward(args)...); @@ -77,4 +75,3 @@ std::int32_t run_application(const std::int32_t argc, const score::StringLiteral } // namespace score #endif // SCORE_MW_LIFECYCLE_RUNAPPLICATION_H - From 2ceaede0321b6fdb7f30d7d222944360884ab2f9 Mon Sep 17 00:00:00 2001 From: William Roebuck <244554584+WilliamRoebuck@users.noreply.github.com> Date: Thu, 28 May 2026 10:29:28 +0100 Subject: [PATCH 2/4] Fix const qualification, update docs --- docs/module/lifecycle_client_lib/model/structural_view.uxf | 6 +++--- .../lifecycle_client/src/aasapplicationcontainer.cpp | 2 +- .../lifecycle_client/src/aasapplicationcontainer.h | 2 +- .../lifecycle_client/src/applicationcontext.cpp | 2 +- .../lifecycle_client/src/applicationcontext.h | 5 +++-- .../lifecycle_client/src/applicationcontextmock.cpp | 6 +++--- .../lifecycle_client/src/applicationcontextmock.h | 2 +- score/launch_manager/lifecycle_client/src/runapplication.h | 4 ++-- 8 files changed, 15 insertions(+), 14 deletions(-) diff --git a/docs/module/lifecycle_client_lib/model/structural_view.uxf b/docs/module/lifecycle_client_lib/model/structural_view.uxf index 3237b39bc..6078cdfc0 100644 --- a/docs/module/lifecycle_client_lib/model/structural_view.uxf +++ b/docs/module/lifecycle_client_lib/model/structural_view.uxf @@ -6,7 +6,7 @@ Operation + run(amp::stop_token stop_token): std::int32_t virtual = 0UMLClass171855486135score::mw::lifecycle::ApplicationContext -- Operations -+ ApplicationContext(const int32_t argc, const score::StringLiteral argv[]) ++ ApplicationContext(const int32_t argc, const char* const argv[]) + get_arguments(): const std::vector<std::string>& const noexcept + get_argument(const amp::string_view flag): std::string const noexcept -- @@ -39,7 +39,7 @@ manages10;130;10;10 +#include "score/memory/string_literal.h" #include #include +#include #include namespace score @@ -37,7 +38,7 @@ class ApplicationContext public: /* NOLINTNEXTLINE(modernize-avoid-c-arrays): array tolerated for command line arguments */ - ApplicationContext(const std::int32_t argc, const char* argv[]); + ApplicationContext(const std::int32_t argc, const char* const argv[]); /** * \brief Utility function. diff --git a/score/launch_manager/lifecycle_client/src/applicationcontextmock.cpp b/score/launch_manager/lifecycle_client/src/applicationcontextmock.cpp index 72cee6654..f591fd9f6 100644 --- a/score/launch_manager/lifecycle_client/src/applicationcontextmock.cpp +++ b/score/launch_manager/lifecycle_client/src/applicationcontextmock.cpp @@ -21,7 +21,7 @@ namespace auto& GetConstructorCallback() noexcept { - static std::function constructor_callback{}; + static std::function constructor_callback{}; return constructor_callback; } @@ -41,7 +41,7 @@ auto& GetGetArgumentCallback() noexcept score::mw::lifecycle::ApplicationContextMock::ApplicationContextMock() { - GetConstructorCallback() = [this](const std::int32_t argc, const char* argv[]) { + GetConstructorCallback() = [this](const std::int32_t argc, const char* const argv[]) { ctor(argc, argv); }; GetGetArgumentsCallback() = [this]() -> decltype(auto) { @@ -59,7 +59,7 @@ score::mw::lifecycle::ApplicationContextMock::~ApplicationContextMock() GetGetArgumentCallback() = nullptr; } -score::mw::lifecycle::ApplicationContext::ApplicationContext(const std::int32_t argc, const char* argv[]) +score::mw::lifecycle::ApplicationContext::ApplicationContext(const std::int32_t argc, const char* const argv[]) { auto& constructor_callback = GetConstructorCallback(); constructor_callback(argc, argv); diff --git a/score/launch_manager/lifecycle_client/src/applicationcontextmock.h b/score/launch_manager/lifecycle_client/src/applicationcontextmock.h index 1adea78d7..119b4aca6 100644 --- a/score/launch_manager/lifecycle_client/src/applicationcontextmock.h +++ b/score/launch_manager/lifecycle_client/src/applicationcontextmock.h @@ -36,7 +36,7 @@ class ApplicationContextMock ~ApplicationContextMock(); MOCK_METHOD(const std::vector&, get_arguments, (), ()); - MOCK_METHOD(void, ctor, (const std::int32_t argc, const char* argv[]), ()); + MOCK_METHOD(void, ctor, (const std::int32_t argc, const char* const argv[]), ()); MOCK_METHOD(std::string, get_argument, (const std::string_view flag), ()); }; diff --git a/score/launch_manager/lifecycle_client/src/runapplication.h b/score/launch_manager/lifecycle_client/src/runapplication.h index aa451c314..943ddb4f6 100644 --- a/score/launch_manager/lifecycle_client/src/runapplication.h +++ b/score/launch_manager/lifecycle_client/src/runapplication.h @@ -31,7 +31,7 @@ class Run final { public: Run(const std::int32_t argc, - const char** argv) /* NOLINT(modernize-avoid-c-arrays): array tolerated for command line arguments */ + const char* const* argv) /* NOLINT(modernize-avoid-c-arrays): array tolerated for command line arguments */ : context_{argc, argv} { } @@ -64,7 +64,7 @@ class Run final template /* NOLINTNEXTLINE(modernize-avoid-c-arrays): array tolerated for command line arguments */ -std::int32_t run_application(const std::int32_t argc, const char* argv[], Args&&... args) +std::int32_t run_application(const std::int32_t argc, const char* const argv[], Args&&... args) { score::mw::lifecycle::Run runner(argc, argv); return runner.AsPosixProcess(std::forward(args)...); From 5f72d84dee1ba730fe2fb9a02f80d4a0193e209f Mon Sep 17 00:00:00 2001 From: William Roebuck <244554584+WilliamRoebuck@users.noreply.github.com> Date: Thu, 28 May 2026 11:52:11 +0100 Subject: [PATCH 3/4] Fix some text typos --- docs/module/lifecycle_client_lib/model/structural_view.uxf | 2 +- score/launch_manager/lifecycle_client/src/lifecyclemanager.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/module/lifecycle_client_lib/model/structural_view.uxf b/docs/module/lifecycle_client_lib/model/structural_view.uxf index 6078cdfc0..ce3fc16fc 100644 --- a/docs/module/lifecycle_client_lib/model/structural_view.uxf +++ b/docs/module/lifecycle_client_lib/model/structural_view.uxf @@ -55,7 +55,7 @@ environmentsRun(m_stop_source.get_token()); // LCOV_EXCL_BR_LINE if (run_status != 0) { - mw::log::LogError() << "Error occured during Run"; + mw::log::LogError() << "Error occurred during Run"; } mw::log::LogInfo() << "Shutting down Application"; mw::log::LogInfo() << "Application" << application_name << "run finished with" << run_status; From 4e52ba79944243c24391a840f2480de917cd2b12 Mon Sep 17 00:00:00 2001 From: William Roebuck <244554584+WilliamRoebuck@users.noreply.github.com> Date: Thu, 28 May 2026 12:01:27 +0100 Subject: [PATCH 4/4] Replace pointer to pointer syntax with pointer array --- docs/module/lifecycle_client_lib/model/structural_view.uxf | 4 ++-- .../lifecycle_client/src/aasapplicationcontainer.cpp | 2 +- .../lifecycle_client/src/aasapplicationcontainer.h | 2 +- score/launch_manager/lifecycle_client/src/runapplication.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/module/lifecycle_client_lib/model/structural_view.uxf b/docs/module/lifecycle_client_lib/model/structural_view.uxf index ce3fc16fc..f97e7f3c5 100644 --- a/docs/module/lifecycle_client_lib/model/structural_view.uxf +++ b/docs/module/lifecycle_client_lib/model/structural_view.uxf @@ -39,7 +39,7 @@ manages10;130;10;10