36#include "Containers/Map.h"
54#define NET_ANALYTICS_MULTITHREADING 0
83#define REGISTER_NET_ANALYTICS(Aggregator, AnalyticsDataType, InDataName) \
84 StaticCastSharedPtr<AnalyticsDataType, FNetAnalyticsData, NetAnalyticsThreadSafety>( \
85 (Aggregator->RegisterAnalyticsData_Internal(MakeShareable(new AnalyticsDataType(), FNetAnalyticsDataDeleter()), InDataName, \
86 TEXT(#AnalyticsDataType))))
158 static_assert(THasMemberFunction_CommitAnalytics<TDataStruct>::Value,
"TDataStruct must implement void CommitAnalytics(TDataStruct&)");
167 AnalyticsVars.CommitAnalytics(*
this);
171#if NET_ANALYTICS_MULTITHREADING
213 static_assert(THasMemberFunction_CommitAnalytics<TDataStruct>::Value,
"TDataStruct must implement void CommitAnalytics(TDataStruct&)");
250 TDataStruct*
ReturnVal =
new TDataStruct();
269 if (!It.Key().IsValid())
282 virtual void NotifyFinalRelease()
override
293 FThreadedNetAnalyticsData::NotifyFinalRelease();
310 if (Data->Aggregator !=
nullptr)
312 Data->NotifyFinalRelease();
372 return AnalyticsProvider;
378 return NetDriverName;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
TAtomic< uint8 > GNetAnalyticsCounter(0)
NETCORE_API TAtomic< uint8 > GNetAnalyticsCounter
constexpr const ESPMode NetAnalyticsThreadSafety
Definition NetAnalytics.h:57
ESPMode
Definition SharedPointerFwd.h:12
#define GENERATE_MEMBER_FUNCTION_CHECK(MemberName, Result, ConstModifier,...)
Definition UnrealTypeTraits.h:470
Definition NameTypes.h:617
Definition NetAnalytics.h:324
const TSharedPtr< IAnalyticsProvider > & GetAnalyticsProvider()
Definition NetAnalytics.h:370
NETCORE_API TNetAnalyticsDataPtr RegisterAnalyticsData_Internal(TNetAnalyticsDataRef<> InData, const FName &InDataName, FString InTypeName)
Definition NetAnalytics.cpp:106
NETCORE_API void Init()
Definition NetAnalytics.cpp:70
NETCORE_API void AppendGameInstanceAttributes(TArray< FAnalyticsEventAttribute > &OutAttributes)
Definition NetAnalytics.cpp:158
FName GetNetDriverName() const
Definition NetAnalytics.h:376
FNetAnalyticsAggregator()=delete
NETCORE_API void SendAnalytics()
Definition NetAnalytics.cpp:140
NETCORE_API void InitConfig()
Definition NetAnalytics.cpp:77
NETCORE_API void SetAnalyticsAppender(FAnalyticsAppender AppenderFunction)
Definition NetAnalytics.cpp:153
Definition IAnalyticsProvider.h:52
Definition UnrealString.h.inl:34
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
Definition AnalyticsEventAttribute.h:48
Definition NetAnalytics.h:102
Definition NetAnalytics.h:307
void operator()(FNetAnalyticsData *Data)
Definition NetAnalytics.h:308
Definition NetAnalytics.h:110
NETCORE_API FNetAnalyticsData()
Definition NetAnalytics.cpp:18
virtual void SendAnalytics()=0
FNetAnalyticsAggregator * Aggregator
Definition NetAnalytics.h:116
virtual NETCORE_API ~FNetAnalyticsData()
virtual NETCORE_API void InternalSendAnalytics()
Definition NetAnalytics.cpp:25
virtual void NotifyFinalRelease()
Definition NetAnalytics.h:141
Definition UnrealTypeTraits.h:351
Definition NetAnalytics.h:155
GENERATE_MEMBER_FUNCTION_CHECK(CommitAnalytics, void,, TDataStruct &)
void CommitAnalytics(TDataStruct &AnalyticsVars)
Definition NetAnalytics.h:165
Definition UnrealTypeTraits.h:40