Plasma Engine  2.0
Loading...
Searching...
No Matches
XRRemotingInterface.h
1#pragma once
2
3#include <GameEngine/GameEngineDLL.h>
4
5#include <Foundation/Configuration/CVar.h>
6#include <Foundation/Reflection/Reflection.h>
7
9{
10 using StorageType = plUInt8;
11 enum Enum : plUInt8
12 {
13 Disconnected,
14 Connecting,
15 Connected,
16 Default = Disconnected
17 };
18};
19PL_DECLARE_REFLECTABLE_TYPE(PL_GAMEENGINE_DLL, plXRRemotingConnectionState);
20
22{
23 using StorageType = plUInt8;
24 enum Enum : plUInt8
25 {
26 None = 0,
27 Unknown = 1,
28 NoServerCertificate = 2,
29 HandshakePortBusy = 3,
30 HandshakeUnreachable = 4,
31 HandshakeConnectionFailed = 5,
32 AuthenticationFailed = 6,
33 RemotingVersionMismatch = 7,
34 IncompatibleTransportProtocols = 8,
35 HandshakeFailed = 9,
36 TransportPortBusy = 10,
37 TransportUnreachable = 11,
38 TransportConnectionFailed = 12,
39 ProtocolVersionMismatch = 13,
40 ProtocolError = 14,
41 VideoCodecNotAvailable = 15,
42 Canceled = 16,
43 ConnectionLost = 17,
44 DeviceLost = 18,
45 DisconnectRequest = 19,
46 HandshakeNetworkUnreachable = 20,
47 HandshakeConnectionRefused = 21,
48 VideoFormatNotAvailable = 22,
49 PeerDisconnectRequest = 23,
50 PeerDisconnectTimeout = 24,
51 SessionOpenTimeout = 25,
52 RemotingHandshakeTimeout = 26,
53 InternalError = 27,
54 Default = None
55 };
56};
57PL_DECLARE_REFLECTABLE_TYPE(PL_GAMEENGINE_DLL, plXRRemotingDisconnectReason);
58
64
66
71{
72public:
77
79 virtual plResult Initialize() = 0;
81 virtual plResult Deinitialize() = 0;
83 virtual bool IsInitialized() const = 0;
84
87
89 virtual plResult Connect(const char* szRemoteHostName, uint16_t remotePort = 8265, bool bEnableAudio = true, int iMaxBitrateKbps = 20000) = 0;
91 virtual plResult Disconnect() = 0;
97};
Definition Event.h:177
[internal] Helper class to implement plCVarInt, plCVarFlag, plCVarBool and plCVarString.
Definition CVar.h:267
XR Remoting singleton interface. Allows for streaming the XR application to a remote device.
Definition XRRemotingInterface.h:71
virtual plResult Initialize()=0
Initializes the XR Remoting system. Needs to be done before plXRInterface is initialized.
virtual plResult Disconnect()=0
Disconnects from the remote device.
virtual plResult Deinitialize()=0
Shuts down XR Remoting. This will fail if XR actors still exists or if plXRInterface is still initial...
virtual plEnum< plXRRemotingConnectionState > GetConnectionState() const =0
Get the current connection state to the remote device.
virtual bool IsInitialized() const =0
Returns whether XR Remoting is initialized.
virtual plResult Connect(const char *szRemoteHostName, uint16_t remotePort=8265, bool bEnableAudio=true, int iMaxBitrateKbps=20000)=0
Tries to connect to the remote device.
static plCVarBool cvar_XrRemoting
Enable XR Remoting if available.
Definition XRRemotingInterface.h:74
virtual plXRRemotingConnectionEvent & GetConnectionEvent()=0
Returns the connection event to subscribe to connection changes.
static plCVarString cvar_XrRemotingHostName
Hostname to connect to for XR Remoting.
Definition XRRemotingInterface.h:76
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
Definition XRRemotingInterface.h:60
Definition XRRemotingInterface.h:9
Definition XRRemotingInterface.h:22