UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MessageHandlers.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "IMessageContext.h"
7#include "IMessageHandler.h"
8
9
15template<typename HandlerType>
17 : public IMessageHandler
18{
19public:
20
23
24public:
25
33 : Handler(InHandler)
34 , Func(InFunc)
35 {
36 check(InHandler != nullptr);
37 }
38
41
42public:
43
44 //~ IMessageHandler interface
45
47 {
48 (Handler->*Func)(Context);
49 }
50
51private:
52
54 HandlerType* Handler;
55
57 FuncType Func;
58};
59
60
67template<typename MessageType, typename HandlerType>
69 : public IMessageHandler
70{
71public:
72
74 typedef void (HandlerType::*FuncType)(const MessageType&, const TSharedRef<IMessageContext, ESPMode::ThreadSafe>&);
75
76public:
77
85 : Handler(InHandler)
86 , Func(InFunc)
87 {
88 check(InHandler != nullptr);
89 }
90
93
94public:
95
96 //~ IMessageHandler interface
97
99 {
100 UStruct* Struct = MessageType::StaticStruct();
101 if (Struct && Context->GetMessageTypePathName() == Struct->GetStructPathName())
102 {
103 (Handler->*Func)(*static_cast<const MessageType*>(Context->GetMessage()), Context);
104 }
105 }
106
107private:
108
110 HandlerType* Handler;
111
113 FuncType Func;
114};
115
116
121 : public IMessageHandler
122{
123public:
124
127
128public:
129
138
141
142public:
143
144 //~ IMessageHandler interface
145
147 {
148 Func(Context);
149 }
150
151private:
152
154 FuncType Func;
155};
156
157
163template<typename MessageType>
165 : public IMessageHandler
166{
167public:
168
171
172public:
173
182
185
186public:
187
188 //~ IMessageHandler interface
189
191 {
192 if (Context->GetMessageTypePathName() == MessageType::StaticStruct()->GetStructPathName())
193 {
194 Func(*static_cast<const MessageType*>(Context->GetMessage()), Context);
195 }
196 }
197
198private:
199
201 FuncType Func;
202};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ESPMode
Definition SharedPointerFwd.h:12
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition MessageHandlers.h:122
FFunctionMessageCatchall(FuncType InFunc)
Definition MessageHandlers.h:135
virtual void HandleMessage(const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context) override
Definition MessageHandlers.h:146
TFunction< void(const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &)> FuncType
Definition MessageHandlers.h:126
~FFunctionMessageCatchall()
Definition MessageHandlers.h:140
Definition IMessageContext.h:225
Definition IMessageHandler.h:14
Definition MessageHandlers.h:166
~TFunctionMessageHandler()
Definition MessageHandlers.h:184
TFunction< void(const MessageType &, const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &)> FuncType
Definition MessageHandlers.h:170
virtual void HandleMessage(const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context) override
Definition MessageHandlers.h:190
TFunctionMessageHandler(FuncType InFunc)
Definition MessageHandlers.h:179
Definition AndroidPlatformMisc.h:14
Definition MessageHandlers.h:18
TRawMessageCatchall(HandlerType *InHandler, FuncType InFunc)
Definition MessageHandlers.h:32
~TRawMessageCatchall()
Definition MessageHandlers.h:40
void(HandlerType::* FuncType)(const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &)
Definition MessageHandlers.h:22
virtual void HandleMessage(const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context) override
Definition MessageHandlers.h:46
Definition MessageHandlers.h:70
virtual void HandleMessage(const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context) override
Definition MessageHandlers.h:98
void(HandlerType::* FuncType)(const MessageType &, const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &)
Definition MessageHandlers.h:74
~TRawMessageHandler()
Definition MessageHandlers.h:92
TRawMessageHandler(HandlerType *InHandler, FuncType InFunc)
Definition MessageHandlers.h:84
Definition SharedPointer.h:153
Definition Class.h:480