Skip to main content

ProcessService

Trait ProcessService 

Source
pub trait ProcessService: Send + Sync {
    // Required methods
    fn start<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        session_id: &'life1 str,
        registration: ProcessRegistration,
        options: ProcessStartOptions,
        scope: ProcessOpScope<'life2>,
    ) -> Pin<Box<dyn Future<Output = Result<ProcessRecord, PluginError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn await_process<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        process_id: &'life1 str,
        scope: ProcessOpScope<'life2>,
    ) -> Pin<Box<dyn Future<Output = Result<ProcessAwaitOutput, PluginError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn list_visible<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        session_id: &'life1 str,
        mode: ProcessListMode,
        scope: ProcessOpScope<'life2>,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<ProcessHandleGrantEntry>, PluginError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn validate_visible<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        session_id: &'life1 str,
        process_ids: &'life2 [String],
        scope: ProcessOpScope<'life3>,
    ) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn cancel<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        session_id: &'life1 str,
        process_id: &'life2 str,
        scope: ProcessOpScope<'life3>,
    ) -> Pin<Box<dyn Future<Output = Result<ProcessRecord, PluginError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn signal<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        session_id: &'life1 str,
        process_id: &'life2 str,
        signal_id: String,
        payload: Value,
        scope: ProcessOpScope<'life3>,
    ) -> Pin<Box<dyn Future<Output = Result<ProcessEvent, PluginError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn transfer<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        from_session_id: &'life1 str,
        to_session_id: &'life2 str,
        process_ids: Vec<String>,
        scope: ProcessOpScope<'life3>,
    ) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn cancel_unreferenced<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        session_id: &'life1 str,
        keep_process_ids: Vec<String>,
        scope: ProcessOpScope<'life2>,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<ProcessRecord>, PluginError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;

    // Provided method
    fn start_from_request<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        session_id: &'life1 str,
        request: ProcessStartRequest,
        scope: ProcessOpScope<'life2>,
    ) -> Pin<Box<dyn Future<Output = Result<ProcessHandleSummary, PluginError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait { ... }
}

Required Methods§

Source

fn start<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, session_id: &'life1 str, registration: ProcessRegistration, options: ProcessStartOptions, scope: ProcessOpScope<'life2>, ) -> Pin<Box<dyn Future<Output = Result<ProcessRecord, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn await_process<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, process_id: &'life1 str, scope: ProcessOpScope<'life2>, ) -> Pin<Box<dyn Future<Output = Result<ProcessAwaitOutput, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn list_visible<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, session_id: &'life1 str, mode: ProcessListMode, scope: ProcessOpScope<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<ProcessHandleGrantEntry>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn validate_visible<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, session_id: &'life1 str, process_ids: &'life2 [String], scope: ProcessOpScope<'life3>, ) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn cancel<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, session_id: &'life1 str, process_id: &'life2 str, scope: ProcessOpScope<'life3>, ) -> Pin<Box<dyn Future<Output = Result<ProcessRecord, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn signal<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, session_id: &'life1 str, process_id: &'life2 str, signal_id: String, payload: Value, scope: ProcessOpScope<'life3>, ) -> Pin<Box<dyn Future<Output = Result<ProcessEvent, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn transfer<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, from_session_id: &'life1 str, to_session_id: &'life2 str, process_ids: Vec<String>, scope: ProcessOpScope<'life3>, ) -> Pin<Box<dyn Future<Output = Result<(), PluginError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Source

fn cancel_unreferenced<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, session_id: &'life1 str, keep_process_ids: Vec<String>, scope: ProcessOpScope<'life2>, ) -> Pin<Box<dyn Future<Output = Result<Vec<ProcessRecord>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Provided Methods§

Source

fn start_from_request<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, session_id: &'life1 str, request: ProcessStartRequest, scope: ProcessOpScope<'life2>, ) -> Pin<Box<dyn Future<Output = Result<ProcessHandleSummary, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§