2023-01-22 20:32:34 +03:00
|
|
|
//
|
2023-01-31 13:36:14 +03:00
|
|
|
// DarwinFileSystemServices.h
|
2023-01-22 20:32:34 +03:00
|
|
|
// PPSSPP
|
|
|
|
|
//
|
|
|
|
|
// Created by Serena on 20/01/2023.
|
|
|
|
|
//
|
|
|
|
|
|
2023-02-01 19:03:12 +03:00
|
|
|
#pragma once
|
2023-01-22 20:32:34 +03:00
|
|
|
|
|
|
|
|
#include "ppsspp_config.h"
|
|
|
|
|
#include "Common/File/Path.h"
|
|
|
|
|
|
|
|
|
|
#define PreferredMemoryStickUserDefaultsKey "UserPreferredMemoryStickDirectoryPath"
|
|
|
|
|
|
|
|
|
|
typedef std::function<void (Path)> DarwinDirectoryPanelCallback;
|
|
|
|
|
|
2023-01-31 13:36:14 +03:00
|
|
|
/// A Class providing help functions to work with the FileSystem
|
|
|
|
|
/// on Darwin platforms.
|
|
|
|
|
class DarwinFileSystemServices {
|
2023-01-22 20:32:34 +03:00
|
|
|
public:
|
|
|
|
|
/// Present a pannel to choose the directory as the memory stick manager.
|
2023-01-31 13:36:14 +03:00
|
|
|
void presentDirectoryPanel(DarwinDirectoryPanelCallback,
|
|
|
|
|
bool allowFiles = false,
|
|
|
|
|
bool allowDirectories = true);
|
2023-01-22 20:32:34 +03:00
|
|
|
|
|
|
|
|
static Path appropriateMemoryStickDirectoryToUse();
|
|
|
|
|
static void setUserPreferredMemoryStickDirectory(Path);
|
|
|
|
|
private:
|
|
|
|
|
static Path __defaultMemoryStickPath();
|
|
|
|
|
#if PPSSPP_PLATFORM(IOS)
|
|
|
|
|
// iOS only, needed for UIDocumentPickerViewController
|
|
|
|
|
void *__pickerDelegate = NULL;
|
|
|
|
|
#endif // PPSSPP_PLATFORM(IOS)
|
|
|
|
|
};
|