HomePhorge

Implement master-to-slave communication in the deluxe interface Ref T138

Referenced Files
None
Subscribers

Description

Implement master-to-slave communication in the deluxe interface Ref T138

I added the necessary features to the classes rosa::deluxe::DeluxeSensor and rosa::deluxe::DeluxeAgent. Because of the somewhat complicated typing of processing functions with master-output values, I deleted rosa::deluxe::DeluxeSensor::D and rosa::deluxe::DeluxeAgent::D, and adjusted the example deluxe-example and app sa-ews1 accordingly.
The classes rosa::deluxe::DeluxeSensor and rosa::deluxe::DeluxeAgent can be instantiated only by providing processing functions for both master-to-slave and slave-to-master communication (with indicating unsupported master-to-slave communication by using type rosa::unit_t).
The functions rosa::deluxe::DeluxeSystem::createSensor() and rosa::DeluxeSystem::createAgent() are adjusted for the new constructor signatures of the corresponding classes.
The public API for the deluxe interface, which is implemented by rosa::deluxe::DeluxeContext, provides functions to create sensors and agents with or without master-to-slave communication in various combinations. The API maintains backward-compatibility with existing code and adds new overloaded variants of the functions rosa::deluxe::DeluxeContext::createSensor() and rosa::deluxe::DeluxeContext::createAgent().

Details

Auditors
btutzer
Provenance
Dávid JuhászAuthored on Apr 28 2019, 11:17 PM
juhaszPushed on Apr 28 2019, 11:17 PM
Parents
R20:7b75ee2e2d00: Fix implementation of TypeListDrop and definition of type_nr_t
Branches
Unknown
Tags
Unknown
Tasks
Restricted Maniphest Task

Event Timeline

Dávid Juhász <juhasz.david.scholar@gmail.com> committed R20:8ba1d057f4c4: Implement master-to-slave communication in the deluxe interface Ref T138 (authored by Dávid Juhász <juhasz.david.scholar@gmail.com>).Apr 28 2019, 11:17 PM
Diffusion added a task: Restricted Maniphest Task.
This commit now requires audit.May 2 2019, 3:19 PM
btutzer subscribed.

Looks good to me, although I am wondering what the acronyms MFP, MOTMFP and SFP stand for.

All concerns with this commit have now been addressed.May 23 2019, 10:59 AM