Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
Event.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/flat_map.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace Json { class Value; }
11namespace Social::Events { class Measurement; }
12namespace Social::Events { class Property; }
13namespace cereal { struct ReflectionCtx; }
14// clang-format on
15
16namespace Social::Events {
17
18class Event {
19public:
20 // Event inner types define
21 enum class AggregationMode : int {
22 None = 0,
23 Aggregate = 1,
24 AggregateByUniqueProperties = 2,
25 };
26
27public:
28 // member variables
29 // NOLINTBEGIN
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 Event& operator=(Event const&);
48 Event();
49
50public:
51 // member functions
52 // NOLINTBEGIN
54
55 MCNAPI Event(
56 uint id,
57 ::std::string const& eventName,
58 ::std::unordered_map<::std::string, ::Social::Events::Property>&& commonProperties,
59 int eventTags
60 );
61
62 MCNAPI bool _areAllPropertiesEqual(::Social::Events::Event const& other) const;
63
64 MCNAPI bool _areUniquePropertiesEqual(::Social::Events::Event const& other) const;
65
66 MCNAPI void addMeasurement(::Social::Events::Measurement const& measurement);
67
68 MCNAPI void addProperty(::Social::Events::Property const& property, bool isUniqueProperty);
69
70 MCNAPI ::brstd::flat_map<
71 ::std::string,
72 ::std::vector<::Social::Events::Property>,
73 ::std::less<::std::string>,
74 ::std::vector<::std::string>,
75 ::std::vector<::std::vector<::Social::Events::Property>>>
77
78 MCNAPI ::std::optional<::std::reference_wrapper<::Social::Events::Property const>>
79 getProperty(::std::string const& propertyName) const;
80
81#ifdef LL_PLAT_C
82 MCNAPI ::Json::Value measurementsAsJsonValue() const;
83
84 MCNAPI ::Json::Value propertiesAsJsonValue() const;
85#endif
86
87 MCNAPI ~Event();
88 // NOLINTEND
89
90public:
91 // static functions
92 // NOLINTBEGIN
93#ifdef LL_PLAT_C
94 MCNAPI static void bindType(::cereal::ReflectionCtx& ctx);
95#endif
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCNAPI void* $ctor(::Social::Events::Event const&);
102
103 MCNAPI void* $ctor(
104 uint id,
105 ::std::string const& eventName,
106 ::std::unordered_map<::std::string, ::Social::Events::Property>&& commonProperties,
107 int eventTags
108 );
109 // NOLINTEND
110
111public:
112 // destructor thunk
113 // NOLINTBEGIN
114 MCNAPI void $dtor();
115 // NOLINTEND
116};
117
118} // namespace Social::Events
Definition Value.h:16
Definition Event.h:18
MCAPI Event(uint id, ::std::string const &eventName, ::std::unordered_map<::std::string, ::Social::Events::Property > &&commonProperties, int eventTags)
MCAPI ::std::optional<::std::reference_wrapper<::Social::Events::Property const > > getProperty(::std::string const &propertyName) const
MCAPI void addMeasurement(::Social::Events::Measurement const &measurement)
MCAPI void * $ctor(uint id, ::std::string const &eventName, ::std::unordered_map<::std::string, ::Social::Events::Property > &&commonProperties, int eventTags)
MCAPI void addProperty(::Social::Events::Property const &property, bool isUniqueProperty)
MCAPI Event(::Social::Events::Event const &)
MCAPI bool _areUniquePropertiesEqual(::Social::Events::Event const &other) const
MCAPI bool _areAllPropertiesEqual(::Social::Events::Event const &other) const
MCAPI ::brstd::flat_map< ::std::string, ::std::vector<::Social::Events::Property >, ::std::less<::std::string >, ::std::vector<::std::string >, ::std::vector<::std::vector<::Social::Events::Property > > > getCompoundsAsDynamicProperties() const
MCAPI void * $ctor(::Social::Events::Event const &)
Definition Measurement.h:7
Definition Property.h:12
Definition ReflectionCtx.h:11
Definition ctx.h:5
Definition Alias.h:14