mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
/*
|
|
* \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 <base/rpc_args.h>
|
|
#include <session/session.h>
|
|
|
|
/* Ealan includes */
|
|
#include <habitat/client.h>
|
|
#include <base/connection.h>
|
|
|
|
namespace Ealan { struct Habitat_connection; }
|
|
|
|
struct Ealan::Habitat_connection : Genode::Connection<Ealan::Habitat_session>, Habitat_client
|
|
{
|
|
Habitat_connection(Genode::Env &env, Genode::Affinity &affinity, Label const &label = Label())
|
|
: Connection<Habitat_session>(env, label, Genode::Ram_quota { RAM_QUOTA }, affinity, Args("")), Habitat_client(cap()) {}
|
|
|
|
Cell_capability create_cell(Genode::Capability<Genode::Pd_session> 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
|