Open 3D Engine RemoteTools Gem API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
RemoteTools::RemoteToolsSystemComponent Class Reference

Inherits AZ::Component, AZ::SystemTickBus::Handler, AzFramework::IRemoteTools, and AzNetworking::IConnectionListener.

Public Member Functions

 AZ_COMPONENT (RemoteToolsSystemComponent, "{ca110b7c-795e-4fa5-baa9-a115d7e3d86e}")
 
bool HandleRequest (AzNetworking::IConnection *connection, const AzNetworking::IPacketHeader &packetHeader, const RemoteToolsPackets::RemoteToolsConnect &packet)
 
bool HandleRequest (AzNetworking::IConnection *connection, const AzNetworking::IPacketHeader &packetHeader, const RemoteToolsPackets::RemoteToolsMessage &packet)
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 
static void GetProvidedServices (AZ::ComponentDescriptor::DependencyArrayType &provided)
 
static void GetIncompatibleServices (AZ::ComponentDescriptor::DependencyArrayType &incompatible)
 
static void GetRequiredServices (AZ::ComponentDescriptor::DependencyArrayType &required)
 
static void GetDependentServices (AZ::ComponentDescriptor::DependencyArrayType &dependent)
 

Protected Member Functions

AzNetworking::ConnectResult ValidateConnect (const AzNetworking::IpAddress &remoteAddress, const AzNetworking::IPacketHeader &packetHeader, AzNetworking::ISerializer &serializer) override
 
void OnConnect (AzNetworking::IConnection *connection) override
 
AzNetworking::PacketDispatchResult OnPacketReceived (AzNetworking::IConnection *connection, const AzNetworking::IPacketHeader &packetHeader, AzNetworking::ISerializer &serializer) override
 
void OnPacketLost (AzNetworking::IConnection *connection, AzNetworking::PacketId packetId) override
 
void OnDisconnect (AzNetworking::IConnection *connection, AzNetworking::DisconnectReason reason, AzNetworking::TerminationEndpoint endpoint) override
 
void OnMessageParsed (AzFramework::RemoteToolsMessage **ppMsg, void *classPtr, const AZ::Uuid &classId, const AZ::SerializeContext *sc)
 
void Init () override
 
void Activate () override
 
void Deactivate () override
 
void OnSystemTick () override
 
void RegisterToolingServiceClient (AZ::Crc32 key, AZ::Name name, uint16_t port) override
 
void RegisterToolingServiceHost (AZ::Crc32 key, AZ::Name name, uint16_t port) override
 
const AzFramework::ReceivedRemoteToolsMessages * GetReceivedMessages (AZ::Crc32 key) const override
 
void ClearReceivedMessages (AZ::Crc32 key) override
 
void ClearReceivedMessagesForNextTick (AZ::Crc32 key) override
 
void RegisterRemoteToolsEndpointJoinedHandler (AZ::Crc32 key, AzFramework::RemoteToolsEndpointStatusEvent::Handler &handler) override
 
void RegisterRemoteToolsEndpointLeftHandler (AZ::Crc32 key, AzFramework::RemoteToolsEndpointStatusEvent::Handler &handler) override
 
void RegisterRemoteToolsEndpointConnectedHandler (AZ::Crc32 key, AzFramework::RemoteToolsEndpointConnectedEvent::Handler &handler) override
 
void RegisterRemoteToolsEndpointChangedHandler (AZ::Crc32 key, AzFramework::RemoteToolsEndpointChangedEvent::Handler &handler) override
 
void EnumTargetInfos (AZ::Crc32 key, AzFramework::RemoteToolsEndpointContainer &infos) override
 
void SetDesiredEndpoint (AZ::Crc32 key, AZ::u32 desiredTargetID) override
 
void SetDesiredEndpointInfo (AZ::Crc32 key, const AzFramework::RemoteToolsEndpointInfo &targetInfo) override
 
AzFramework::RemoteToolsEndpointInfo GetDesiredEndpoint (AZ::Crc32 key) override
 
AzFramework::RemoteToolsEndpointInfo GetEndpointInfo (AZ::Crc32 key, AZ::u32 desiredTargetID) override
 
bool IsEndpointOnline (AZ::Crc32 key, AZ::u32 desiredTargetID) override
 
void SendRemoteToolsMessage (const AzFramework::RemoteToolsEndpointInfo &target, const AzFramework::RemoteToolsMessage &msg) override
 

Protected Attributes

AZStd::unique_ptr< RemoteToolsJoinThreadm_joinThread
 
AZStd::unordered_map< AZ::Crc32, RemoteToolsRegistryEntrym_entryRegistry
 
AZStd::unordered_map< AZ::Crc32, AzFramework::ReceivedRemoteToolsMessages > m_inbox
 
AZStd::mutex m_inboxMutex
 
AZStd::set< AZ::Crc32 > m_messageTypesToClearForNextTick
 

Friends

class RemoteToolsJoinThread
 

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