SourceControlManagementProvider

Trait SourceControlManagementProvider 

Source
pub trait SourceControlManagementProvider:
    Environment
    + Send
    + Sync {
    // Required methods
    fn CreateSourceControl<'life0, 'async_trait>(
        &'life0 self,
        ProviderData: Value,
    ) -> Pin<Box<dyn Future<Output = Result<u32, CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn DisposeSourceControl<'life0, 'async_trait>(
        &'life0 self,
        ProviderHandle: u32,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn UpdateSourceControl<'life0, 'async_trait>(
        &'life0 self,
        ProviderHandle: u32,
        UpdateData: Value,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn UpdateSourceControlGroup<'life0, 'async_trait>(
        &'life0 self,
        ProviderHandle: u32,
        GroupData: Value,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn RegisterInputBox<'life0, 'async_trait>(
        &'life0 self,
        ProviderHandle: u32,
        InputBoxData: Value,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

An abstract service contract for an environment component that can manage Source Control Management (SourceControlManagement) providers contributed by extensions.

Required Methods§

Source

fn CreateSourceControl<'life0, 'async_trait>( &'life0 self, ProviderData: Value, ) -> Pin<Box<dyn Future<Output = Result<u32, CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Creates a new SourceControlManagement provider in the host.

§Parameters
  • ProviderData: A DTO containing metadata about the provider, such as its ID, label, and root URI.
§Returns

A Result containing a unique handle (u32) for the new provider.

Source

fn DisposeSourceControl<'life0, 'async_trait>( &'life0 self, ProviderHandle: u32, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Disposes of an SourceControlManagement provider, removing it and its groups from the UI.

§Parameters
  • ProviderHandle: The handle of the SourceControlManagement provider to dispose.
Source

fn UpdateSourceControl<'life0, 'async_trait>( &'life0 self, ProviderHandle: u32, UpdateData: Value, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Updates the core properties of an SourceControlManagement provider.

This is used to update properties like the commit message template, the count badge, and the accept command.

§Parameters
  • ProviderHandle: The handle of the provider to update.
  • UpdateData: A DTO containing the properties to update.
Source

fn UpdateSourceControlGroup<'life0, 'async_trait>( &'life0 self, ProviderHandle: u32, GroupData: Value, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Updates the properties of an SourceControlManagement resource group (e.g., “Changes”).

This can update the group’s label, hide state, and its list of resources.

§Parameters
  • ProviderHandle: The handle of the SourceControlManagement provider that owns the group.
  • GroupData: A DTO containing the updated state of the group.
Source

fn RegisterInputBox<'life0, 'async_trait>( &'life0 self, ProviderHandle: u32, InputBoxData: Value, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Registers or updates the SourceControlManagement input box for a provider.

§Parameters
  • ProviderHandle: The handle of the SourceControlManagement provider.
  • InputBoxData: A DTO containing the state of the input box (e.g., value, placeholder).

Implementors§