package me.eater.hefbrug.dsl.context.impl import me.eater.hefbrug.definition.impl.ServiceDefinition import me.eater.hefbrug.dsl.context.* import me.eater.hefbrug.state.impl.ServiceState class ServiceContext(definition: ServiceDefinition) : DefinitionContext(definition), Emitter by EmitterContext(), Listener by ListenerContext() { var name: String by proxy(state::name) val enabled: Unit get() { state.enabled = true } val running: Unit get() { state.running = true } val stopped: Unit get() { state.running = false } val disabled: Unit get() { state.enabled = false } val autostart: Unit get() { state.autostart = true } val noAutostart: Unit get() { state.autostart = false } }