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 // destructor thunk
68 // NOLINTBEGIN
69
70 // NOLINTEND
71
72 public:
73 // virtual function thunks
74 // NOLINTBEGIN
75
76 // NOLINTEND
77 };
78
79 enum class ProcessMode : int {
80 Synchronous = 0,
81 Asynchronous = 1,
82 };
83
84public:
85 // virtual functions
86 // NOLINTBEGIN
87 // vIndex: 0
88 virtual ~CrashFileProcessor() = default;
89
90 // vIndex: 1
91 virtual bool getSessionIDFromFile(::std::string&, ::Core::PathBuffer<::std::string> const&) const = 0;
92
93 // vIndex: 2
94 virtual ::Bedrock::CrashFileProcessor::ProcessMode
95 beginCrashProcessing(uint64, ::std::shared_ptr<::Bedrock::WorkerPoolHandleInterface>, ::Scheduler&) = 0;
96
97 // vIndex: 3
98 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<bool>>
99 processCrash(::gsl::not_null<::std::shared_ptr<::Bedrock::CrashFileProcessor::CrashHandler>> const&, ::Core::PathBuffer<::std::string> const&) = 0;
100
101 // vIndex: 4
102 virtual void doneCrashProcessing() = 0;
103 // NOLINTEND
104
105public:
106 // destructor thunk
107 // NOLINTBEGIN
108
109 // NOLINTEND
110
111public:
112 // virtual function thunks
113 // NOLINTBEGIN
114
115 // NOLINTEND
116};
117
118} // namespace Bedrock
Definition CrashFileProcessor.h:26
Definition CrashFileProcessor.h:18
Definition PathBuffer.h:8
Definition Scheduler.h:13
Definition Alias.h:14