Füge Unterstützung für das Neuladen von Räumen aus der Datenbank hinzu

- Implementiere die Methode `reloadRooms` in den Klassen `Server` und `SSLServer`, um Räume aus der Datenbank neu zu laden.
- Ergänze einen Signalhandler in `main.cpp`, um das Neuladen der Räume bei Empfang von SIGUSR1 zu ermöglichen.
- Füge die Methode `getRooms` in der `Database`-Klasse hinzu, um Räume aus der Datenbank abzurufen.
- Aktualisiere die Header-Dateien entsprechend, um die neuen Methoden zu berücksichtigen.
This commit is contained in:
Torsten Schulz (local)
2025-09-04 16:43:33 +02:00
parent a199352f61
commit 08d6a0c93b
7 changed files with 97 additions and 0 deletions

View File

@@ -307,6 +307,19 @@ namespace Yc {
return true;
}
void Server::reloadRooms() {
std::cout << "[YourChat] Reloading rooms from database..." << std::endl;
// Clear existing rooms
_rooms.clear();
// Reload from database
Json::Value emptyRoomList;
createRooms(emptyRoomList);
std::cout << "[YourChat] Reloaded " << _rooms.size() << " rooms from database" << std::endl;
}
void Server::createRooms(Json::Value roomList) {
auto self = shared_from_this();
bool created = false;