Skip to main content

lingxia_platform/traits/
share.rs

1use 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}