mirror of
https://github.com/wiiu-env/WiiUPluginLoaderBackend.git
synced 2026-09-25 04:12:17 -05:00
Split up declaration and definition for some classes
This commit is contained in:
@@ -9,45 +9,15 @@ class PluginConfigData {
|
||||
public:
|
||||
PluginConfigData(std::string_view name,
|
||||
WUPSConfigAPI_MenuOpenedCallback openedCallback,
|
||||
WUPSConfigAPI_MenuClosedCallback closedCallback) : mName(name),
|
||||
mOpenedCallback(openedCallback),
|
||||
mClosedCallback(closedCallback) {
|
||||
}
|
||||
WUPSConfigAPI_MenuClosedCallback closedCallback);
|
||||
|
||||
[[nodiscard]] std::optional<WUPSConfigHandle> createConfig() const{
|
||||
WUPSConfigHandle handle;
|
||||
if (WUPSConfigAPIBackend::Intern::CreateConfig(mName.c_str(), &handle) == WUPSCONFIG_API_RESULT_SUCCESS) {
|
||||
return handle;
|
||||
}
|
||||
return std::nullopt;
|
||||
}
|
||||
[[nodiscard]] std::optional<WUPSConfigHandle> createConfig() const;
|
||||
|
||||
[[nodiscard]] WUPSConfigAPIStatus CallMenuOpenendCallback(WUPSConfigHandle config) const {
|
||||
if (mOpenedCallback == nullptr) {
|
||||
return WUPSCONFIG_API_RESULT_MISSING_CALLBACK;
|
||||
}
|
||||
if (mOpenedCallback(WUPSConfigCategoryHandle(config.handle)) != WUPSCONFIG_API_CALLBACK_RESULT_SUCCESS) {
|
||||
return WUPSCONFIG_API_RESULT_UNKNOWN_ERROR;
|
||||
}
|
||||
return WUPSCONFIG_API_RESULT_SUCCESS;
|
||||
}
|
||||
[[nodiscard]] WUPSConfigAPIStatus CallMenuOpenendCallback(WUPSConfigHandle config) const;
|
||||
|
||||
[[nodiscard]] WUPSConfigAPIStatus CallMenuClosedCallback() const {
|
||||
if (mClosedCallback == nullptr) {
|
||||
return WUPSCONFIG_API_RESULT_MISSING_CALLBACK;
|
||||
}
|
||||
mClosedCallback();
|
||||
return WUPSCONFIG_API_RESULT_SUCCESS;
|
||||
}
|
||||
[[nodiscard]] WUPSConfigAPIStatus CallMenuClosedCallback() const;
|
||||
|
||||
static std::optional<PluginConfigData> create(WUPSConfigAPIOptions options, WUPSConfigAPI_MenuOpenedCallback openedCallback, WUPSConfigAPI_MenuClosedCallback closedCallback) {
|
||||
if (options.version != 1) {
|
||||
return std::nullopt;
|
||||
}
|
||||
PluginConfigData result(options.data.v1.name, openedCallback, closedCallback);
|
||||
|
||||
return result;
|
||||
}
|
||||
static std::optional<PluginConfigData> create(WUPSConfigAPIOptions options, WUPSConfigAPI_MenuOpenedCallback openedCallback, WUPSConfigAPI_MenuClosedCallback closedCallback);
|
||||
|
||||
private:
|
||||
std::string mName;
|
||||
|
||||
Reference in New Issue
Block a user