46 lines
1.0 KiB
C++
46 lines
1.0 KiB
C++
#include <atomic>
|
|
#include <cstdint>
|
|
#include <stdexcept>
|
|
#include <cstddef>
|
|
#include "SceTypes.hpp"
|
|
#include "prx/libc/include/General.hpp"
|
|
|
|
namespace {
|
|
std::atomic<int> g_status{0};
|
|
}
|
|
|
|
extern "C" {
|
|
|
|
int APS5_VABI sceWebBrowserDialogInitialize(void) {
|
|
int expected = 0;
|
|
if (!g_status.compare_exchange_strong(expected, 1)) throw std::logic_error("sceWebBrowserDialogInitialize: already initialized");
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceWebBrowserDialogTerminate(void) {
|
|
int expected = 1;
|
|
if (!g_status.compare_exchange_strong(expected, 0)) throw std::logic_error("sceWebBrowserDialogTerminate: not initialized or still running");
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceWebBrowserDialogClose(void) {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceWebBrowserDialogGetResult(void) {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceWebBrowserDialogOpen(void) {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceWebBrowserDialogUpdateStatus(void) {
|
|
return g_status.load();
|
|
}
|
|
|
|
}
|