/* * \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