Reduce platform legacy adapter tail

This commit is contained in:
2026-06-13 19:12:18 +02:00
parent 3c6fd00ae3
commit 6ba98eea70
5 changed files with 78 additions and 22 deletions

View File

@@ -6,6 +6,11 @@
#include <array>
#include <utility>
#if defined(__IOS__) || defined(__OSX__)
#include "app_core/app.h"
#include <dispatch/dispatch.h>
#endif
namespace pp::platform::apple {
namespace {
@@ -125,4 +130,34 @@ std::string AppleDocumentPlatformServices::format_working_directory_path(std::st
return std::string(path);
}
void AppleDocumentPlatformServices::display_file(std::string_view path) const
{
const std::string value(path);
#if defined(__IOS__)
dispatch_async(dispatch_get_main_queue(), ^{
[App::I->ios_view display_file:value];
});
#elif defined(__OSX__)
[[NSWorkspace sharedWorkspace] openFile:[NSString stringWithUTF8String:value.c_str()]];
#else
(void)value;
#endif
}
void AppleDocumentPlatformServices::share_file(std::string_view path) const
{
const std::string value(path);
#if defined(__IOS__)
dispatch_async(dispatch_get_main_queue(), ^{
[App::I->ios_view share_file:[NSString stringWithUTF8String:value.c_str()]];
});
#elif defined(__OSX__)
dispatch_async(dispatch_get_main_queue(), ^{
[App::I->osx_view share_file:[NSString stringWithUTF8String:value.c_str()]];
});
#else
(void)value;
#endif
}
}

View File

@@ -35,6 +35,8 @@ public:
[[nodiscard]] bool supports_working_directory_picker() const;
[[nodiscard]] std::string format_working_directory_path(std::string_view path) const;
void display_file(std::string_view path) const;
void share_file(std::string_view path) const;
private:
PlatformFamily family_;