package me.eater.hefbrug.collector.impl import me.eater.hefbrug.collector.AbstractCollector import me.eater.hefbrug.executor.ExecutionContext import me.eater.hefbrug.definition.impl.ServiceDefinition import me.eater.hefbrug.state.impl.ServiceState class ServiceCollector(context: ExecutionContext) : AbstractCollector(context) { override suspend fun collect(definition: ServiceDefinition): ServiceState { val serviceName = definition.state.name val sm = context.getServiceManager() return ServiceState(definition.id).apply { name = serviceName enabled = sm.isEnabled(serviceName) running = sm.isRunning(serviceName) } } }