LeviLamina
Loading...
Searching...
No Matches
AggregationEventListener.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/events/IEventListener.h"
8
9// auto generated forward declare list
10// clang-format off
11class AppPlatform;
12namespace Core { class Path; }
13namespace Social::Events { class Event; }
14// clang-format on
15
16namespace Social::Events {
17
18class AggregationEventListener : public ::Social::Events::IEventListener {
19public:
20 // member variables
21 // NOLINTBEGIN
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 AggregationEventListener& operator=(AggregationEventListener const&);
42 AggregationEventListener(AggregationEventListener const&);
43 AggregationEventListener();
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual ~AggregationEventListener() /*override*/;
49
50 virtual void recordEvent(
51 ::Social::Events::Event const& event,
53 ) /*override*/;
54
55 virtual void sendEvents(bool forceSend) /*override*/;
56
57 virtual void sendEvent(::Social::Events::Event const& event) = 0;
58
59 virtual void stopDebugEventLogging() /*override*/;
60
61 virtual void _flushEventQueue();
62
63 virtual bool _checkAgainstEventAllowlist(::Social::Events::Event const& event) const;
64
65 virtual bool _isListenerReadyForEvents() const;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
71 MCNAPI explicit AggregationEventListener(::Core::Path const& logFileName);
72
73#ifdef LL_PLAT_C
74 MCNAPI AggregationEventListener(
75 uint regBatchSize,
76 uint regSendInterval,
77 uint throttledSendInterval,
78 ::Core::Path const& logFileName
79 );
80#endif
81
82 MCNAPI void _handleAggregation(
83 ::std::deque<::Social::Events::Event>& listOfSameTypeEvents,
84 ::Social::Events::Event const& event
85 );
86
88 ::Social::Events::Event const& event,
89 ::std::unordered_map<::std::string, ::std::deque<::Social::Events::Event>>& eventQueue
90 );
91
92 MCNAPI void _sendCustomAggregatedEvents(bool forceSend);
93
94 MCNAPI void _sendNextEvent(::std::unordered_map<::std::string, ::std::deque<::Social::Events::Event>>& queueToSend);
95 // NOLINTEND
96
97public:
98 // constructor thunks
99 // NOLINTBEGIN
100 MCNAPI void* $ctor(::Core::Path const& logFileName);
101
102#ifdef LL_PLAT_C
103 MCNAPI void*
104 $ctor(uint regBatchSize, uint regSendInterval, uint throttledSendInterval, ::Core::Path const& logFileName);
105#endif
106 // NOLINTEND
107
108public:
109 // destructor thunk
110 // NOLINTBEGIN
111 MCNAPI void $dtor();
112 // NOLINTEND
113
114public:
115 // virtual function thunks
116 // NOLINTBEGIN
117 MCNAPI void
119
120 MCNAPI void $sendEvents(bool forceSend);
121
123
124 MCNAPI void $_flushEventQueue();
125
127
128 MCNAPI bool $_isListenerReadyForEvents() const;
129
130
131 // NOLINTEND
132
133public:
134 // vftables
135 // NOLINTBEGIN
136 MCNAPI static void** $vftable();
137 // NOLINTEND
138};
139
140} // namespace Social::Events
Definition AppPlatform.h:91
Definition NonOwnerPointer.h:9
Definition Path.h:12
MCAPI AggregationEventListener(::Core::Path const &logFileName)
MCAPI void $recordEvent(::Social::Events::Event const &event, ::Bedrock::NonOwnerPointer<::AppPlatform > const &appPlatform)
MCAPI void * $ctor(::Core::Path const &logFileName)
MCAPI void _sendCustomAggregatedEvents(bool forceSend)
MCAPI void $sendEvents(bool forceSend)
MCAPI void _sendNextEvent(::std::unordered_map<::std::string, ::std::deque<::Social::Events::Event > > &queueToSend)
MCAPI void _recordAggregatedEvent(::Social::Events::Event const &event, ::std::unordered_map<::std::string, ::std::deque<::Social::Events::Event > > &eventQueue)
MCAPI void _handleAggregation(::std::deque<::Social::Events::Event > &listOfSameTypeEvents, ::Social::Events::Event const &event)
MCAPI bool $_checkAgainstEventAllowlist(::Social::Events::Event const &event) const
Definition Event.h:19
Definition IEventListener.h:16
Definition Alias.h:14