Polyphase Game Engine
Loading...
Searching...
No Matches
NetPlatform.h
Go to the documentation of this file.
1#pragma once
2
3#include "NetworkTypes.h"
4#include "NetworkConstants.h"
5#include "EngineTypes.h"
6#include "NetSession.h"
7
8#ifdef SendMessage
9#undef SendMessage
10#endif
11
12struct NetMsg;
13
15{
16 LAN,
17 Epic,
18 // Steam,
19
20 Count
21};
22
24{
25public:
26
27 virtual ~NetPlatform() { }
28
29 // Lifecycle
30 virtual bool Create();
31 virtual void Destroy();
32 virtual void Update();
33
34 // Login
35 virtual void Login();
36 virtual void Logout();
37 virtual bool IsLoggedIn() const;
38
39 // Matchmaking
40 virtual void OpenSession(const NetSessionOpenOptions& options);
41 virtual void CloseSession();
42 virtual void JoinSession(const NetSession& session);
43 virtual void BeginSessionSearch();
44 virtual void EndSessionSearch();
45 virtual void UpdateSearch();
46 virtual bool IsSearching() const;
47
48 // Messaging
49 virtual void SendMessage(const NetHost& host, const char* buffer, uint32_t size);
50 virtual int32_t RecvMessage(char* recvBuffer, int32_t bufferSize, NetHost& outHost);
51
52 const std::vector<NetSession>& GetSessions() const;
53
54protected:
55
56 std::vector<NetSession> mSessions;
57};
NetPlatformType
Definition NetPlatform.h:15
Definition NetPlatform.h:24
virtual void Destroy()
Definition NetPlatform.cpp:9
std::vector< NetSession > mSessions
Definition NetPlatform.h:56
virtual void Logout()
Definition NetPlatform.cpp:25
virtual void Login()
Definition NetPlatform.cpp:20
virtual void UpdateSearch()
Definition NetPlatform.cpp:61
virtual bool IsLoggedIn() const
Definition NetPlatform.cpp:30
virtual void SendMessage(const NetHost &host, const char *buffer, uint32_t size)
Definition NetPlatform.cpp:71
virtual void CloseSession()
Definition NetPlatform.cpp:41
virtual bool IsSearching() const
Definition NetPlatform.cpp:66
virtual void Update()
Definition NetPlatform.cpp:14
const std::vector< NetSession > & GetSessions() const
Definition NetPlatform.cpp:81
virtual void OpenSession(const NetSessionOpenOptions &options)
Definition NetPlatform.cpp:36
virtual ~NetPlatform()
Definition NetPlatform.h:27
virtual bool Create()
Definition NetPlatform.cpp:4
virtual int32_t RecvMessage(char *recvBuffer, int32_t bufferSize, NetHost &outHost)
Definition NetPlatform.cpp:76
virtual void BeginSessionSearch()
Definition NetPlatform.cpp:51
virtual void JoinSession(const NetSession &session)
Definition NetPlatform.cpp:46
virtual void EndSessionSearch()
Definition NetPlatform.cpp:56
Definition EngineTypes.h:489
Definition NetMsg.h:42
Definition NetSession.h:18
Definition NetSession.h:7