LeviLamina
Loading...
Searching...
No Matches
CrashFileProcessor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/threading/IAsyncResult.h"
8
9// auto generated forward declare list
10// clang-format off
11class Scheduler;
12namespace Bedrock { class SessionInfo; }
13namespace Bedrock { class WorkerPoolHandleInterface; }
14// clang-format on
15
16namespace Bedrock {
17
19public:
20 // CrashFileProcessor inner types declare
21 // clang-format off
22 class CrashHandler;
23 // clang-format on
24
25 // CrashFileProcessor inner types define
27 public:
28 // CrashHandler inner types declare
29 // clang-format off
30 struct StatusUpdate;
31 // clang-format on
32
33 // CrashHandler inner types define
34 struct StatusUpdate {
35 public:
36 // member variables
37 // NOLINTBEGIN
41 // NOLINTEND
42
43 public:
44 // prevent constructor by default
45 StatusUpdate& operator=(StatusUpdate const&);
48 };
49
50 public:
51 // virtual functions
52 // NOLINTBEGIN
53 // vIndex: 0
54 virtual ~CrashHandler() = default;
55
56 // vIndex: 1
57 virtual ::std::shared_ptr<::Bedrock::SessionInfo> findCrashedSessionInfo(::std::string_view) const = 0;
58
59 // vIndex: 2
60 virtual void notifyCrashUploadStatus(::Bedrock::CrashFileProcessor::CrashHandler::StatusUpdate const&) = 0;
61
62 // vIndex: 3
63 virtual void notifyDoneWithSession(::std::string_view) = 0;
64 // NOLINTEND
65
66 public:
67 // virtual function thunks
68 // NOLINTBEGIN
69
70 // NOLINTEND
71 };
72
73 enum class ProcessMode : int {
74 Synchronous = 0,
75 Asynchronous = 1,
76 };
77
78public:
79 // virtual functions
80 // NOLINTBEGIN
81 // vIndex: 0
82 virtual ~CrashFileProcessor() = default;
83
84 // vIndex: 1
85 virtual bool getSessionIDFromFile(::std::string&, ::Core::PathBuffer<::std::string> const&) const = 0;
86
87 // vIndex: 2
88 virtual ::Bedrock::CrashFileProcessor::ProcessMode
89 beginCrashProcessing(uint64, ::std::shared_ptr<::Bedrock::WorkerPoolHandleInterface>, ::Scheduler&) = 0;
90
91 // vIndex: 3
92 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<bool>> processCrash(
93 ::gsl::not_null<::std::shared_ptr<::Bedrock::CrashFileProcessor::CrashHandler>> const&,
95 ) = 0;
96
97 // vIndex: 4
98 virtual void doneCrashProcessing() = 0;
99 // NOLINTEND
100
101public:
102 // virtual function thunks
103 // NOLINTBEGIN
104
105 // NOLINTEND
106};
107
108} // namespace Bedrock
Definition CrashFileProcessor.h:26
Definition CrashFileProcessor.h:18
Definition PathBuffer.h:8
Definition Scheduler.h:13
Definition Alias.h:14