feat: added client node and registered clue id

This commit is contained in:
Sara Gerretsen 2025-10-12 12:54:06 +02:00
parent 38081a7fd0
commit acb7351ea7
11 changed files with 167 additions and 82 deletions

View file

@ -1,38 +1,48 @@
#include "ydi_networking.h"
#include <core/core_bind.h>
#include <core/object/class_db.h>
MAKE_TYPE_INFO(NetworkData::ClueID, Variant::INT);
void NetworkData::_bind_methods() {
BIND_ENUM_CONSTANT(CLUE_FIRST);
BIND_ENUM_CONSTANT(CLUE_SECOND);
BIND_ENUM_CONSTANT(CLUE_MAX);
}
namespace ydi {
MessageType to_message_type(zmq::message_t const &msg) {
NetworkData::MessageType to_message_type(zmq::message_t const &msg) {
int as_int{ std::stoi(msg.str()) };
if (as_int >= 0 && as_int < MESSAGE_TYPE_INVALID) {
return (MessageType)as_int;
if (as_int >= 0 && as_int < NetworkData::MSG_INVALID) {
return (NetworkData::MessageType)as_int;
} else {
return MESSAGE_TYPE_INVALID;
return NetworkData::MSG_INVALID;
}
}
NOKReason to_nok_reason(zmq::message_t const &msg) {
NetworkData::NOKReason to_nok_reason(zmq::message_t const &msg) {
int as_int{ std::stoi(msg.str()) };
if (as_int >= 0 && as_int < NOK_REASON_INVALID) {
return (NOKReason)as_int;
if (as_int >= 0 && as_int < NetworkData::NOK_REASON_INVALID) {
return (NetworkData::NOKReason)as_int;
} else {
return NOK_REASON_INVALID;
return NetworkData::NOK_REASON_INVALID;
}
}
ClueID to_clue_id(zmq::message_t const &msg) {
NetworkData::ClueID to_clue_id(zmq::message_t const &msg) {
int as_int{ std::stoi(msg.str()) };
if (as_int >= 0 && as_int < CLUE_MAX) {
return (ClueID)as_int;
if (as_int >= 0 && as_int < NetworkData::CLUE_MAX) {
return (NetworkData::ClueID)as_int;
} else {
return CLUE_MAX;
return NetworkData::CLUE_MAX;
}
}
void extend_multipart(zmq::multipart_t &mpart, MessageType type) {
void extend_multipart(zmq::multipart_t &mpart, NetworkData::MessageType type) {
mpart.addstr(std::to_string(type));
}
void extend_multipart(zmq::multipart_t &mpart, ClueID id) {
void extend_multipart(zmq::multipart_t &mpart, NetworkData::ClueID id) {
mpart.addstr(std::to_string(id));
}