Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IServerInitializer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/threading/Async.h"
7#include "mc/resources/ResourceLoadType.h"
8
9// auto generated forward declare list
10// clang-format off
14class TaskGroup;
16namespace ServerInitialization { struct ServerInitResult; }
17// clang-format on
18
19namespace ServerInitialization {
20
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual ~IServerInitializer() = default;
26
27 virtual ::TaskGroup& getTaskGroup() = 0;
28
29 virtual ::Bedrock::Threading::Async<void> createResourceLoadManager() = 0;
30
31 virtual ::Bedrock::Threading::Async<void> executeResourceLoadTasks() = 0;
32
33 virtual ::ResourceLoadManager* tryGetResourceLoadManager() = 0;
34
35 virtual ::gsl::not_null<::std::shared_ptr<::IAssetLoadWorkQueue>> createWorkQueue() = 0;
36
37 virtual void executeWorkQueue(
38 ::ResourceLoadType type,
40 ::gsl::not_null<::std::shared_ptr<::IAssetLoadWorkQueue>> work
41 ) = 0;
42
43 virtual ::ServerInitialization::ServerInitResult completeWithResult(
45 ::std::shared_ptr<::ServerNetworkSystem> network
46 ) = 0;
47
48 virtual ::ServerInitialization::ServerInitResult fail() = 0;
49
50 virtual void storeAbortToken(::std::shared_ptr<void> token) = 0;
51
52 virtual ::std::shared_ptr<void> _abort() = 0;
53 // NOLINTEND
54};
55
56} // namespace ServerInitialization
The game spells this as an AsyncImplBase<T> base subobject holding the handle; a member at the same o...
Definition Async.h:13
Definition IAssetLoadWorkQueue.h:18
Definition ResourceLoadManager.h:22
Definition IServerInitializer.h:21
Definition ServerNetworkSystem.h:34
Definition TaskGroup.h:85
Definition AssetWorkExecutionPolicy.h:8
Definition ServerInitResult.h:7