You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
734 B
Kotlin
20 lines
734 B
Kotlin
4 years ago
|
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<ServiceState, ServiceDefinition>(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)
|
||
|
}
|
||
|
}
|
||
|
}
|