Files
columnlynx/src/common/utils.cpp

64 lines
1.6 KiB
C++

// utils.cpp - Utility functions for ColumnLynx
// Copyright (C) 2025 DcruBro
// Distributed under the terms of the GNU General Public License, either version 2 only or version 3. See LICENSES/ for details.
#include <columnlynx/common/utils.hpp>
namespace ColumnLynx::Utils {
void log(const std::string &msg) {
std::cout << "[LOG] " << msg << std::endl;
}
void warn(const std::string &msg) {
std::cerr << "[WARN] " << msg << std::endl;
}
void error(const std::string &msg) {
std::cerr << "[ERROR] " << msg << std::endl;
}
std::string getHostname() {
#ifdef _WIN32
char hostname[256];
DWORD size = sizeof(hostname);
if (GetComputerNameA(hostname, &size)) {
return std::string(hostname);
} else {
return "UnknownHost";
}
#else
char hostname[256];
if (gethostname(hostname, sizeof(hostname)) == 0) {
return std::string(hostname);
} else {
return "UnknownHost";
}
#endif
}
std::string getVersion() {
return "a0.4";
}
unsigned short serverPort() {
return 48042;
}
unsigned char protocolVersion() {
return 1;
}
std::string bytesToHexString(const uint8_t* bytes, size_t length) {
const char hexChars[] = "0123456789ABCDEF";
std::string hexString;
hexString.reserve(length * 2);
for (size_t i = 0; i < length; ++i) {
uint8_t byte = bytes[i];
hexString.push_back(hexChars[(byte >> 4) & 0x0F]);
hexString.push_back(hexChars[byte & 0x0F]);
}
return hexString;
}
}