genode/repos/os/src/server/report_rom
Norman Feske 02d07655ce os: make internal report_rom classes reusable
This patch moves the formerly internal classes of the report-ROM service
to the public location os/include/report_rom/ so that they can be reused
by other components such as the upcoming clipboard.
2015-10-06 12:18:53 +02:00
..
main.cc os: make internal report_rom classes reusable 2015-10-06 12:18:53 +02:00
README report_rom: add 'verbose' config attribute 2015-06-22 14:43:35 +02:00
rom_registry.h os: make internal report_rom classes reusable 2015-10-06 12:18:53 +02:00
target.mk Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

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.

The component can be configured to write all incoming reports to the LOG
output by setting the 'verbose' attribute of the '<config>' node to "yes".