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&) = 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 MCNAPI void _handleAggregation(
74 ::std::deque<::Social::Events::Event>& listOfSameTypeEvents,
75 ::Social::Events::Event const& event
76 );
77
78 MCNAPI bool _needToSendAggregatedEvents() const;
79
81 ::Social::Events::Event const& event,
82 ::std::unordered_map<::std::string, ::std::deque<::Social::Events::Event>>& eventQueue
83 );
84
85 MCNAPI void _sendCustomAggregatedEvents(bool forceSend);
86
87 MCNAPI void _sendEvents(::std::unordered_map<::std::string, ::std::deque<::Social::Events::Event>>& queueToSend);
88
89 MCNAPI void _sendNextEvent(::std::unordered_map<::std::string, ::std::deque<::Social::Events::Event>>& queueToSend);
90 // NOLINTEND
91
92public:
93 // constructor thunks
94 // NOLINTBEGIN
95 MCNAPI void* $ctor(::Core::Path const& logFileName);
96
97 MCNAPI_C void*
98 $ctor(uint regBatchSize, uint regSendInterval, uint throttledSendInterval, ::Core::Path const& logFileName);
99 // NOLINTEND
100
101public:
102 // destructor thunk
103 // NOLINTBEGIN
104 MCNAPI void $dtor();
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCNAPI void
112
113 MCNAPI void $sendEvents(bool forceSend);
114
116
117 MCNAPI void $_flushEventQueue();
118
120
121 MCNAPI bool $_isListenerReadyForEvents() const;
122
123
124 // NOLINTEND
125
126public:
127 // vftables
128 // NOLINTBEGIN
129 MCNAPI static void** $vftable();
130 // NOLINTEND
131};
132
133} // namespace Social::Events
Definition AppPlatform.h:76
Definition NonOwnerPointer.h:9
Definition Path.h:10
MCAPI bool _needToSendAggregatedEvents() const
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(::std::unordered_map<::std::string, ::std::deque<::Social::Events::Event > > &queueToSend)
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:18
Definition IEventListener.h:16
Definition Alias.h:14