forked from Kistler-Group/sdbus-cpp
fix: make Variant conversion operator explicit (#428)
Having explicit conversion operator is a good practice according to the C++ core guidelines, as it makes the code safer and better follows the principle of least astonishment. Also, it is consistent with the standard library style, where wrappers like std::variant, std::any, std::optional... also do not provide an implicit conversion to the underlying type. Last but not least, it paves the way for the upcoming std::variant <-> sdbus::Variant implicit conversions without surprising behavior in some edge cases.
This commit is contained in:
@@ -198,7 +198,7 @@ public:
|
||||
public:
|
||||
uint32_t action()
|
||||
{
|
||||
return proxy_->getProperty("action").onInterface(INTERFACE_NAME);
|
||||
return proxy_->getProperty("action").onInterface(INTERFACE_NAME).get<uint32_t>();
|
||||
}
|
||||
|
||||
void action(const uint32_t& value)
|
||||
@@ -208,7 +208,7 @@ public:
|
||||
|
||||
bool blocking()
|
||||
{
|
||||
return proxy_->getProperty("blocking").onInterface(INTERFACE_NAME);
|
||||
return proxy_->getProperty("blocking").onInterface(INTERFACE_NAME).get<bool>();
|
||||
}
|
||||
|
||||
void blocking(const bool& value)
|
||||
@@ -218,7 +218,7 @@ public:
|
||||
|
||||
std::string state()
|
||||
{
|
||||
return proxy_->getProperty("state").onInterface(INTERFACE_NAME);
|
||||
return proxy_->getProperty("state").onInterface(INTERFACE_NAME).get<std::string>();
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user