Skip to main content

fret_runtime/
platform_completion.rs

1//! Portable platform I/O completion payloads.
2//!
3//! This type is intentionally narrower than `Event` so platform backends can only inject
4//! completion results (e.g. clipboard reads, external-drop reads) into the UI event stream.
5
6use crate::ClipboardToken;
7use fret_core::{
8    ClipboardAccessError, ExternalDropDataEvent, FileDialogDataEvent, FileDialogSelection,
9};
10
11#[derive(Debug, Clone, PartialEq)]
12pub enum PlatformCompletion {
13    ClipboardReadText {
14        token: ClipboardToken,
15        text: String,
16    },
17    ClipboardReadFailed {
18        token: ClipboardToken,
19        error: ClipboardAccessError,
20    },
21    ExternalDropData(ExternalDropDataEvent),
22    FileDialogSelection(FileDialogSelection),
23    FileDialogData(FileDialogDataEvent),
24    FileDialogCanceled,
25}