UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MessageBridge.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "IMessageBridge.h"
6#include "IMessageContext.h"
7#include "IMessageReceiver.h"
8#include "IMessageSender.h"
10#include "Misc/Guid.h"
12
14
15class IMessageBus;
18
19
35 : public TSharedFromThis<FMessageBridge, ESPMode::ThreadSafe>
36 , public IMessageBridge
37 , public IMessageReceiver
38 , public IMessageSender
39 , protected IMessageTransportHandler
40{
41public:
42
54 );
55
57 virtual ~FMessageBridge();
58
59public:
60
61 //~ IMessageBridge interface
62
63 virtual void Disable() override;
64 virtual void Enable() override;
65 virtual bool IsEnabled() const override;
67
68public:
69
70 //~ IMessageReceiver interface
71
72 virtual FName GetDebugName() const override;
73 virtual const FGuid& GetRecipientId() const override;
74 virtual ENamedThreads::Type GetRecipientThread() const override;
75 virtual bool IsLocal() const override;
77
78public:
79
80 //~ IMessageSender interface
81
82 virtual FMessageAddress GetSenderAddress() override;
83 virtual void NotifyMessageError(const TSharedRef<IMessageContext, ESPMode::ThreadSafe>& Context, const FString& Error) override;
84
85protected:
86
87 //~ IMessageTransportHandler interface
88
89 virtual void DiscoverTransportNode(const FGuid& NodeId) override;
90 virtual void ForgetTransportNode(const FGuid& NodeId) override;
92
93private:
94
96 void HandleMessageBusShutdown();
97
98private:
99
101 FMessageAddress Address;
102
104 FMessageAddressBook AddressBook;
105
108
110 bool Enabled;
111
113 const FGuid Id;
114
117
120};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition MessageAddressBook.h:14
Definition MessageBridge.h:40
virtual ~FMessageBridge()
Definition MessageBridge.cpp:28
virtual void ReceiveMessage(const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context) override
Definition MessageBridge.cpp:148
virtual void Disable() override
Definition MessageBridge.cpp:51
virtual bool IsEnabled() const override
Definition MessageBridge.cpp:101
virtual void Enable() override
Definition MessageBridge.cpp:73
virtual void ForgetTransportNode(const FGuid &NodeId) override
Definition MessageBridge.cpp:199
virtual FName GetDebugName() const override
Definition MessageBridge.cpp:124
virtual FMessageAddress GetSenderAddress() override
Definition MessageBridge.cpp:178
virtual void DiscoverTransportNode(const FGuid &NodeId) override
Definition MessageBridge.cpp:193
virtual void ReceiveTransportMessage(const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context, const FGuid &NodeId) override
Definition MessageBridge.cpp:217
virtual const FGuid & GetRecipientId() const override
Definition MessageBridge.cpp:130
virtual FGuid LookupAddress(const FMessageAddress &InAddress)
Definition MessageBridge.cpp:106
virtual ENamedThreads::Type GetRecipientThread() const override
Definition MessageBridge.cpp:136
virtual bool IsLocal() const override
Definition MessageBridge.cpp:142
virtual void NotifyMessageError(const TSharedRef< IMessageContext, ESPMode::ThreadSafe > &Context, const FString &Error) override
Definition MessageBridge.cpp:184
Definition NameTypes.h:617
Definition IMessageBridge.h:22
Definition IMessageBus.h:114
Definition IMessageReceiver.h:26
Definition IMessageSender.h:28
Definition IMessageSubscription.h:25
Definition IMessageTransportHandler.h:33
Definition IMessageTransport.h:21
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Type
Definition TaskGraphInterfaces.h:57
Definition Guid.h:109
Definition IMessageContext.h:26