Files
integration/Source/Integration/LuprexSockets.hpp

47 lines
1.2 KiB
C++
Raw Normal View History

2023-06-23 16:27:23 -04:00
#pragma once
#include "CoreMinimal.h"
2023-06-26 17:28:07 -04:00
#include <string>
2023-06-23 16:27:23 -04:00
// Class FLpxSockets
//
// This class is responsible for creating outgoing and incoming
// sockets for the Luprex engine. It then relays data into and out
// of the Luprex engine.
//
// It only has one interesting method: Update(). This one method
// does all the communication for the Luprex engine. Note that
// there aren't any methods where Unreal can query the state
// of the FLpxSockets. That's because this class is for
// communication between Luprex and outside servers and clients,
// NOT for communication with Unreal.
//
// The FLpxSockets keeps a pointer to the EngineWrapper.
// The EngineWrapper must outlive the FLpxSockets.
//
// This class is an abstract base class. A derived class
// implements all the behavior.
//
class FLpxSockets;
struct EngineWrapper;
class FLpxSockets
{
protected:
FLpxSockets() {}
public:
// Create the Luprex socket system.
static FLpxSockets* Create(EngineWrapper *w);
// Delete the luprex socket system. Cleanly closes all sockets.
virtual ~FLpxSockets() {}
2023-06-26 17:28:07 -04:00
// Obtain any error status report.
virtual std::string GetError() = 0;
2023-06-23 16:27:23 -04:00
// The update routine relays data into and out of
// luprex via TCP/IP sockets.
virtual void Update() = 0;
};