Remove Pd_session::Native_pd definition from API

This type can be a forward declaration in the public API because its
definition is required only in kernel-specific code.

Fixes #3979
This commit is contained in:
Norman Feske
2021-01-08 13:31:24 +01:00
parent 5ca3847c89
commit f57519397b
11 changed files with 16 additions and 27 deletions

View File

@@ -24,7 +24,7 @@ namespace Genode {
}
class Genode::Native_pd_component : public Rpc_object<Linux_native_pd,
class Genode::Native_pd_component : public Rpc_object<Pd_session::Native_pd,
Native_pd_component>
{
private:

View File

@@ -20,10 +20,10 @@
namespace Genode { struct Linux_native_pd_client; }
struct Genode::Linux_native_pd_client : Rpc_client<Linux_native_pd>
struct Genode::Linux_native_pd_client : Rpc_client<Pd_session::Native_pd>
{
explicit Linux_native_pd_client(Capability<Native_pd> cap)
: Rpc_client<Linux_native_pd>(static_cap_cast<Linux_native_pd>(cap)) { }
: Rpc_client<Pd_session::Native_pd>(cap) { }
void start(Capability<Dataspace> binary) {
call<Rpc_start>(binary); }

View File

@@ -17,13 +17,8 @@
#include <pd_session/pd_session.h>
#include <dataspace/dataspace.h>
namespace Genode { struct Linux_native_pd; }
struct Genode::Linux_native_pd : Pd_session::Native_pd
struct Genode::Pd_session::Native_pd : Interface
{
void start(Capability<Dataspace> binary);
GENODE_RPC(Rpc_start, void, start, Capability<Dataspace>);
GENODE_RPC_INTERFACE(Rpc_start);
};

View File

@@ -82,8 +82,7 @@ Child::Process::Process(Type type,
pd.assign_parent(parent_cap);
Linux_native_pd_client
lx_pd(static_cap_cast<Linux_native_pd>(pd.native_pd()));
Linux_native_pd_client lx_pd(pd.native_pd());
lx_pd.start(ldso_ds);
}