genode/repos/os/src/server/report_rom
Christian Prochaska 0fd53c7fe4 Extract numeric string arguments with the correct signedness
There are lots of places where a numeric argument of an argument string
gets extraced as signed long value and then assigned to an unsigned long
variable. If the value in the string was negative, it would not be
detected as invalid (and replaced by the default value), but become a
positive bogus value.

With this patch, numeric values which are supposed to be unsigned get
extracted with the 'ulong_value()' function, which returns the default
value for negative numbers.

Fixes #1472
2015-04-13 14:18:15 +02:00
..
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
main.cc Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
report_service.h Extract numeric string arguments with the correct signedness 2015-04-13 14:18:15 +02:00
rom_module.h Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
rom_registry.h Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
rom_service.h Add Rom_session::update 2014-08-11 15:55:31 +02:00
target.mk Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

README

The "report_rom" component is both a report service and a ROM service. It makes
incoming reports available as ROM modules. The ROM modules are named after the
label of the corresponding report session.

Configuration
-------------

The report-ROM server hands out ROM modules only if explicitly permitted by a
configured policy. For example:

! <config>
!   <rom>
!     <policy label="decorator -> pointer" report="nitpicker -> pointer"/>
!     <policy ...  />
!     ...
!   </rom>
! </config>

The label of an incoming ROM session is matched against the 'label' attribute
of all '<policy>' nodes. If the session label matches a policy label, the
client obtains the data from the report client with the label specified in the
'report' attribute. In the example above, the nitpicker GUI server sends
reports about the pointer position to the report-ROM service. Those reports
are handed out to a window decorator (labeled "decorator") as ROM module.