pub trait MediaFileExt: 'static {
// Required methods
fn clear(&self);
fn file(&self) -> Option<File>;
fn input_stream(&self) -> Option<InputStream>;
fn set_file(&self, file: Option<&impl IsA<File>>);
fn set_filename(&self, filename: Option<impl AsRef<Path>>);
fn set_input_stream(&self, stream: Option<&impl IsA<InputStream>>);
fn set_resource(&self, resource_path: Option<&str>);
fn connect_file_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_input_stream_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}