/*
* \brief Backend interface used by the Remote_rom client and server
* \author Johannes Schlatow
* \date 2016-02-17
*/
/*
* Copyright (C) 2016 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
#ifndef __INCLUDE__REMOTE_ROM__BACKEND_BASE_H_
#define __INCLUDE__REMOTE_ROM__BACKEND_BASE_H_
#include
#include
#include
namespace Remote_rom {
struct Backend_server_base;
struct Backend_client_base;
class Exception : public ::Genode::Exception { };
Backend_server_base &backend_init_server(Genode::Env &env,
Genode::Allocator &alloc,
Genode::Xml_node config);
Backend_client_base &backend_init_client(Genode::Env &env,
Genode::Allocator &alloc,
Genode::Xml_node config);
};
struct Remote_rom::Backend_server_base : Genode::Interface
{
virtual void send_update() = 0;
virtual void register_forwarder(Rom_forwarder_base *forwarder) = 0;
};
struct Remote_rom::Backend_client_base : Genode::Interface
{
virtual void register_receiver(Rom_receiver_base *receiver) = 0;
};
#endif