wiiload_plugin/src/main.cpp

70 lines
2.2 KiB
C++
Raw Permalink Normal View History

#include "main.h"
#include "config.h"
#include "globals.h"
2019-11-24 14:35:38 +01:00
#include "utils/TcpReceiver.h"
2022-02-04 15:47:35 +01:00
#include "utils/logger.h"
#include "utils/utils.h"
#include <coreinit/debug.h>
#include <notifications/notifications.h>
#include <rpxloader/rpxloader.h>
2022-02-04 15:47:35 +01:00
#include <wups.h>
#include <wups/config/WUPSConfigItemBoolean.h>
2024-03-23 20:19:53 +01:00
#include <wups_backend/api.h>
2019-11-24 14:35:38 +01:00
WUPS_PLUGIN_NAME("Wiiload");
WUPS_PLUGIN_DESCRIPTION("Wiiload Server");
WUPS_PLUGIN_VERSION(VERSION_FULL);
2019-11-24 14:35:38 +01:00
WUPS_PLUGIN_AUTHOR("Maschell");
WUPS_PLUGIN_LICENSE("GPL3");
2019-11-24 14:35:38 +01:00
2021-09-24 20:51:39 +02:00
WUPS_USE_WUT_DEVOPTAB();
2019-11-24 14:35:38 +01:00
WUPS_USE_STORAGE("wiiload"); // Unique id for the storage api
2019-11-24 14:35:38 +01:00
INITIALIZE_PLUGIN() {
RPXLoaderStatus error;
if ((error = RPXLoader_InitLibrary()) != RPX_LOADER_RESULT_SUCCESS) {
DEBUG_FUNCTION_LINE_ERR("WiiLoad Plugin: Failed to init RPXLoader. Error %d", error);
} else {
gLibRPXLoaderInitDone = true;
}
gTcpReceiverThread.reset();
NotificationModuleStatus res;
if ((res = NotificationModule_InitLibrary()) != NOTIFICATION_MODULE_RESULT_SUCCESS) {
2023-12-26 20:30:28 +01:00
DEBUG_FUNCTION_LINE_ERR("Failed to init NotificationModule: %s", NotificationModule_GetStatusStr(res));
} else {
NotificationModule_SetDefaultValue(NOTIFICATION_MODULE_NOTIFICATION_TYPE_ERROR, NOTIFICATION_MODULE_DEFAULT_OPTION_DURATION_BEFORE_FADE_OUT, 10.0f);
}
2024-03-23 20:19:53 +01:00
PluginBackendApiErrorType res2;
if ((res2 = WUPSBackend_InitLibrary()) != PLUGIN_BACKEND_API_ERROR_NONE) {
DEBUG_FUNCTION_LINE_WARN("Failed to init WUPSBackend Api: %s", WUPSBackend_GetStatusStr(res2));
}
InitConfigAndStorage();
}
2024-03-23 20:19:53 +01:00
DEINITIALIZE_PLUGIN() {
RPXLoader_DeInitLibrary();
NotificationModule_DeInitLibrary();
WUPSBackend_DeInitLibrary();
}
/* Entry point */
ON_APPLICATION_START() {
initLogging();
if (gWiiloadServerEnabled) {
DEBUG_FUNCTION_LINE("Start wiiload thread");
gTcpReceiverThread = make_unique_nothrow<TcpReceiver>(4299);
if (gTcpReceiverThread == nullptr) {
DEBUG_FUNCTION_LINE_ERR("Failed to create wiiload thread");
}
} else {
DEBUG_FUNCTION_LINE("Wiiload server is disabled");
2022-10-06 23:07:36 +02:00
}
2019-11-24 14:35:38 +01:00
}
ON_APPLICATION_ENDS() {
gTcpReceiverThread.reset();
deinitLogging();
}