Files
steipete--codexbar/Sources/CodexBar/UsageStore+ProviderRuntime.swift
T
2026-07-13 12:22:33 +08:00

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)
}
}
}