MimiProcessingFeatureControlling

public protocol MimiProcessingFeatureControlling<Feature> : AnyObject

Protocol that controls the lifecycle of a feature exposed by the SDK.

A MimiProcessingFeatureControlling wraps a feature value and exposes it as a publisher whose emissions reflect the feature’s running state. Conformers provide activate() and deactivate() methods that transition the underlying feature between its running and not-running states.

  • The type of the feature being controlled.

    Declaration

    Swift

    associatedtype Feature
  • A publisher that emits the wrapped feature when it is active, and nil when it is not.

    Declaration

    Swift

    var featurePublisher: AnyPublisher<Feature?, Never> { get }
  • Activates the feature.

    On success the publisher will emit the feature value.

    Throws

    An implementation-specific error if the underlying activation fails.
    Declaration

    Swift

    func activate() async throws
  • Deactivates the feature.

    On success the publisher will emit nil.

    Throws

    An implementation-specific error if the underlying deactivation fails.
    Declaration

    Swift

    func deactivate() async throws