Skip to main content

SourcePlugin

Trait SourcePlugin 

Source
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§

Source

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

Source

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

Source

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

Source

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

Source

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".

Implementors§