remote_rom: Genode API compatibility

This commit is contained in:
Johannes Schlatow
2019-04-30 13:42:29 +02:00
committed by Norman Feske
parent 92ef8619c7
commit 557ffbac80
5 changed files with 19 additions and 20 deletions

View File

@@ -27,7 +27,6 @@
namespace Remote_rom {
using Genode::Packet_descriptor;
using Genode::env;
using Net::Ethernet_frame;
using Net::Ipv4_packet;
using Net::Mac_address;

View File

@@ -165,7 +165,7 @@ class Remote_rom::Backend_client :
void send_ack(Content_receiver const &recv);
void receive(Packet &packet, Size_guard &size_guard);
void receive(Packet &packet, Size_guard &size_guard) override;
public:
@@ -177,7 +177,7 @@ class Remote_rom::Backend_client :
{ }
void register_receiver(Rom_receiver_base *receiver)
void register_receiver(Rom_receiver_base *receiver) override
{
/* TODO support multiple receivers (ROM names) */
_content_receiver.register_receiver(receiver);

View File

@@ -194,7 +194,7 @@ class Remote_rom::Backend_server :
void send_packet(Content_sender const &sender);
void receive(Packet &packet, Size_guard &);
void receive(Packet &packet, Size_guard &) override;
public:
@@ -206,11 +206,11 @@ class Remote_rom::Backend_server :
{ }
void register_forwarder(Rom_forwarder_base *forwarder)
void register_forwarder(Rom_forwarder_base *forwarder) override
{ _content_sender.register_forwarder(forwarder); }
void send_update()
void send_update() override
{
if (!_content_sender.content_size()) return;

View File

@@ -177,7 +177,7 @@ class Remote_rom::Root : public Genode::Root_component<Session_component>
protected:
Session_component *_create_session(const char *)
Session_component *_create_session(const char *) override
{
using namespace Genode;
@@ -236,10 +236,10 @@ struct Remote_rom::Main : public Rom_receiver_base
_backend.register_receiver(this);
}
const char* module_name() const { return remotename; }
unsigned content_hash() const { return rom_module.hash(); }
const char* module_name() const override { return remotename; }
unsigned content_hash() const override { return rom_module.hash(); }
char* start_new_content(unsigned hash, size_t len)
char* start_new_content(unsigned hash, size_t len) override
{
/* save expected hash */
/* TODO (optional) skip if we already have the same data */
@@ -248,7 +248,7 @@ struct Remote_rom::Main : public Rom_receiver_base
return rom_module.base(len);
}
void commit_new_content(bool abort=false)
void commit_new_content(bool abort=false) override
{
if (abort)
return;

View File

@@ -60,8 +60,8 @@ struct Remote_rom::Rom_forwarder : Rom_forwarder_base
update();
}
void start_transmission() { _transmitting = true; }
void finish_transmission()
void start_transmission() override { _transmitting = true; }
void finish_transmission() override
{
_transmitting = false;
@@ -71,7 +71,7 @@ struct Remote_rom::Rom_forwarder : Rom_forwarder_base
update();
}
const char *module_name() const { return modulename; }
const char *module_name() const override { return modulename; }
void update()
{
@@ -85,7 +85,7 @@ struct Remote_rom::Rom_forwarder : Rom_forwarder_base
/* refresh dataspace if valid */
_rom.update();
if (_rom.is_valid()) {
if (_rom.valid()) {
_current_hash = cksum(_rom.local_addr<char>(), content_size());
/* trigger backend_server */
@@ -93,14 +93,14 @@ struct Remote_rom::Rom_forwarder : Rom_forwarder_base
}
}
unsigned content_hash() const
unsigned content_hash() const override
{
return _current_hash;
}
size_t content_size() const
size_t content_size() const override
{
if (_rom.is_valid()) {
if (_rom.valid()) {
if (binary)
return _rom.size();
else
@@ -110,9 +110,9 @@ struct Remote_rom::Rom_forwarder : Rom_forwarder_base
return 0;
}
size_t transfer_content(char *dst, size_t dst_len, size_t offset=0) const
size_t transfer_content(char *dst, size_t dst_len, size_t offset=0) const override
{
if (_rom.is_valid()) {
if (_rom.valid()) {
size_t const len = Genode::min(dst_len, content_size()-offset);
Genode::memcpy(dst, _rom.local_addr<char>() + offset, len);
/* clear remaining buffer to prevent data leakage */