Ergänze Unterstützung für Datenbankintegration in ChatRoom und ChatUser
- Implementiere einen neuen Konstruktor in der Klasse `ChatUser`, der eine Datenbankverbindung akzeptiert, um Benutzerinformationen zu laden. - Füge eine Methode `setDatabase` in der Klasse `ChatRoom` hinzu, um die Datenbankverbindung zu setzen. - Aktualisiere die Logik in `ChatRoom`, um den neuen Konstruktor zu verwenden, wenn eine Datenbankverbindung vorhanden ist, andernfalls wird der alte Konstruktor verwendet. - Stelle sicher, dass die Datenbankverbindung in den Server- und SSLServer-Klassen beim Erstellen neuer Räume gesetzt wird.
This commit is contained in:
@@ -113,7 +113,14 @@ namespace Yc
|
||||
{
|
||||
return false;
|
||||
}
|
||||
auto newUser = std::make_shared<ChatUser>(shared_from_this(), _userName, color, socket);
|
||||
std::shared_ptr<ChatUser> newUser;
|
||||
if (_database) {
|
||||
// Verwende den neuen Konstruktor mit Datenbank
|
||||
newUser = std::make_shared<ChatUser>(shared_from_this(), _userName, color, socket, _database);
|
||||
} else {
|
||||
// Fallback auf den alten Konstruktor
|
||||
newUser = std::make_shared<ChatUser>(shared_from_this(), _userName, color, socket);
|
||||
}
|
||||
_users.push_back(newUser);
|
||||
newUser->start();
|
||||
if (_parent) {
|
||||
@@ -631,5 +638,10 @@ namespace Yc
|
||||
addMessage(ChatUser::system, msg, "", "");
|
||||
}
|
||||
|
||||
void ChatRoom::setDatabase(std::shared_ptr<Yc::Lib::Database> database)
|
||||
{
|
||||
_database = database;
|
||||
}
|
||||
|
||||
} // namespace Lib
|
||||
} // namespace Yc
|
||||
|
||||
Reference in New Issue
Block a user