lingxia_platform/traits/
share.rs1use crate::error::PlatformError;
2
3#[derive(Debug, Clone)]
4pub struct ShareRequest {
5 pub title: Option<String>,
6 pub text: Option<String>,
7 pub url: Option<String>,
8 pub files: Vec<String>,
9}
10
11#[derive(Debug, Clone, serde::Deserialize, serde::Serialize)]
12pub struct ShareResult {
13 pub completed: Option<bool>,
14}
15
16pub trait ShareService: Send + Sync + 'static {
17 fn share(
18 &self,
19 request: ShareRequest,
20 ) -> impl std::future::Future<Output = Result<ShareResult, PlatformError>> + Send;
21}