gems: move reusable wm headers to include/gems

This commit is contained in:
Norman Feske 2014-09-30 14:51:49 +02:00
parent ec565c1ded
commit ece64db196
5 changed files with 38 additions and 35 deletions

View File

@ -11,17 +11,15 @@
* under the terms of the GNU General Public License version 2.
*/
#ifndef _LOCAL_REPORTER_H_
#define _LOCAL_REPORTER_H_
#ifndef _INCLUDE__GEMS__LOCAL_REPORTER_H_
#define _INCLUDE__GEMS__LOCAL_REPORTER_H_
/* Genode includes */
#include <os/attached_dataspace.h>
#include <util/xml_generator.h>
#include <report_session/client.h>
namespace Wm { struct Local_reporter; }
struct Wm::Local_reporter
struct Local_reporter
{
Report::Session_client _session;
@ -49,4 +47,4 @@ struct Wm::Local_reporter
};
};
#endif /* _LOCAL_REPORTER_H_ */
#endif /* _INCLUDE__GEMS__LOCAL_REPORTER_H_ */

View File

@ -11,8 +11,8 @@
* under the terms of the GNU General Public License version 2.
*/
#ifndef _REPORT_ROM_SLAVE_H_
#define _REPORT_ROM_SLAVE_H_
#ifndef _INCLUDE__GEMS__REPORT_ROM_SLAVE_H_
#define _INCLUDE__GEMS__REPORT_ROM_SLAVE_H_
/* Genode includes */
#include <base/lock.h>
@ -48,19 +48,14 @@ class Report_rom_slave : public Genode::Noncopyable
public:
Policy(Genode::Rpc_entrypoint &entrypoint,
Genode::Ram_session &ram)
Genode::Ram_session &ram,
const char *config)
:
Slave_policy("report_rom", entrypoint, &ram),
_lock(Genode::Lock::LOCKED)
{
configure("<config> <rom>"
" <policy label=\"window_list\" report=\"window_list\"/>"
" <policy label=\"window_layout\" report=\"window_layout\"/>"
" <policy label=\"resize_request\" report=\"resize_request\"/>"
" <policy label=\"pointer\" report=\"pointer\"/>"
" <policy label=\"hover\" report=\"hover\"/>"
" <policy label=\"focus\" report=\"focus\"/>"
"</rom> </config>");
if (config)
configure(config);
}
bool announce_service(const char *service_name,
@ -107,14 +102,15 @@ class Report_rom_slave : public Genode::Noncopyable
/**
* Constructor
*
* \param ep entrypoint used for nitpicker child thread
* \param ep entrypoint used for child thread
* \param ram RAM session used to allocate the configuration
* dataspace
*/
Report_rom_slave(Genode::Cap_session &cap, Genode::Ram_session &ram)
Report_rom_slave(Genode::Cap_session &cap, Genode::Ram_session &ram,
char const *config)
:
_ep(&cap, _ep_stack_size, "report_rom"),
_policy(_ep, ram),
_policy(_ep, ram, config),
_slave(_ep, _policy, _quota),
_rom_root(_policy.rom_root()),
_report_root(_policy.report_root())
@ -170,4 +166,4 @@ class Report_rom_slave : public Genode::Noncopyable
}
};
#endif /* _REPORT_ROM_SLAVE_H_ */
#endif /* _INCLUDE__GEMS__REPORT_ROM_SLAVE_H_ */

View File

@ -11,14 +11,12 @@
* under the terms of the GNU General Public License version 2.
*/
#ifndef _SINGLE_SESSION_SERVICE_H_
#define _SINGLE_SESSION_SERVICE_H_
#ifndef _INCLUDE__GEMS__SINGLE_SESSION_SERVICE_H_
#define _INCLUDE__GEMS__SINGLE_SESSION_SERVICE_H_
#include <base/service.h>
namespace Wm { class Single_session_service; }
struct Wm::Single_session_service : Genode::Service
struct Single_session_service : Genode::Service
{
Genode::Session_capability session_cap;
@ -38,4 +36,4 @@ struct Wm::Single_session_service : Genode::Service
void close(Genode::Session_capability) override { }
};
#endif /* _SINGLE_SESSION_SERVICE_H_ */
#endif /* _INCLUDE__GEMS__SINGLE_SESSION_SERVICE_H_ */

View File

@ -20,11 +20,13 @@
#include <util/volatile_object.h>
#include <util/xml_node.h>
/* gems includes */
#include <gems/single_session_service.h>
#include <gems/report_rom_slave.h>
#include <gems/local_reporter.h>
/* local includes */
#include <single_session_service.h>
#include <report_rom_slave.h>
#include <decorator_nitpicker.h>
#include <local_reporter.h>
#include <decorator_slave.h>
#include <window_layouter_slave.h>
#include <nitpicker.h>
@ -47,7 +49,17 @@ struct Wm::Main
Genode::Cap_connection cap;
Report_rom_slave report_rom_slave = { cap, *env()->ram_session() };
char const *report_rom_config =
"<config> <rom>"
" <policy label=\"window_list\" report=\"window_list\"/>"
" <policy label=\"window_layout\" report=\"window_layout\"/>"
" <policy label=\"resize_request\" report=\"resize_request\"/>"
" <policy label=\"pointer\" report=\"pointer\"/>"
" <policy label=\"hover\" report=\"hover\"/>"
" <policy label=\"focus\" report=\"focus\"/>"
"</rom> </config>";
Report_rom_slave report_rom_slave = { cap, *env()->ram_session(), report_rom_config };
Rom_session_capability window_list_rom = report_rom_slave.rom_session("window_list");
Rom_session_capability window_layout_rom = report_rom_slave.rom_session("window_layout");

View File

@ -21,9 +21,8 @@
#include <base/allocator.h>
#include <os/surface.h>
/* local includes */
#include <local_reporter.h>
/* gems includes */
#include <gems/local_reporter.h>
namespace Wm { class Window_registry; }