4d442bca30
This patch reduces the number of exception types by facilitating globally defined exceptions for common usage patterns shared by most services. In particular, RPC functions that demand a session-resource upgrade not longer reflect this condition via a session-specific exception but via the 'Out_of_ram' or 'Out_of_caps' types. Furthermore, the 'Parent::Service_denied', 'Parent::Unavailable', 'Root::Invalid_args', 'Root::Unavailable', 'Service::Invalid_args', 'Service::Unavailable', and 'Local_service::Factory::Denied' types have been replaced by the single 'Service_denied' exception type defined in 'session/session.h'. This consolidation eases the error handling (there are fewer exceptions to handle), alleviates the need to convert exceptions along the session-creation call chain, and avoids possible aliasing problems (catching the wrong type with the same name but living in a different scope). |
||
---|---|---|
.. | ||
main.cc | ||
README | ||
target.mk |
ROM service that provides ROM modules that change during the lifetime of a ROM session according to a timeline. This main purpose of this service is the testing of programs that are able to respond to ROM module changes, for example configuration changes. The configuration of the dynamic ROM server contains a '<rom>' sub node per ROM module provided by the service. Each '<rom>' node hosts a 'name' attribute and contains a sequence of sub nodes that define the timeline of the ROM module. The possible sub nodes are: ':<inline>:' The content of the '<inline>' node is assigned to the content of the ROM module. ':<sleep>:' Sleeps a number of milliseconds as specified via the 'milliseconds' attribute. :'<empty>:' Removes the ROM module. At the end of the timeline, the timeline re-starts at the beginning.