mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
44 lines
1.2 KiB
C++
44 lines
1.2 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_CLIENT_H_
|
|
#define __EALANOS_HABITAT_CLIENT_H_
|
|
|
|
/* Genode includes */
|
|
#include <base/rpc_client.h>
|
|
|
|
#include <habitat/session.h>
|
|
|
|
namespace Ealan { struct Habitat_client;
|
|
using Habitat_capability = Genode::Capability<Ealan::Habitat_session>;
|
|
}
|
|
|
|
struct Ealan::Habitat_client : Genode::Rpc_client<Ealan::Habitat_session>
|
|
{
|
|
explicit Habitat_client(Habitat_capability session) : Rpc_client<Habitat_session>(session) {}
|
|
|
|
Cell_capability create_cell(Genode::Capability<Genode::Pd_session> pd, Genode::Affinity &affinity, Genode::uint16_t prio, Genode::Session_label const &label, bool is_brick) override {
|
|
return call<Rpc_create_cell>(pd, affinity, prio, label, is_brick);
|
|
}
|
|
|
|
Genode::Affinity affinity() override
|
|
{
|
|
return call<Rpc_affinity>();
|
|
}
|
|
|
|
void groom() override
|
|
{
|
|
call<Rpc_groom>();
|
|
}
|
|
};
|
|
#endif |