UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BuildPatchServices::IMessagePump Class Referenceabstract

#include <MessagePump.h>

+ Inheritance diagram for BuildPatchServices::IMessagePump:

Public Member Functions

virtual ~IMessagePump ()
 
virtual void SendMessage (FChunkSourceEvent Message)=0
 
virtual void SendMessage (FGenericMessage Message)=0
 
virtual void SendMessage (FInstallationFileAction Message)=0
 
virtual bool SendRequest (FChunkUriRequest Request, TFunction< void(FChunkUriResponse)> OnResponse)=0
 
virtual void PumpMessages ()=0
 
virtual void RegisterMessageHandler (FMessageHandler *MessageHandler)=0
 
virtual void UnregisterMessageHandler (FMessageHandler *MessageHandler)=0
 

Detailed Description

Interface for a message pump which allows systems to bubble up event information to the Installer's public API.

Constructor & Destructor Documentation

◆ ~IMessagePump()

virtual BuildPatchServices::IMessagePump::~IMessagePump ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ PumpMessages()

virtual void BuildPatchServices::IMessagePump::PumpMessages ( )
pure virtual

Dequeues received messages, pushing them to the provided handlers. NOTE: PumpMessages, RegisterMessageHandler, and UnregisterMessageHandler MUST all be called from the same thread.

Implemented in BuildPatchServices::FMessagePump.

◆ RegisterMessageHandler()

virtual void BuildPatchServices::IMessagePump::RegisterMessageHandler ( FMessageHandler MessageHandler)
pure virtual

Registers a message handler.

Parameters
MessageHandlerPtr to the message handler to add. Must not be null. NOTE: PumpMessages, RegisterMessageHandler, and UnregisterMessageHandler MUST all be called from the same thread.

Implemented in BuildPatchServices::FMessagePump.

◆ SendMessage() [1/3]

virtual void BuildPatchServices::IMessagePump::SendMessage ( FChunkSourceEvent  Message)
pure virtual

Sends a chunk source event message.

Parameters
MessageThe message to be sent.

Implemented in BuildPatchServices::FMessagePump.

◆ SendMessage() [2/3]

virtual void BuildPatchServices::IMessagePump::SendMessage ( FGenericMessage  Message)
pure virtual

◆ SendMessage() [3/3]

virtual void BuildPatchServices::IMessagePump::SendMessage ( FInstallationFileAction  Message)
pure virtual

Sends an installation file action message.

Parameters
MessageThe message to be sent.

Implemented in BuildPatchServices::FMessagePump.

◆ SendRequest()

virtual bool BuildPatchServices::IMessagePump::SendRequest ( FChunkUriRequest  Request,
TFunction< void(FChunkUriResponse)>  OnResponse 
)
pure virtual

Sends out a request to resolve the uri to the chunk location

Parameters
RequestRequest for the chunk location
OnResponseA delegate to call with the chunk location and any potential headers to add to the http request.

Note that while this function supports asynchronous processing, the calling code does not support cancelation of the requests under abort scenarios, potentially leading to crashes. As as result, incomplete shutdown of the installation requires waiting for all outstanding requests to return before shutdown can complete. For user initiated cancellations it is recommended that you abort any async uri request handling and call OnResponse with FChunkUriResponse::bFailed to true after calling CancelInstall(). This will prevent the default URL concatenation from occuring and allow the shutdown logic to complete in a timely fashion.

For internally initiated cancellations (due to errors) there's nothing to be done; shutdown just waits for the requests to all complete.

As a result, it's highly advisable to make this as immediate as possible, e.g. caching auth tokens up front before installation launch.

Implemented in BuildPatchServices::FMessagePump.

◆ UnregisterMessageHandler()

virtual void BuildPatchServices::IMessagePump::UnregisterMessageHandler ( FMessageHandler MessageHandler)
pure virtual

Unregisters a message handler.

Parameters
MessageHandlerPtr to the message handler to remove. NOTE: PumpMessages, RegisterMessageHandler, and UnregisterMessageHandler MUST all be called from the same thread.

Implemented in BuildPatchServices::FMessagePump.


The documentation for this class was generated from the following file: