All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.dk.cachet.carp.common.application.devices.MACAddressDeviceRegistration.kt Maven / Gradle / Ivy

package dk.cachet.carp.common.application.devices

import dk.cachet.carp.common.application.MACAddress
import dk.cachet.carp.common.infrastructure.serialization.NotSerializable
import kotlinx.serialization.Serializable


/**
 * A [DeviceRegistration] for devices which have a MAC address.
 */
@Serializable
data class MACAddressDeviceRegistration( val macAddress: MACAddress ) : DeviceRegistration()
{
    // TODO: Remove this workaround once JS serialization bug is fixed: https://github.com/Kotlin/kotlinx.serialization/issues/716
    @Suppress( "UNNECESSARY_SAFE_CALL" )
    override val deviceId: String = macAddress?.address
}


@Serializable( with = NotSerializable::class )
class MACAddressDeviceRegistrationBuilder : DeviceRegistrationBuilder
{
    var macAddress: String = ""

    override fun build(): MACAddressDeviceRegistration = MACAddressDeviceRegistration( MACAddress( macAddress ) )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy