GenericDeviceType

@HomeExperimentalGenericApi
open class GenericDeviceType : DeviceType


Summary

Public constructors

GenericDeviceType(
    genericTraits: Set<GenericTrait>,
    factory: DeviceTypeFactory<DeviceType>,
    metadata: DeviceType.Metadata,
    genericTraitProvider: GenericTraitProvider,
    genericEventProvider: GenericEventProvider
)

Public functions

open operator Boolean
equals(other: Any?)
open Int

Inherited functions

From com.google.home.HasEvents
open Flow<Event>

Gets a flow of all Events available for the object.

open Flow<T>
<T : Event> events(event: EventFactory<T>)

Gets a flow of a specific Event.

open Flow<Event>
<T : Trait> events(trait: TraitFactory<T>)

Gets a flow of all Events by this Trait.

From com.google.home.TraitProvider
open Trait.TraitMetadata?
<T : Trait> metadata(traitFactory: TraitFactory<T>)

Access a specific trait metadata on the provider given a caller-provided TraitFactory.

open T?
<T : Trait> trait(traitFactory: TraitFactory<T>)

Access a specific trait on the provider given a caller-provided TraitFactory.

open Set<Trait>

Given a similar accessible trait set as the function above, returns a subset of those traits that are present in the associated HomeConfig.factoryRegistry union'ed with those already known to the extended sub-class (e.g specific DeviceType that is aware of the set of TraitFactorys specified in its type definition).

Public constructors

GenericDeviceType

GenericDeviceType(
    genericTraits: Set<GenericTrait>,
    factory: DeviceTypeFactory<DeviceType>,
    metadata: DeviceType.Metadata,
    genericTraitProvider: GenericTraitProvider = GenericTraitProvider(genericTraits),
    genericEventProvider: GenericEventProvider = GenericEventProvider()
)

Public functions

equals

open operator fun equals(other: Any?): Boolean

hashCode

open fun hashCode(): Int

Public properties

factory

open val factoryDeviceTypeFactory<DeviceType>

genericTraits

val genericTraitsSet<GenericTrait>

metadata

open val metadataDeviceType.Metadata