LeviLamina
Loading...
Searching...
No Matches
ContentLog.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/debug/log/LogArea.h"
7#include "mc/deps/core/debug/log/LogLevel.h"
8#include "mc/deps/core/string/StaticOptimizedString.h"
9#include "mc/deps/core/threading/InstancedThreadLocal.h"
10#include "mc/deps/core/utility/DisableServiceLocatorOverride.h"
11#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
12#include "mc/deps/core/utility/NonOwnerPointer.h"
13#include "mc/deps/core/utility/typeid_t.h"
14#include "mc/diagnostics/LogAreaID.h"
15#include "mc/platform/threading/Mutex.h"
16
17// auto generated forward declare list
18// clang-format off
21// clang-format on
22
24public:
25 // ContentLog inner types declare
26 // clang-format off
29 class ScopeHandler;
30 class ContentLogScope;
31 // clang-format on
32
33 // ContentLog inner types define
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ContentLogEndPoint>> mContentLogEndPoint;
39 // NOLINTEND
40
41 public:
42 // member functions
43 // NOLINTBEGIN
45 // NOLINTEND
46
47 public:
48 // destructor thunk
49 // NOLINTBEGIN
50 MCNAPI void $dtor();
51 // NOLINTEND
52 };
53
55 public:
56 // ThreadSpecificData inner types declare
57 // clang-format off
58 struct ScopeData;
59 // clang-format on
60
61 // ThreadSpecificData inner types define
62 struct ScopeData {
63 public:
64 // member variables
65 // NOLINTBEGIN
66 ::ll::TypedStorage<8, 8, ::Bedrock::StaticOptimizedString> mMessage;
67 ::ll::TypedStorage<8, 8, ::gsl::not_null<::ContentLog::ContentLogScope const*>> mContentLogScope;
68 // NOLINTEND
69 };
70
71 public:
72 // member variables
73 // NOLINTBEGIN
74 ::ll::TypedStorage<8, 24, ::std::vector<::ContentLog::ThreadSpecificData::ScopeData>> mScope;
75 ::ll::TypedStorage<8, 24, ::std::vector<::ContextMessageLogger*>> mMessageLoggers;
76 // NOLINTEND
77 };
78
79 class ScopeHandler : public ::std::enable_shared_from_this<::ContentLog::ScopeHandler> {
80 public:
81 // member variables
82 // NOLINTBEGIN
83 ::ll::TypedStorage<
84 8,
85 168,
88 ::std::allocator<::ContentLog::ThreadSpecificData>>>
89 mThreadSpecificData;
90 // NOLINTEND
91 };
92
93 class ContentLogScope {
94 public:
95 // member variables
96 // NOLINTBEGIN
97 ::ll::TypedStorage<1, 1, bool> mPopScope;
98 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ContentLog::ScopeHandler>> mScopeHandler;
99 // NOLINTEND
100
101 public:
102 // prevent constructor by default
103 ContentLogScope();
104
105 public:
106 // member functions
107 // NOLINTBEGIN
109
111 // NOLINTEND
112
113 public:
114 // constructor thunks
115 // NOLINTBEGIN
117 // NOLINTEND
118
119 public:
120 // destructor thunk
121 // NOLINTBEGIN
122 MCNAPI void $dtor();
123 // NOLINTEND
124 };
125
126public:
127 // member variables
128 // NOLINTBEGIN
129 ::ll::TypedStorage<1, 1, bool> mEnabled;
130 ::ll::TypedStorage<8, 16, ::std::map<::Bedrock::typeid_t<::ContentLog>, ::ContentLog::ContentLogEndPointData>>
131 mEndPoints;
132 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mEndpointMutex;
133 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ContentLog::ScopeHandler>> mScopeHandler;
134 ::ll::TypedStorage<
135 8,
136 64,
137 ::std::unordered_map<::LogLevel, ::std::unordered_map<::LogArea, ::std::unordered_set<uint64>>>>
138 mOnceOnlyMessages;
139 // NOLINTEND
140
141public:
142 // virtual functions
143 // NOLINTBEGIN
144 virtual ~ContentLog() /*override*/;
145 // NOLINTEND
146
147public:
148 // member functions
149 // NOLINTBEGIN
150 MCAPI void _writeToLog(bool logOnlyOnce, ::LogArea area, ::LogLevel level, char*& args);
151
152 MCAPI ::std::string getScope();
153
154 MCAPI void log(bool, ::LogLevel, ::LogArea, ...);
155
156 MCAPI void registerEndPoint(::Bedrock::typeid_t<::ContentLog> id, ::gsl::not_null<::ContentLogEndPoint*> endPoint);
157
158 MCAPI void unregisterEndPoint(::gsl::not_null<::ContentLogEndPoint*> endPoint);
159 // NOLINTEND
160
161public:
162 // static functions
163 // NOLINTBEGIN
164#ifdef LL_PLAT_S
165 MCAPI static ::LogAreaID const getBedrockLogAreaFromContentLogArea(::LogArea contentLogArea);
166#endif
167
168 MCAPI static char const* getLogAreaName(::LogArea area);
169 // NOLINTEND
170
171public:
172 // destructor thunk
173 // NOLINTBEGIN
174 MCAPI void $dtor();
175 // NOLINTEND
176
177public:
178 // vftables
179 // NOLINTBEGIN
180 MCNAPI static void** $vftable();
181 // NOLINTEND
182};
Definition EnableNonOwnerReferences.h:7
Definition StaticOptimizedString.h:10
Definition InstancedThreadLocal.h:8
Definition typeid_t.h:25
Definition ContentLogEndPoint.h:11
Definition ContentLog.h:34
Definition ContentLog.h:93
MCAPI ContentLogScope(::Bedrock::StaticOptimizedString scope)
MCAPI void * $ctor(::Bedrock::StaticOptimizedString scope)
Definition ContentLog.h:79
Definition ContentLog.h:54
Definition ContentLog.h:23
static MCAPI void ** $vftable()
Definition ContextMessageLogger.h:10
Definition DisableServiceLocatorOverride.h:5