Skip to content

ThinkingHome.DeviceModel.FluentApi

ThinkingHome.DeviceModel.FluentApi Namespace

Classes
ChangedSubscriptionПодписка на поток изменений хоста; Dispose — отписка (идемпотентно).
DeviceHostExtensionsВход во fluent API — сахар над IDeviceHost. Любая цепочка сводится к пяти членам ядра, поэтому одинаково работает с локальным хостом и с прокси на хабе и не добавляет семантики: каждый метод — ровно один вызов ядра.
HandleQueriesОбщие запросы хендлов к ядру. Чтение — это Query устройства плюс выбор своего значения из снапшота (отдельного канала чтения в ядре нет); discovery — выбор своего фрагмента дескриптора. Отсутствие — null, транспорт и неизвестное устройство в Query — исключения ядра.
Structs
DeviceHandleХендл устройства. Аксессоры способностей/свойств без указания endpoint'а — синонимы Endpoint(0) (0 — основной endpoint, как в ядре); никакого поиска «подходящего» endpoint'а нет. «Нет устройства» — исключение из ядра на рабочих вызовах, «нет способности» — данные (Unsupported / null).
EndpointHandleХендл endpoint'а устройства — адрес без I/O. Аксессоры возвращают хендлы способностей/свойств с зашитым каноническим instance; наличие способности у устройства проверяется на вызовах (или заранее — через DescribeAsync(CancellationToken) хендла).

Опубликовано под лицензией MIT