pub trait RuntimePlugin:
Send
+ Sync
+ 'static {
// Required methods
fn is_supported_app<'life0, 'async_trait>(
&'life0 self,
request: Request<IsSupportedAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<IsSupportedAppResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn parse_app<'life0, 'async_trait>(
&'life0 self,
request: Request<ParseAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ParseAppResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn install_app<'life0, 'async_trait>(
&'life0 self,
request: Request<InstallAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<InstallAppResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn uninstall_app<'life0, 'async_trait>(
&'life0 self,
request: Request<UninstallAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<UninstallAppResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn pause_app<'life0, 'async_trait>(
&'life0 self,
request: Request<PauseAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<PauseAppResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn resume_app<'life0, 'async_trait>(
&'life0 self,
request: Request<ResumeAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ResumeAppResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Generated trait containing gRPC methods that should be implemented for use with RuntimePluginServer.
Required Methods§
fn is_supported_app<'life0, 'async_trait>(
&'life0 self,
request: Request<IsSupportedAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<IsSupportedAppResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn parse_app<'life0, 'async_trait>(
&'life0 self,
request: Request<ParseAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ParseAppResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourcefn install_app<'life0, 'async_trait>(
&'life0 self,
request: Request<InstallAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<InstallAppResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn install_app<'life0, 'async_trait>(
&'life0 self,
request: Request<InstallAppRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<InstallAppResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Installs are also partially handled by Nirvati, but this lets the plugin know about it so it can also do something on its part if needed for the particular format