SuperMarioOdysseyOnline/include/SocketBase.hpp
Robin C. Ladiges e1bd6d8785
[debug menu] new/change: show server & port & connected players on first line
The socket needs its own copy of the IP, otherwise it wrongly changes the displayed server after changing it in the mod menu.
2024-06-26 09:11:42 +02:00

43 lines
925 B
C++

#pragma once
#include <string>
#include <cstring>
#include "types.h"
#include "nn.h"
#include "sead/basis/seadNew.h"
class SocketBase {
public:
SocketBase(const char *name);
virtual nn::Result init(const char * ip, u16 port) = 0;
virtual bool closeSocket();
const char *getStateChar();
u8 getLogState();
s32 getFd();
void set_sock_flags(int flags);
const char* getIP() { return this->sock_ip; }
u16 getPort() { return this->port; }
void setName(const char *name) {strcpy(sockName, name);};
u32 socket_errno;
protected:
s32 socket_log(const char* str);
s32 socket_read_char(char *out);
char sockName[0x10] = {};
char sock_ip[MAX_HOSTNAME_LENGTH] = {};
u16 port;
u8 socket_log_state = SOCKET_LOG_UNINITIALIZED;
s32 socket_log_socket;
int sock_flags;
};