mirror of
https://github.com/wiiu-env/WiiUPluginSystem.git
synced 2026-03-21 17:54:10 -05:00
32 lines
1.8 KiB
C++
32 lines
1.8 KiB
C++
#include <stdexcept>
|
|
#include <wups/config/WUPSConfigItemIPAddress.h>
|
|
#include <wups/config_api.h>
|
|
|
|
std::optional<WUPSConfigItemIPAddress> WUPSConfigItemIPAddress::Create(const std::optional<std::string> &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<std::string> &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);
|
|
}
|