You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rnx #rb none #ROBOMERGE-OWNER: ryan.durand #ROBOMERGE-AUTHOR: ryan.durand #ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900 #ROBOMERGE-BOT: (v613-10869866) [CL 10870549 by ryan durand in Main branch]
71 lines
2.2 KiB
C++
71 lines
2.2 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreTypes.h"
|
|
#include "Templates/SharedPointer.h"
|
|
|
|
class FName;
|
|
class IMessageInterceptor;
|
|
class IMessageReceiver;
|
|
|
|
struct FMessageAddress;
|
|
|
|
|
|
/**
|
|
* Interface for classes that authorize message subscriptions.
|
|
*/
|
|
class IAuthorizeMessageRecipients
|
|
{
|
|
public:
|
|
|
|
/**
|
|
* Authorizes a request to intercept messages of the specified type.
|
|
*
|
|
* @param Interceptor The message interceptor to authorize.
|
|
* @param MessageType The type of messages to intercept.
|
|
* @return true if the request was authorized, false otherwise.
|
|
*/
|
|
virtual bool AuthorizeInterceptor(const TSharedRef<IMessageInterceptor, ESPMode::ThreadSafe>& Interceptor, const FName& MessageType) = 0;
|
|
|
|
/**
|
|
* Authorizes a request to register the specified recipient.
|
|
*
|
|
* @param Recipient The recipient to register.
|
|
* @param Address The recipient's address.
|
|
* @return true if the request was authorized, false otherwise.
|
|
*/
|
|
virtual bool AuthorizeRegistration(const TSharedRef<IMessageReceiver, ESPMode::ThreadSafe>& Recipient, const FMessageAddress& Address) = 0;
|
|
|
|
/**
|
|
* Authorizes a request to add a subscription for the specified topic pattern.
|
|
*
|
|
* @param Subscriber The subscriber.
|
|
* @param TopicPattern The message topic pattern to subscribe to.
|
|
* @return true if the request is authorized, false otherwise.
|
|
*/
|
|
virtual bool AuthorizeSubscription(const TSharedRef<IMessageReceiver, ESPMode::ThreadSafe>& Subscriber, const FName& TopicPattern) = 0;
|
|
|
|
/**
|
|
* Authorizes a request to unregister the specified recipient.
|
|
*
|
|
* @param Address The address of the recipient to unregister.
|
|
* @return true if the request was authorized, false otherwise.
|
|
*/
|
|
virtual bool AuthorizeUnregistration(const FMessageAddress& Address) = 0;
|
|
|
|
/**
|
|
* Authorizes a request to remove a subscription for the specified topic pattern.
|
|
*
|
|
* @param Subscriber The subscriber.
|
|
* @param TopicPattern The message topic pattern to unsubscribe from.
|
|
* @return true if the request is authorized, false otherwise.
|
|
*/
|
|
virtual bool AuthorizeUnsubscription(const TSharedRef<IMessageReceiver, ESPMode::ThreadSafe>& Subscriber, const FName& TopicPattern) = 0;
|
|
|
|
public:
|
|
|
|
/** Virtual destructor. */
|
|
virtual ~IAuthorizeMessageRecipients() { }
|
|
};
|