contur2
Loading...
Searching...
No Matches
contur::KernelBuilder Class Reference

Fluent builder that assembles Kernel dependencies. More...

#include <kernel_builder.h>

Public Member Functions

 KernelBuilder ()
 ~KernelBuilder ()
 KernelBuilder (const KernelBuilder &)=delete
KernelBuilderoperator= (const KernelBuilder &)=delete
 KernelBuilder (KernelBuilder &&) noexcept
KernelBuilderoperator= (KernelBuilder &&) noexcept
KernelBuilderwithClock (std::unique_ptr< IClock > clock)
KernelBuilderwithMemory (std::unique_ptr< IMemory > memory)
KernelBuilderwithMmu (std::unique_ptr< IMMU > mmu)
KernelBuilderwithVirtualMemory (std::unique_ptr< IVirtualMemory > virtualMemory)
KernelBuilderwithCpu (std::unique_ptr< ICPU > cpu)
KernelBuilderwithExecutionEngine (std::unique_ptr< IExecutionEngine > executionEngine)
KernelBuilderwithSchedulingPolicy (std::unique_ptr< ISchedulingPolicy > policy)
KernelBuilderwithScheduler (std::unique_ptr< IScheduler > scheduler)
KernelBuilderwithDispatcher (std::unique_ptr< IDispatcher > dispatcher)
KernelBuilderwithFileSystem (std::unique_ptr< IFileSystem > fileSystem)
KernelBuilderwithIpcManager (std::unique_ptr< IpcManager > ipcManager)
KernelBuilderwithSyscallTable (std::unique_ptr< SyscallTable > syscallTable)
KernelBuilderwithPageReplacementPolicy (std::unique_ptr< IPageReplacementPolicy > replacement)
KernelBuilderwithDefaultTickBudget (std::size_t ticks)
std::unique_ptr< IKernelbuild ()
 Builds a fully wired kernel instance.

Private Attributes

std::unique_ptr< Impl > impl_

Detailed Description

Fluent builder that assembles Kernel dependencies.

Definition at line 29 of file kernel_builder.h.

Constructor & Destructor Documentation

◆ KernelBuilder() [1/3]

contur::KernelBuilder::KernelBuilder ( )

◆ ~KernelBuilder()

contur::KernelBuilder::~KernelBuilder ( )

◆ KernelBuilder() [2/3]

contur::KernelBuilder::KernelBuilder ( const KernelBuilder & )
delete

◆ KernelBuilder() [3/3]

contur::KernelBuilder::KernelBuilder ( KernelBuilder && )
noexcept

Member Function Documentation

◆ build()

std::unique_ptr< IKernel > contur::KernelBuilder::build ( )
nodiscard

Builds a fully wired kernel instance.

◆ operator=() [1/2]

KernelBuilder & contur::KernelBuilder::operator= ( const KernelBuilder & )
delete

◆ operator=() [2/2]

KernelBuilder & contur::KernelBuilder::operator= ( KernelBuilder && )
noexcept

◆ withClock()

KernelBuilder & contur::KernelBuilder::withClock ( std::unique_ptr< IClock > clock)
nodiscard

◆ withCpu()

KernelBuilder & contur::KernelBuilder::withCpu ( std::unique_ptr< ICPU > cpu)
nodiscard

◆ withDefaultTickBudget()

KernelBuilder & contur::KernelBuilder::withDefaultTickBudget ( std::size_t ticks)
nodiscard

◆ withDispatcher()

KernelBuilder & contur::KernelBuilder::withDispatcher ( std::unique_ptr< IDispatcher > dispatcher)
nodiscard

◆ withExecutionEngine()

KernelBuilder & contur::KernelBuilder::withExecutionEngine ( std::unique_ptr< IExecutionEngine > executionEngine)
nodiscard

◆ withFileSystem()

KernelBuilder & contur::KernelBuilder::withFileSystem ( std::unique_ptr< IFileSystem > fileSystem)
nodiscard

◆ withIpcManager()

KernelBuilder & contur::KernelBuilder::withIpcManager ( std::unique_ptr< IpcManager > ipcManager)
nodiscard

◆ withMemory()

KernelBuilder & contur::KernelBuilder::withMemory ( std::unique_ptr< IMemory > memory)
nodiscard

◆ withMmu()

KernelBuilder & contur::KernelBuilder::withMmu ( std::unique_ptr< IMMU > mmu)
nodiscard

◆ withPageReplacementPolicy()

KernelBuilder & contur::KernelBuilder::withPageReplacementPolicy ( std::unique_ptr< IPageReplacementPolicy > replacement)
nodiscard

◆ withScheduler()

KernelBuilder & contur::KernelBuilder::withScheduler ( std::unique_ptr< IScheduler > scheduler)
nodiscard

◆ withSchedulingPolicy()

KernelBuilder & contur::KernelBuilder::withSchedulingPolicy ( std::unique_ptr< ISchedulingPolicy > policy)
nodiscard

◆ withSyscallTable()

KernelBuilder & contur::KernelBuilder::withSyscallTable ( std::unique_ptr< SyscallTable > syscallTable)
nodiscard

◆ withVirtualMemory()

KernelBuilder & contur::KernelBuilder::withVirtualMemory ( std::unique_ptr< IVirtualMemory > virtualMemory)
nodiscard

Member Data Documentation

◆ impl_

std::unique_ptr<Impl> contur::KernelBuilder::impl_
private

Definition at line 60 of file kernel_builder.h.


The documentation for this class was generated from the following file: