22 lines
842 B
Swift
22 lines
842 B
Swift
import CodexBarCore
|
|
|
|
extension UsageStore {
|
|
func performRuntimeAction(_ action: ProviderRuntimeAction, for provider: UsageProvider) async {
|
|
guard let runtime = self.providerRuntimes[provider] else { return }
|
|
let context = ProviderRuntimeContext(provider: provider, settings: self.settings, store: self)
|
|
await runtime.perform(action: action, context: context)
|
|
}
|
|
|
|
func updateProviderRuntimes() {
|
|
for (provider, runtime) in self.providerRuntimes {
|
|
let context = ProviderRuntimeContext(provider: provider, settings: self.settings, store: self)
|
|
if self.isEnabled(provider) {
|
|
runtime.start(context: context)
|
|
} else {
|
|
runtime.stop(context: context)
|
|
}
|
|
runtime.settingsDidChange(context: context)
|
|
}
|
|
}
|
|
}
|