/*
* \brief Cell-session interface
* \author Michael Müller
* \date 2025-02-17
*/
/*
* Copyright (C) 2025 Michael Müller, Osnabrück University
*
* This file is part of the EalánOS research operating system, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#ifndef __EALANOS_HABITAT_CONNECTIOn_H_
#define __EALANOS_HABITAT_CONNECTIOn_H_
/* Genode includes */
#include
#include
/* Ealan includes */
#include
#include
namespace Ealan { struct Habitat_connection; }
struct Ealan::Habitat_connection : Genode::Connection, Habitat_client
{
Habitat_connection(Genode::Env &env, Genode::Affinity &affinity,
Label const &label = Label())
: Connection(env, label, Genode::Ram_quota{RAM_QUOTA}, affinity,
Args("")),
Habitat_client(cap())
{
}
Cell_capability create_cell(Genode::Capability pd_cap, Genode::Affinity &affinity, Genode::uint16_t prio, Genode::Session_label const &label, bool is_brick) override {
return Habitat_client::create_cell(pd_cap, affinity, prio, label, is_brick);
}
Genode::Affinity affinity() override
{
return Habitat_client::affinity();
}
void groom() override
{
return Habitat_client::groom();
}
};
#endif