pub trait SourcePlugin:
Send
+ Sync
+ 'static {
// Required methods
fn download_app<'life0, 'async_trait>(
&'life0 self,
request: Request<DownloadAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DownloadAppResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn download_all_apps<'life0, 'async_trait>(
&'life0 self,
request: Request<DownloadAppsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DownloadAppsResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn get_app_store_metadata<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAppStoreMetadataRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetAppStoreMetadataResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn get_app_versions<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAppVersionsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetAppVersionsResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn get_config_schema<'life0, 'async_trait>(
&'life0 self,
request: Request<GetConfigSchemaRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetConfigSchemaResponse>, Status>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
}Expand description
Generated trait containing gRPC methods that should be implemented for use with SourcePluginServer.
Required Methods§
Sourcefn download_app<'life0, 'async_trait>(
&'life0 self,
request: Request<DownloadAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DownloadAppResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn download_app<'life0, 'async_trait>(
&'life0 self,
request: Request<DownloadAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DownloadAppResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Download a full app directory
Sourcefn download_all_apps<'life0, 'async_trait>(
&'life0 self,
request: Request<DownloadAppsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DownloadAppsResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn download_all_apps<'life0, 'async_trait>(
&'life0 self,
request: Request<DownloadAppsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DownloadAppsResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Download metadata about all apps
Sourcefn get_app_store_metadata<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAppStoreMetadataRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetAppStoreMetadataResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_app_store_metadata<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAppStoreMetadataRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetAppStoreMetadataResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get metadata about the app store itself
Sourcefn get_app_versions<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAppVersionsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetAppVersionsResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_app_versions<'life0, 'async_trait>(
&'life0 self,
request: Request<GetAppVersionsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetAppVersionsResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get all available versions of an app
Sourcefn get_config_schema<'life0, 'async_trait>(
&'life0 self,
request: Request<GetConfigSchemaRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetConfigSchemaResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_config_schema<'life0, 'async_trait>(
&'life0 self,
request: Request<GetConfigSchemaRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetConfigSchemaResponse>, Status>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get the config schema for this plugin
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".