diff --git a/modules/you_done_it/ydi_networking.h b/modules/you_done_it/ydi_networking.h new file mode 100644 index 00000000..ca4ccb93 --- /dev/null +++ b/modules/you_done_it/ydi_networking.h @@ -0,0 +1,16 @@ +#ifndef YDI_NETWORKING_H +#define YDI_NETWORKING_H + +namespace ydi { +enum MessageType { + NONE = 0u, + CONNECTION_REQUEST = 1u, + CONNECTION_RESPONSE = 2u, +}; + +enum ClueID { + FIRST_CLUE, +}; +} + +#endif // !YDI_NETWORKING_H diff --git a/modules/you_done_it/ydi_server.cpp b/modules/you_done_it/ydi_server.cpp new file mode 100644 index 00000000..faddc93d --- /dev/null +++ b/modules/you_done_it/ydi_server.cpp @@ -0,0 +1,20 @@ +#include "ydi_server.h" +#include +#include +#include +#include +#include + +namespace ydi::server { +struct Service { + std::optional context{ std::nullopt }; + std::optional socket{ std::nullopt }; + std::recursive_mutex mtx{}; +}; + +std::optional service{ std::nullopt }; +thread_local std::optional receiveThread{ std::nullopt }; + +void open(int port) { +} +} diff --git a/modules/you_done_it/ydi_server.h b/modules/you_done_it/ydi_server.h index a71b35eb..046b8020 100644 --- a/modules/you_done_it/ydi_server.h +++ b/modules/you_done_it/ydi_server.h @@ -1,10 +1,22 @@ #ifndef YDI_SERVER_H #define YDI_SERVER_H -#include +#include +#include +#include +#include +#include "ydi_networking.h" namespace ydi::server { void open(int port); +void close(); +namespace receive { +bool isRevealed(ClueID id); +Ref clueImage(ClueID id); +} +namespace send { +void announceConclusion(ClueID method, ClueID motive, ClueID murderer); +} } #endif // !YDI_SERVER_H