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) хендла). |