Bonk http server

This commit is contained in:
wheremyfoodat
2023-07-26 02:11:14 +03:00
parent 3a21661f45
commit 67a08a71f6
3 changed files with 25 additions and 35 deletions

View File

@@ -18,7 +18,7 @@ class Emulator;
namespace httplib {
class Server;
class Response;
} // namespace httplib
}
// Wrapper for httplib::Response that allows the HTTP server to wait for the response to be ready
struct DeferredResponseWrapper {
@@ -32,6 +32,8 @@ struct DeferredResponseWrapper {
// Actions derive from this class and are used to communicate with the HTTP server
class HttpAction {
HttpActionType type;
public:
HttpAction(HttpActionType type) : type(type) {}
virtual ~HttpAction() = default;
@@ -40,22 +42,17 @@ class HttpAction {
static std::unique_ptr<HttpAction> createScreenshotAction(DeferredResponseWrapper& response);
static std::unique_ptr<HttpAction> createKeyAction(uint32_t key, bool state);
private:
HttpActionType type;
};
struct HttpServer {
HttpServer(Emulator* emulator);
~HttpServer();
void processActions();
private:
static constexpr const char* httpServerScreenshotPath = "screenshot.png";
Emulator* emulator;
std::unique_ptr<httplib::Server> server;
std::thread httpServerThread;

View File

@@ -90,11 +90,10 @@ class HIDService {
void pressKey(u32 mask) { newButtons |= mask; }
void releaseKey(u32 mask) { newButtons &= ~mask; }
bool isPressed(u32 mask) { return (oldButtons & mask) != 0; }
u32 getOldButtons() { return oldButtons; }
s16 getCirclepadX() { return circlePadX; }
s16 getCirclepadY() { return circlePadY; }
u32 getOldButtons() const { return oldButtons; }
s16 getCirclepadX() const { return circlePadX; }
s16 getCirclepadY() const { return circlePadY; }
void setCirclepadX(s16 x) {
circlePadX = x;