NeKernel dev
Loading...
Searching...
No Matches
ILoader.h
Go to the documentation of this file.
1/* ========================================
2
3 Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
4
5======================================== */
6
7#pragma once
8
10#include <NeKit/Config.h>
11#include <NeKit/ErrorOr.h>
12#include <hint/CompilerHint.h>
13
14namespace Kernel {
17class ILoader {
18 public:
19 explicit ILoader() = default;
20 virtual ~ILoader() = default;
21
23
24 public:
26 virtual _Output const Char* AsString() = 0;
27 virtual _Output const Char* MIME() = 0;
28 virtual _Output const Char* Path() = 0;
30 virtual _Output ErrorOr<VoidPtr> FindSymbol(_Input const Char* name, _Input Int32 kind) = 0;
31};
32} // namespace Kernel
#define _Output
Definition CompilerHint.h:15
#define _Input
Definition CompilerHint.h:14
#define NE_COPY_DEFAULT(KLASS)
Definition Detail.h:17
ErrorOr class for error handling.
Definition ErrorOr.h:22
ILoader()=default
virtual ~ILoader()=default
virtual _Output ErrorOr< VoidPtr > FindSymbol(_Input const Char *name, _Input Int32 kind)=0
virtual _Output ErrorOr< VoidPtr > GetBlob()=0
virtual _Output ErrorOr< VoidPtr > FindStart()=0
virtual _Output const Char * MIME()=0
virtual _Output const Char * AsString()=0
virtual _Output const Char * Path()=0
UPS inline definitions.
Definition Device.h:12
char Char
Definition Config.h:51
__INT32_TYPE__ Int32
Definition Config.h:38