LeviLamina
Loading...
Searching...
No Matches
DynamicLibrary.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/Result.h"
7
8namespace Bedrock {
9
10class DynamicLibrary : public ::std::enable_shared_from_this<::Bedrock::DynamicLibrary> {
11public:
12 // DynamicLibrary inner types declare
13 // clang-format off
14 class Impl;
15 // clang-format on
16
17 // DynamicLibrary inner types define
18 class Impl {
19 public:
20 // virtual functions
21 // NOLINTBEGIN
22 virtual ~Impl() = default;
23
24 virtual ::Bedrock::Result<void*> loadLibrary(::std::string const&) = 0;
25
26 virtual ::Bedrock::Result<void*> loadFunction(void*, char const*) = 0;
27
28 virtual ::Bedrock::Result<void> freeLibrary(void*) = 0;
29 // NOLINTEND
30 };
31
32public:
33 // member variables
34 // NOLINTBEGIN
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 DynamicLibrary& operator=(DynamicLibrary const&);
43 DynamicLibrary(DynamicLibrary const&);
44 DynamicLibrary();
45};
46
47} // namespace Bedrock
Definition DynamicLibrary.h:18
Definition Alias.h:14