From 6d3ee2e495bae276a7f45dd0bd09a2195456ad38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanislav=20Angelovi=C4=8D?= Date: Tue, 24 Oct 2023 22:43:39 +0200 Subject: [PATCH] refactor: make Variant constructor explicit --- ChangeLog | 1 + include/sdbus-c++/Types.h | 2 +- tests/integrationtests/DBusSignalsTests.cpp | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 65841db4..eb24966a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -252,6 +252,7 @@ v2.x what before had to be obtained through `PollData::getAbsoluteTimeout()` call. - `PollData::getRelativeTimeout()` return type was changed to `std::chrono::microseconds`. - `IConnection::processPendingRequest()` was renamed to `IConnection::processPendingEvent()`. + - `Variant` constructor is now explicit. - Systemd of at least v238 is required to compile sdbus-c++ - A proper fix for timeout handling - Fix for external event loops in which the event loop thread ID was not correctly initialized (now fixed and simplified by not needing the thread ID anymore) diff --git a/include/sdbus-c++/Types.h b/include/sdbus-c++/Types.h index 6d25c287..22fe8be2 100644 --- a/include/sdbus-c++/Types.h +++ b/include/sdbus-c++/Types.h @@ -56,7 +56,7 @@ namespace sdbus { Variant(); template - /*explicit*/ Variant(const _ValueType& value) // TODO: Mark explicit in new major version so we don't break client code within v1 + explicit Variant(const _ValueType& value) : Variant() { msg_.openVariant(signature_of<_ValueType>::str()); diff --git a/tests/integrationtests/DBusSignalsTests.cpp b/tests/integrationtests/DBusSignalsTests.cpp index d75dcb70..c850e9bd 100644 --- a/tests/integrationtests/DBusSignalsTests.cpp +++ b/tests/integrationtests/DBusSignalsTests.cpp @@ -103,7 +103,6 @@ TYPED_TEST(SdbusTestObject, EmitsSignalWithVariantSuccesfully) { double d = 3.14; this->m_adaptor->emitSignalWithVariant(sdbus::Variant{d}); - this->m_adaptor->emitSignalWithVariant(d); ASSERT_TRUE(waitUntil(this->m_proxy->m_gotSignalWithVariant)); ASSERT_THAT(this->m_proxy->m_variantFromSignal, DoubleEq(d));