diff --git a/client/src/network/abstractproperty.hpp b/client/src/network/abstractproperty.hpp index 6560bd56..b43cdfc8 100644 --- a/client/src/network/abstractproperty.hpp +++ b/client/src/network/abstractproperty.hpp @@ -51,6 +51,13 @@ class AbstractProperty : public BaseProperty return static_cast(toInt64()); } + template + void setValueEnum(T value) + { + static_assert(std::is_enum_v); + return setValueInt64(static_cast(value)); + } + template T toSet() const { @@ -58,6 +65,13 @@ class AbstractProperty : public BaseProperty return static_cast(toInt64()); } + template + void setValueSet(T value) + { + static_assert(is_set_v); + return setValueInt64(static_cast(value)); + } + [[nodiscard]] virtual int setValueBool(bool value, std::function callback) { Q_ASSERT(value != value); return -1; } [[nodiscard]] virtual int setValueInt64(int64_t value, std::function callback) { Q_ASSERT(value != value); return -1; } [[nodiscard]] virtual int setValueDouble(double value, std::function callback) { Q_ASSERT(value != value); return -1; }