Module: uDeviceInterface
Base class: TDeviceEngine
Базовый класс функциональности устройства с поддержкой транзакций.
Все операции в таких функциональностях в качестве входного параметра получают экземляр класса TOperationInputParams или его наследников.
Во входном параметре помимо прочего содержится идентификатор транзакции и тип транзакции.
Оболочка запоминает все выполнявшиеся операции. См. SaveTransaction.
Все операции в таких функциональностях в качестве выходного параметра получают экземляр класса TOperationOutputParams или его наследников.
В этом параметре помимо всего можно настроить отображение диалога, если операции допускает отображение диалогов. Например, печать никогда диалоги не показывает.
Операции могут быть асинхронными (см. OperationOutputParams.ProcessingOutput).
Асинхронные операции возвращают управление оболочке, чтобы она могла выполнять другие операции.
Оболочка может отменять такие операции по запросу от DeviceClient’а и проверять их готовность. См. TOperationInputParams.TransactionAction.
Драйвер устройства информирует оболочку о завершении операции, вызывая метод SaveTransaction.
Например, драйвер устройства Электронная почта использует асинхронность при отсылке отчетов с подтверждением доставки, чтобы не блокировать рассылку отчетов при ожидании подтверждения доставки для уже отправленных.