MCPcopy Create free account
hub / github.com/TheOfficialFloW/VitaShell / handleFile

Function handleFile

browser.c:366–438  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

364}
365
366static int handleFile(const char *file, FileListEntry *entry) {
367 int res = 0;
368
369 // try to fix GPU freeze
370 vita2d_wait_rendering_done();
371
372 int type = getFileType(file);
373
374 switch (type) {
375 case FILE_TYPE_PSP2DMP:
376 case FILE_TYPE_MP3:
377 case FILE_TYPE_OGG:
378 case FILE_TYPE_VPK:
379 case FILE_TYPE_ARCHIVE:
380 if (isInArchive())
381 type = FILE_TYPE_UNKNOWN;
382
383 break;
384 }
385
386 switch (type) {
387 case FILE_TYPE_PSP2DMP:
388 res = coredumpViewer(file);
389 break;
390
391 case FILE_TYPE_INI:
392 case FILE_TYPE_TXT:
393 case FILE_TYPE_XML:
394 case FILE_TYPE_UNKNOWN:
395 res = textViewer(file);
396 break;
397
398 case FILE_TYPE_BMP:
399 case FILE_TYPE_PNG:
400 case FILE_TYPE_JPEG:
401 res = photoViewer(file, type, &file_list, entry, &base_pos, &rel_pos);
402 break;
403
404 case FILE_TYPE_MP3:
405 case FILE_TYPE_OGG:
406 res = audioPlayer(file, type, &file_list, entry, &base_pos, &rel_pos);
407 break;
408
409 case FILE_TYPE_SFO:
410 res = SFOReader(file);
411 break;
412
413 case FILE_TYPE_VPK:
414 initMessageDialog(SCE_MSG_DIALOG_BUTTON_TYPE_YESNO, language_container[INSTALL_QUESTION]);
415 setDialogStep(DIALOG_STEP_INSTALL_QUESTION);
416 break;
417
418 case FILE_TYPE_ARCHIVE:
419 archiveClearPassword();
420 res = archiveOpen(file);
421 if (res >= 0 && archiveNeedPassword()) {
422 initImeDialog(language_container[ENTER_PASSWORD], "", 128, SCE_IME_TYPE_BASIC_LATIN, 0, 1);
423 setDialogStep(DIALOG_STEP_ENTER_PASSWORD);

Callers 1

fileBrowserHandleFileFunction · 0.85

Calls 14

getFileTypeFunction · 0.85
isInArchiveFunction · 0.85
coredumpViewerFunction · 0.85
textViewerFunction · 0.85
photoViewerFunction · 0.85
audioPlayerFunction · 0.85
SFOReaderFunction · 0.85
initMessageDialogFunction · 0.85
setDialogStepFunction · 0.85
archiveClearPasswordFunction · 0.85
archiveOpenFunction · 0.85
archiveNeedPasswordFunction · 0.85

Tested by

no test coverage detected