73 virtual
void shutdown() = 0;
78 [[nodiscard]] virtual
bool is_initialized() const = 0;
87 virtual
void open_file(
90 std::filesystem::path start_dir) = 0;
100 virtual
void save_file(
102 std::
string suggested_name,
104 std::filesystem::path start_dir) = 0;
SystemBackend(const SystemBackend &)=delete
virtual ~SystemBackend()=default
SystemBackend(SystemBackend &&) noexcept=default
SystemBackend & operator=(const SystemBackend &)=delete
Abstract interface for native OS service backends.
SystemDialogError
Failure modes for OS dialog operations.
@ BackendError
Platform backend failed to open or communicate.
@ NotSupported
No implementation available on this platform build.
@ Cancelled
User dismissed the dialog without completing it.
std::function< void(FileDialogResult)> FileDialogCallback
Callback type for all file dialog operations.
std::expected< std::filesystem::path, SystemDialogError > FileDialogResult
Result type delivered to all file dialog callbacks.
std::vector< std::string > extensions
A named group of accepted file extensions for dialog filters.