pub trait NativeDataTransfer: Send + Sync {
// Required methods
fn get_data(&self, format: &str) -> Option<String>;
fn set_data(&self, format: &str, data: &str) -> Result<(), String>;
fn clear_data(&self, format: Option<&str>) -> Result<(), String>;
fn effect_allowed(&self) -> String;
fn set_effect_allowed(&self, effect: &str);
fn drop_effect(&self) -> String;
fn set_drop_effect(&self, effect: &str);
fn files(&self) -> Vec<FileData>;
}