mirror of
https://github.com/Nmzik/KytyPS5.git
synced 2026-07-18 03:40:45 +00:00
SigninDialog ABI
This commit is contained in:
@@ -199,6 +199,114 @@ void KYTY_SYSV_ABI LoginDialogParamInitialize(void* param) {
|
||||
|
||||
} // namespace LoginDialog
|
||||
|
||||
namespace SigninDialog {
|
||||
|
||||
LIB_NAME("SigninDialog", "SigninDialog");
|
||||
|
||||
constexpr int SIGNIN_STATUS_NONE = 0;
|
||||
constexpr int SIGNIN_STATUS_INITIALIZED = 1;
|
||||
constexpr int SIGNIN_STATUS_RUNNING = 2;
|
||||
constexpr int SIGNIN_STATUS_FINISHED = 3;
|
||||
constexpr int SIGNIN_RESULT_USER_CANCELED = 1;
|
||||
|
||||
constexpr int SIGNIN_ERROR_NOT_INITIALIZED = static_cast<int>(0x81350001u);
|
||||
constexpr int SIGNIN_ERROR_ALREADY_INITIALIZED = static_cast<int>(0x81350002u);
|
||||
constexpr int SIGNIN_ERROR_PARAM_INVALID = static_cast<int>(0x81350003u);
|
||||
constexpr int SIGNIN_ERROR_INVALID_STATE = static_cast<int>(0x81350005u);
|
||||
|
||||
struct SigninDialogResult {
|
||||
int32_t result;
|
||||
int32_t reserved[3];
|
||||
};
|
||||
|
||||
struct SigninDialogParam {
|
||||
int32_t size;
|
||||
int32_t user_id;
|
||||
int32_t reserved[2];
|
||||
};
|
||||
|
||||
static_assert(sizeof(SigninDialogResult) == 16);
|
||||
static_assert(sizeof(SigninDialogParam) == 16);
|
||||
|
||||
static int g_signin_status = SIGNIN_STATUS_NONE;
|
||||
|
||||
int KYTY_SYSV_ABI SigninDialogInitialize() {
|
||||
PRINT_NAME();
|
||||
if (g_signin_status != SIGNIN_STATUS_NONE) {
|
||||
return SIGNIN_ERROR_ALREADY_INITIALIZED;
|
||||
}
|
||||
g_signin_status = SIGNIN_STATUS_INITIALIZED;
|
||||
return OK;
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI SigninDialogTerminate() {
|
||||
PRINT_NAME();
|
||||
if (g_signin_status == SIGNIN_STATUS_NONE) {
|
||||
return SIGNIN_ERROR_NOT_INITIALIZED;
|
||||
}
|
||||
g_signin_status = SIGNIN_STATUS_NONE;
|
||||
return OK;
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI SigninDialogOpen(const void* param) {
|
||||
PRINT_NAME();
|
||||
if (g_signin_status != SIGNIN_STATUS_INITIALIZED && g_signin_status != SIGNIN_STATUS_FINISHED) {
|
||||
return SIGNIN_ERROR_INVALID_STATE;
|
||||
}
|
||||
if (param == nullptr ||
|
||||
static_cast<const SigninDialogParam*>(param)->size != sizeof(SigninDialogParam)) {
|
||||
return SIGNIN_ERROR_PARAM_INVALID;
|
||||
}
|
||||
g_signin_status = SIGNIN_STATUS_RUNNING;
|
||||
return OK;
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI SigninDialogClose() {
|
||||
PRINT_NAME();
|
||||
if (g_signin_status == SIGNIN_STATUS_NONE) {
|
||||
return SIGNIN_ERROR_NOT_INITIALIZED;
|
||||
}
|
||||
if (g_signin_status != SIGNIN_STATUS_RUNNING && g_signin_status != SIGNIN_STATUS_FINISHED) {
|
||||
return SIGNIN_ERROR_INVALID_STATE;
|
||||
}
|
||||
g_signin_status = SIGNIN_STATUS_FINISHED;
|
||||
return OK;
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI SigninDialogUpdateStatus() {
|
||||
PRINT_NAME();
|
||||
if (g_signin_status == SIGNIN_STATUS_RUNNING) {
|
||||
g_signin_status = SIGNIN_STATUS_FINISHED;
|
||||
}
|
||||
return g_signin_status;
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI SigninDialogGetStatus() {
|
||||
PRINT_NAME();
|
||||
return g_signin_status;
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI SigninDialogGetResult(void* result) {
|
||||
PRINT_NAME();
|
||||
if (g_signin_status == SIGNIN_STATUS_NONE) {
|
||||
return SIGNIN_ERROR_NOT_INITIALIZED;
|
||||
}
|
||||
if (g_signin_status != SIGNIN_STATUS_FINISHED) {
|
||||
return SIGNIN_ERROR_INVALID_STATE;
|
||||
}
|
||||
if (result == nullptr) {
|
||||
return SIGNIN_ERROR_PARAM_INVALID;
|
||||
}
|
||||
auto* r = static_cast<SigninDialogResult*>(result);
|
||||
r->result = SIGNIN_RESULT_USER_CANCELED;
|
||||
r->reserved[0] = 0;
|
||||
r->reserved[1] = 0;
|
||||
r->reserved[2] = 0;
|
||||
return OK;
|
||||
}
|
||||
|
||||
} // namespace SigninDialog
|
||||
|
||||
namespace SaveDataDialog {
|
||||
|
||||
LIB_NAME("SaveDataDialog", "SaveDataDialog");
|
||||
|
||||
@@ -31,6 +31,18 @@ void KYTY_SYSV_ABI LoginDialogParamInitialize(void* param);
|
||||
|
||||
} // namespace LoginDialog
|
||||
|
||||
namespace SigninDialog {
|
||||
|
||||
int KYTY_SYSV_ABI SigninDialogInitialize();
|
||||
int KYTY_SYSV_ABI SigninDialogTerminate();
|
||||
int KYTY_SYSV_ABI SigninDialogOpen(const void* param);
|
||||
int KYTY_SYSV_ABI SigninDialogClose();
|
||||
int KYTY_SYSV_ABI SigninDialogUpdateStatus();
|
||||
int KYTY_SYSV_ABI SigninDialogGetStatus();
|
||||
int KYTY_SYSV_ABI SigninDialogGetResult(void* result);
|
||||
|
||||
} // namespace SigninDialog
|
||||
|
||||
namespace SaveDataDialog {
|
||||
|
||||
int KYTY_SYSV_ABI SaveDataDialogInitialize();
|
||||
|
||||
@@ -48,6 +48,24 @@ LIB_DEFINE(InitDialog_1_LoginDialog) {
|
||||
|
||||
} // namespace LibLoginDialog
|
||||
|
||||
namespace LibSigninDialog {
|
||||
|
||||
LIB_VERSION("SigninDialog", 1, "SigninDialog", 1, 1);
|
||||
|
||||
namespace SigninDialog = Dialog::SigninDialog;
|
||||
|
||||
LIB_DEFINE(InitDialog_1_SigninDialog) {
|
||||
LIB_FUNC("mlYGfmqE3fQ", SigninDialog::SigninDialogInitialize);
|
||||
LIB_FUNC("LXlmS6PvJdU", SigninDialog::SigninDialogTerminate);
|
||||
LIB_FUNC("JlpJVoRWv7U", SigninDialog::SigninDialogOpen);
|
||||
LIB_FUNC("M3OkENHcyiU", SigninDialog::SigninDialogClose);
|
||||
LIB_FUNC("Bw31liTFT3A", SigninDialog::SigninDialogUpdateStatus);
|
||||
LIB_FUNC("2m077aeC+PA", SigninDialog::SigninDialogGetStatus);
|
||||
LIB_FUNC("nqG7rqnYw1U", SigninDialog::SigninDialogGetResult);
|
||||
}
|
||||
|
||||
} // namespace LibSigninDialog
|
||||
|
||||
namespace LibSaveDataDialog {
|
||||
|
||||
LIB_VERSION("SaveDataDialog", 1, "SaveDataDialog", 1, 1);
|
||||
@@ -127,6 +145,7 @@ LIB_DEFINE(InitDialog_1) {
|
||||
LibCommonDialog::InitDialog_1_CommonDialog(s);
|
||||
LibImeDialog::InitDialog_1_ImeDialog(s);
|
||||
LibLoginDialog::InitDialog_1_LoginDialog(s);
|
||||
LibSigninDialog::InitDialog_1_SigninDialog(s);
|
||||
LibSaveDataDialog::InitDialog_1_SaveDataDialog(s);
|
||||
LibSaveDataDialogNative::InitDialog_1_SaveDataDialogNative(s);
|
||||
LibMsgDialog::InitDialog_1_MsgDialog(s);
|
||||
|
||||
Reference in New Issue
Block a user