Open 3D Engine RemoteTools Gem API Reference  23.05.0
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 Component, Handler, IRemoteTools, and 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 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
< RemoteToolsJoinThread
m_joinThread
 
AZStd::unordered_map
< AZ::Crc32,
RemoteToolsRegistryEntry
m_entryRegistry
 
AZStd::unordered_map
< AZ::Crc32,
AzFramework::ReceivedRemoteToolsMessages > 
m_inbox
 
AZStd::mutex m_inboxMutex
 

Friends

class RemoteToolsJoinThread
 

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