Dev #6

Merged
altavir merged 75 commits from dev into master 2021-10-23 11:02:48 +03:00
4 changed files with 6 additions and 5 deletions
Showing only changes of commit 3f8d62ebc4 - Show all commits
dataforge-device-core
build.gradle.kts
src/commonMain/kotlin/hep/dataforge/control/base

@ -28,5 +28,6 @@ kotlin {
dependencies{
}
}
val nativeMain by getting{}
}
}

@ -28,7 +28,7 @@ class ActionDelegate<D : DeviceBase>(
) : ReadOnlyProperty<D, Action> {
override fun getValue(thisRef: D, property: KProperty<*>): Action {
val name = property.name
return owner.resolveAction(name) {
return owner.registerAction(name) {
SimpleAction(name, ActionDescriptor(name).apply(descriptorBuilder), block)
}
}

@ -33,11 +33,11 @@ abstract class DeviceBase : Device {
override val actionDescriptors: Collection<ActionDescriptor>
get() = actions.values.map { it.descriptor }
internal fun resolveProperty(name: String, builder: () -> ReadOnlyDeviceProperty): ReadOnlyDeviceProperty {
internal fun registerProperty(name: String, builder: () -> ReadOnlyDeviceProperty): ReadOnlyDeviceProperty {
return properties.getOrPut(name, builder)
}
internal fun resolveAction(name: String, builder: () -> Action): Action {
internal fun registerAction(name: String, builder: () -> Action): Action {
return actions.getOrPut(name, builder)
}

@ -72,7 +72,7 @@ private class ReadOnlyDevicePropertyDelegate<D : DeviceBase>(
override fun getValue(thisRef: D, property: KProperty<*>): IsolatedReadOnlyDeviceProperty {
val name = property.name
return owner.resolveProperty(name) {
return owner.registerProperty(name) {
@OptIn(ExperimentalCoroutinesApi::class)
IsolatedReadOnlyDeviceProperty(
name,
@ -186,7 +186,7 @@ private class DevicePropertyDelegate<D : DeviceBase>(
override fun getValue(thisRef: D, property: KProperty<*>): IsolatedDeviceProperty {
val name = property.name
return owner.resolveProperty(name) {
return owner.registerProperty(name) {
@OptIn(ExperimentalCoroutinesApi::class)
IsolatedDeviceProperty(
name,