pub fn upload_file<'a, 'b: 'a>(
ft_http_service: &'b Arc<FileTransferOverHTTPService>,
ft_http_cs_uri: &'b str,
tid: Uuid,
file: FileInfo<'b>,
thumbnail: Option<FileInfo<'b>>,
msisdn: Option<&'b str>,
http_client: &'b Arc<HttpClient>,
gba_context: &'b Arc<GbaContext>,
security_context: &'b Arc<SecurityContext>,
progress_callback: &'b Arc<Box<dyn Fn(u32, i32) + Send + Sync>>,
) -> BoxFuture<'a, Result<String, FileUploadError>>