mirror of
https://github.com/wiiu-env/WiiUPluginSystem.git
synced 2025-02-15 08:09:12 +01:00
ConfigAPI: Clean up
This commit is contained in:
parent
d2d5c5c40b
commit
94ce09af19
@ -1,8 +1,9 @@
|
||||
#include "wups/config_api.h"
|
||||
#include "wups/wups_debug.h"
|
||||
#include <coreinit/dynload.h>
|
||||
#include <wups/config.h>
|
||||
|
||||
#include <coreinit/dynload.h>
|
||||
|
||||
static OSDynLoad_Module sModuleHandle = nullptr;
|
||||
|
||||
static WUPSConfigAPIStatus (*sAPIGetVersion)(WUPSConfigAPIVersion *out) = nullptr;
|
||||
@ -20,7 +21,7 @@ static WUPSConfigAPIVersion sConfigAPIVersion = WUPS_CONFIG_API_VERSION_ERROR;
|
||||
static bool sConfigLibInitDone = false;
|
||||
static uint32_t sConfigPluginIdentifier = 0xFFFFFFFF;
|
||||
|
||||
const char *WUPSConfigAPI_GetStatusStr(WUPSConfigAPIStatus status) {
|
||||
const char *WUPSConfigAPI_GetStatusStr(const WUPSConfigAPIStatus status) {
|
||||
switch (status) {
|
||||
case WUPSCONFIG_API_RESULT_SUCCESS:
|
||||
return "WUPSCONFIG_API_RESULT_SUCCESS";
|
||||
@ -50,7 +51,7 @@ const char *WUPSConfigAPI_GetStatusStr(WUPSConfigAPIStatus status) {
|
||||
return "WUPSCONFIG_API_RESULT_UNKNOWN_ERROR";
|
||||
}
|
||||
|
||||
extern "C" WUPSConfigAPIStatus WUPSConfigAPI_InitLibrary_Internal(wups_loader_init_config_args_t args) {
|
||||
extern "C" WUPSConfigAPIStatus WUPSConfigAPI_InitLibrary_Internal(const wups_loader_init_config_args_t args) {
|
||||
if (sConfigLibInitDone) {
|
||||
return WUPSCONFIG_API_RESULT_SUCCESS;
|
||||
}
|
||||
@ -63,47 +64,47 @@ extern "C" WUPSConfigAPIStatus WUPSConfigAPI_InitLibrary_Internal(wups_loader_in
|
||||
return WUPSCONFIG_API_RESULT_MODULE_NOT_FOUND;
|
||||
}
|
||||
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_GetVersion", (void **) &sAPIGetVersion) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_GetVersion", reinterpret_cast<void **>(&sAPIGetVersion)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libuwps: FindExport WUPSConfigAPI_GetVersion failed.\n");
|
||||
return WUPSCONFIG_API_RESULT_MODULE_MISSING_EXPORT;
|
||||
}
|
||||
auto res = WUPSConfigAPI_GetVersion(&sConfigAPIVersion);
|
||||
if (res != WUPSCONFIG_API_RESULT_SUCCESS) {
|
||||
|
||||
if (const auto res = WUPSConfigAPI_GetVersion(&sConfigAPIVersion); res != WUPSCONFIG_API_RESULT_SUCCESS) {
|
||||
return WUPSCONFIG_API_RESULT_UNSUPPORTED_VERSION;
|
||||
}
|
||||
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_InitEx", (void **) &sAPIInitEx) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_InitEx", reinterpret_cast<void **>(&sAPIInitEx)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libwups: FindExport WUPSConfigAPI_InitEx failed.\n");
|
||||
return WUPSCONFIG_API_RESULT_MODULE_MISSING_EXPORT;
|
||||
}
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Category_CreateEx", (void **) &sAPICategoryCreateEx) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Category_CreateEx", reinterpret_cast<void **>(&sAPICategoryCreateEx)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libwups: FindExport WUPSConfigAPI_Category_CreateEx failed.\n");
|
||||
return WUPSCONFIG_API_RESULT_MODULE_MISSING_EXPORT;
|
||||
}
|
||||
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Category_Destroy", (void **) &sAPICategoryDestroy) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Category_Destroy", reinterpret_cast<void **>(&sAPICategoryDestroy)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libwups: FindExport WUPSConfigAPI_Category_Destroy failed.\n");
|
||||
return WUPSCONFIG_API_RESULT_MODULE_MISSING_EXPORT;
|
||||
}
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Category_AddCategory", (void **) &sAPICategoryAddCategory) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Category_AddCategory", reinterpret_cast<void **>(&sAPICategoryAddCategory)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libwups: FindExport WUPSConfigAPI_Category_AddCategory failed.\n");
|
||||
return WUPSCONFIG_API_RESULT_MODULE_MISSING_EXPORT;
|
||||
}
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Category_AddItem", (void **) &sAPICategoryAddItem) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Category_AddItem", reinterpret_cast<void **>(&sAPICategoryAddItem)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libwups: FindExport WUPSConfigAPI_Category_AddItem failed.\n");
|
||||
return WUPSCONFIG_API_RESULT_MODULE_MISSING_EXPORT;
|
||||
}
|
||||
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Item_CreateEx", (void **) &sAPIItemCreateEx) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Item_CreateEx", reinterpret_cast<void **>(&sAPIItemCreateEx)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libwups: FindExport WUPSConfigAPI_Item_Create failed.\n");
|
||||
return WUPSCONFIG_API_RESULT_MODULE_MISSING_EXPORT;
|
||||
}
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Item_Destroy", (void **) &sAPIItemDestroy) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Item_Destroy", reinterpret_cast<void **>(&sAPIItemDestroy)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libwups: FindExport WUPSConfigAPI_Item_Destroy failed.\n");
|
||||
return WUPSCONFIG_API_RESULT_MODULE_MISSING_EXPORT;
|
||||
}
|
||||
// This one is allowed to fail.
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Menu_GetStatus", (void **) &sAPIMenuGetStatus) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_Menu_GetStatus", reinterpret_cast<void **>(&sAPIMenuGetStatus)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libwups: FindExport WUPSConfigAPI_Menu_GetStatus failed.\n");
|
||||
}
|
||||
|
||||
@ -124,7 +125,7 @@ WUPSConfigAPIStatus WUPSConfigAPI_GetVersion(WUPSConfigAPIVersion *outVariable)
|
||||
return WUPSCONFIG_API_RESULT_MODULE_NOT_FOUND;
|
||||
}
|
||||
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_GetVersion", (void **) &sAPIGetVersion) != OS_DYNLOAD_OK) {
|
||||
if (OSDynLoad_FindExport(sModuleHandle, OS_DYNLOAD_EXPORT_FUNC, "WUPSConfigAPI_GetVersion", reinterpret_cast<void **>(&sAPIGetVersion)) != OS_DYNLOAD_OK) {
|
||||
WUPS_DEBUG_REPORT("libwups: FindExport WUPSConfigAPI_GetVersion failed.\n");
|
||||
return WUPSCONFIG_API_RESULT_MODULE_MISSING_EXPORT;
|
||||
}
|
||||
@ -133,7 +134,10 @@ WUPSConfigAPIStatus WUPSConfigAPI_GetVersion(WUPSConfigAPIVersion *outVariable)
|
||||
return sAPIGetVersion(outVariable);
|
||||
}
|
||||
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_InitEx(uint32_t pluginIdentifier, WUPSConfigAPIOptions options, WUPSConfigAPI_MenuOpenedCallback openedCallback, WUPSConfigAPI_MenuClosedCallback closedCallback) {
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_InitEx(const uint32_t pluginIdentifier,
|
||||
const WUPSConfigAPIOptions options,
|
||||
const WUPSConfigAPI_MenuOpenedCallback openedCallback,
|
||||
const WUPSConfigAPI_MenuClosedCallback closedCallback) {
|
||||
if (sConfigAPIVersion == WUPS_CONFIG_API_VERSION_ERROR) {
|
||||
return WUPSCONFIG_API_RESULT_LIB_UNINITIALIZED;
|
||||
}
|
||||
@ -148,18 +152,18 @@ WUPSConfigAPIStatus WUPSConfigAPI_InitEx(uint32_t pluginIdentifier, WUPSConfigAP
|
||||
return sAPIInitEx(pluginIdentifier, options, openedCallback, closedCallback);
|
||||
}
|
||||
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Init(WUPSConfigAPIOptionsV1 optionsV1, WUPSConfigAPI_MenuOpenedCallback openedCallback, WUPSConfigAPI_MenuClosedCallback closedCallback) {
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Init(const WUPSConfigAPIOptionsV1 optionsV1, const WUPSConfigAPI_MenuOpenedCallback openedCallback, const WUPSConfigAPI_MenuClosedCallback closedCallback) {
|
||||
if (sConfigPluginIdentifier == 0xFFFFFFFF) {
|
||||
return WUPSCONFIG_API_RESULT_INVALID_PLUGIN_IDENTIFIER;
|
||||
}
|
||||
WUPSConfigAPIOptions options = {
|
||||
const WUPSConfigAPIOptions options = {
|
||||
.version = WUPS_API_CONFIG_API_OPTION_VERSION_V1,
|
||||
.data = {.v1 = optionsV1},
|
||||
};
|
||||
return WUPSConfigAPI_InitEx(sConfigPluginIdentifier, options, openedCallback, closedCallback);
|
||||
}
|
||||
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Category_CreateEx(WUPSConfigAPICreateCategoryOptions options, WUPSConfigCategoryHandle *out) {
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Category_CreateEx(const WUPSConfigAPICreateCategoryOptions options, WUPSConfigCategoryHandle *out) {
|
||||
if (sConfigAPIVersion == WUPS_CONFIG_API_VERSION_ERROR) {
|
||||
return WUPSCONFIG_API_RESULT_LIB_UNINITIALIZED;
|
||||
}
|
||||
@ -174,7 +178,7 @@ WUPSConfigAPIStatus WUPSConfigAPI_Category_CreateEx(WUPSConfigAPICreateCategoryO
|
||||
return sAPICategoryCreateEx(options, out);
|
||||
}
|
||||
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Category_Destroy(WUPSConfigCategoryHandle handle) {
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Category_Destroy(const WUPSConfigCategoryHandle handle) {
|
||||
if (sConfigAPIVersion == WUPS_CONFIG_API_VERSION_ERROR) {
|
||||
return WUPSCONFIG_API_RESULT_LIB_UNINITIALIZED;
|
||||
}
|
||||
@ -189,7 +193,7 @@ WUPSConfigAPIStatus WUPSConfigAPI_Category_Destroy(WUPSConfigCategoryHandle hand
|
||||
return sAPICategoryDestroy(handle);
|
||||
}
|
||||
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Category_AddCategory(WUPSConfigCategoryHandle parentHandle, WUPSConfigCategoryHandle categoryHandle) {
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Category_AddCategory(const WUPSConfigCategoryHandle parentHandle, const WUPSConfigCategoryHandle categoryHandle) {
|
||||
if (sConfigAPIVersion == WUPS_CONFIG_API_VERSION_ERROR) {
|
||||
return WUPSCONFIG_API_RESULT_LIB_UNINITIALIZED;
|
||||
}
|
||||
@ -204,7 +208,7 @@ WUPSConfigAPIStatus WUPSConfigAPI_Category_AddCategory(WUPSConfigCategoryHandle
|
||||
return sAPICategoryAddCategory(parentHandle, categoryHandle);
|
||||
}
|
||||
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Category_AddItem(WUPSConfigCategoryHandle parentHandle, WUPSConfigItemHandle itemHandle) {
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Category_AddItem(const WUPSConfigCategoryHandle parentHandle, const WUPSConfigItemHandle itemHandle) {
|
||||
if (sConfigAPIVersion == WUPS_CONFIG_API_VERSION_ERROR) {
|
||||
return WUPSCONFIG_API_RESULT_LIB_UNINITIALIZED;
|
||||
}
|
||||
@ -212,7 +216,7 @@ WUPSConfigAPIStatus WUPSConfigAPI_Category_AddItem(WUPSConfigCategoryHandle pare
|
||||
return WUPSCONFIG_API_RESULT_UNSUPPORTED_COMMAND;
|
||||
}
|
||||
|
||||
if (parentHandle == 0 || itemHandle == 0) {
|
||||
if (parentHandle == nullptr || itemHandle == nullptr) {
|
||||
return WUPSCONFIG_API_RESULT_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
@ -234,7 +238,7 @@ WUPSConfigAPIStatus WUPSConfigAPI_Item_CreateEx(WUPSConfigAPICreateItemOptions o
|
||||
return sAPIItemCreateEx(options, out);
|
||||
}
|
||||
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Item_Destroy(WUPSConfigItemHandle handle) {
|
||||
WUPSConfigAPIStatus WUPSConfigAPI_Item_Destroy(const WUPSConfigItemHandle handle) {
|
||||
if (sConfigAPIVersion == WUPS_CONFIG_API_VERSION_ERROR) {
|
||||
return WUPSCONFIG_API_RESULT_LIB_UNINITIALIZED;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user