Route picker callbacks through platform services

This commit is contained in:
2026-06-03 04:07:09 +02:00
parent 1e0500a3f7
commit 0e77ca6ba8
7 changed files with 217 additions and 124 deletions

View File

@@ -1,10 +1,14 @@
#pragma once
#include <functional>
#include <string>
#include <string_view>
#include <vector>
namespace pp::platform {
using PickedPathCallback = std::function<void(std::string path)>;
class PlatformServices {
public:
virtual ~PlatformServices() = default;
@@ -15,6 +19,10 @@ public:
virtual void set_virtual_keyboard_visible(bool visible) = 0;
virtual void display_file(std::string_view path) = 0;
virtual void share_file(std::string_view path) = 0;
virtual void pick_image(PickedPathCallback callback) = 0;
virtual void pick_file(std::vector<std::string> file_types, PickedPathCallback callback) = 0;
virtual void pick_save_file(std::vector<std::string> file_types, PickedPathCallback callback) = 0;
virtual void pick_directory(PickedPathCallback callback) = 0;
};
}