Merge pull request #229 from hyln9/master

Added imc0: mounting
This commit is contained in:
TheOfficialFloW 2017-04-23 15:21:44 +02:00 committed by GitHub
commit 516d3bf3a7
5 changed files with 41 additions and 3 deletions

1
file.c
View File

@ -26,6 +26,7 @@
static char *devices[] = {
"gro0:",
"grw0:",
"imc0:",
"os0:",
"pd0:",
"sa0:",

View File

@ -102,6 +102,7 @@ void loadLanguage(int id) {
// Context menu strings
LANGUAGE_ENTRY(REFRESH_LIVEAREA),
LANGUAGE_ENTRY(MOUNT_UMA0),
LANGUAGE_ENTRY(MOUNT_IMC0),
LANGUAGE_ENTRY(MOUNT_USB_UX0),
LANGUAGE_ENTRY(UMOUNT_USB_UX0),
LANGUAGE_ENTRY(SORT_BY),
@ -219,6 +220,7 @@ void loadLanguage(int id) {
LANGUAGE_ENTRY(USB_WAIT_ATTACH),
// Others
LANGUAGE_ENTRY(IMC0_MOUNTED),
LANGUAGE_ENTRY(SAFE_MODE),
LANGUAGE_ENTRY(UNSAFE_MODE),
LANGUAGE_ENTRY(PLEASE_WAIT),

View File

@ -61,6 +61,7 @@ enum LanguageContainer {
// Context menu strings
REFRESH_LIVEAREA,
MOUNT_UMA0,
MOUNT_IMC0,
MOUNT_USB_UX0,
UMOUNT_USB_UX0,
SORT_BY,
@ -178,6 +179,7 @@ enum LanguageContainer {
USB_UX0_UMOUNTED,
// Others
IMC0_MOUNTED,
SAFE_MODE,
UNSAFE_MODE,
PLEASE_WAIT,

View File

@ -31,6 +31,7 @@
enum MenuHomeEntrys {
MENU_HOME_ENTRY_REFRESH_LIVEAREA,
MENU_HOME_ENTRY_MOUNT_UMA0,
MENU_HOME_ENTRY_MOUNT_IMC0,
MENU_HOME_ENTRY_MOUNT_USB_UX0,
MENU_HOME_ENTRY_UMOUNT_USB_UX0,
};
@ -38,8 +39,9 @@ enum MenuHomeEntrys {
MenuEntry menu_home_entries[] = {
{ REFRESH_LIVEAREA, 0, 0, CTX_INVISIBLE },
{ MOUNT_UMA0, 1, 0, CTX_INVISIBLE },
{ MOUNT_USB_UX0, 3, 0, CTX_INVISIBLE },
{ UMOUNT_USB_UX0, 4, 0, CTX_INVISIBLE },
{ MOUNT_IMC0, 2, 0, CTX_INVISIBLE },
{ MOUNT_USB_UX0, 4, 0, CTX_INVISIBLE },
{ UMOUNT_USB_UX0, 5, 0, CTX_INVISIBLE },
};
#define N_MENU_HOME_ENTRIES (sizeof(menu_home_entries) / sizeof(MenuEntry))
@ -215,6 +217,19 @@ void setContextMenuHomeVisibilities() {
}
}
// Invisible if already mounted or there is no internal storage
SceUID fd_int = sceIoOpen("sdstor0:int-lp-ign-userext", SCE_O_RDONLY, 0);
SceUID fd_xmc = sceIoOpen("sdstor0:xmc-lp-ign-userext", SCE_O_RDONLY, 0);
if (fd_int < 0 || fd_xmc < 0 || checkFileExist("imc0:"))
menu_home_entries[MENU_HOME_ENTRY_MOUNT_IMC0].visibility = CTX_INVISIBLE;
if (fd_int >= 0)
sceIoClose(fd_int);
if (fd_xmc >= 0)
sceIoClose(fd_xmc);
// Go to first entry
for (i = 0; i < N_MENU_HOME_ENTRIES; i++) {
if (menu_home_entries[i].visibility == CTX_VISIBLE) {
@ -449,6 +464,22 @@ static int contextMenuHomeEnterCallback(int sel, void *context) {
break;
}
case MENU_HOME_ENTRY_MOUNT_IMC0:
{
if (is_safe_mode) {
infoDialog(language_container[EXTENDED_PERMISSIONS_REQUIRED]);
} else {
int res = vshIoMount(0xD00, NULL, 2, 0, 0, 0);
if (res < 0)
errorDialog(res);
else
infoDialog(language_container[IMC0_MOUNTED]);
refreshFileList();
}
break;
}
case MENU_HOME_ENTRY_MOUNT_USB_UX0:
{
mountUsbUx0();
@ -791,4 +822,4 @@ static int contextMenuMoreEnterCallback(int sel, void *context) {
}
return CONTEXT_MENU_CLOSING;
}
}

View File

@ -41,6 +41,7 @@ ENTER_SEARCH_TERM = "Enter search term"
# Context menu strings
REFRESH_LIVEAREA = "Refresh livearea"
MOUNT_UMA0 = "Mount uma0:"
MOUNT_IMC0 = "Mount imc0:"
MOUNT_USB_UX0 = "Mount USB ux0:"
UMOUNT_USB_UX0 = "Umount USB ux0:"
SORT_BY = "Sort by"
@ -158,6 +159,7 @@ USB_CONNECTION_NOT_AVAILABLE = "USB connection is not available on this
USB_WAIT_ATTACH = "Please attach an USB flash drive to continue.\If it has already been attached, please detach\and reattach it."
# Others
IMC0_MOUNTED = "imc0: mounted."
SAFE_MODE = "SAFE MODE"
UNSAFE_MODE = "UNSAFE MODE"
PLEASE_WAIT = "Please wait..."