#include #include #include std::optional WUPSConfigItemIPAddress::Create(const std::optional &identifier, const std::string_view displayName, uint32_t defaultValue, const IPAddressValueChangedCallback callback, WUPSConfigAPIStatus &err) noexcept { WUPSConfigItemHandle itemHandle; if ((err = WUPSConfigItemIPAddress_Create(identifier ? identifier->data() : nullptr, displayName.data(), defaultValue, callback, &itemHandle)) != WUPSCONFIG_API_RESULT_SUCCESS) { return std::nullopt; } return WUPSConfigItemIPAddress(itemHandle); } WUPSConfigItemIPAddress WUPSConfigItemIPAddress::Create(const std::optional &identifier, const std::string_view displayName, uint32_t defaultValue, const IPAddressValueChangedCallback callback) { WUPSConfigAPIStatus err = WUPSCONFIG_API_RESULT_UNKNOWN_ERROR; auto res = Create(identifier, displayName, defaultValue, callback, err); if (!res) { throw std::runtime_error(std::string("Failed to create WUPSConfigItemIPAddress: ").append(WUPSConfigAPI_GetStatusStr(err))); } return std::move(*res); }