diff --git a/ErgometerServer/DoctorThread.cs b/ErgometerServer/DoctorThread.cs index ece4d0a..b001f67 100644 --- a/ErgometerServer/DoctorThread.cs +++ b/ErgometerServer/DoctorThread.cs @@ -34,11 +34,11 @@ namespace ErgometerServer switch (input.Type) { //Nog toe te voegen: - // - Oude data opsturen (metingen) - // - Oude sessies bekijken (lijst met sessies) - // - Users opvragen + // - Oude data opsturen (metingen) (not tested yet) + // - Oude sessies bekijken (lijst met sessies) (not tested yet) + // - Users opvragen (not tested yet) // - Gegevens van huidige sessie krijgen (gebruikersnaam enz) - // - Huidige sessies + // - Huidige sessies (not tested yet) // - case NetCommand.CommandType.LOGOUT: running = false; @@ -68,13 +68,21 @@ namespace ErgometerServer } break; case NetCommand.RequestType.ALLSESSIONS: - //Net implemented yet + int[] sessions = FileHandler.GetAllSessions(); + for (int i = 0; i < sessions.Length; i++) + { + sendToDoctor(new NetCommand(NetCommand.CommandType.SESSION, sessions[i])); + } break; case NetCommand.RequestType.CURRENTSESSIONS: - //not implemented yet + List currentsessions = server.GetRunningSessions(); + foreach (int session in currentsessions) + { + sendToDoctor(new NetCommand(NetCommand.CommandType.SESSION, session)); + } break; case NetCommand.RequestType.SESSIONDATA: - //not implemented yet + //sendToDoctor(new NetCommand()); break; default: throw new FormatException("Unknown Command"); diff --git a/ErgometerServer/Server.cs b/ErgometerServer/Server.cs index 07591ed..35b89c2 100644 --- a/ErgometerServer/Server.cs +++ b/ErgometerServer/Server.cs @@ -136,6 +136,16 @@ namespace ErgometerServer return pass == password; } + public List GetRunningSessions() + { + List sessions = new List(); + foreach (ClientThread thread in clients) + { + sessions.Add(thread.session); + } + return sessions; + } + private string GeneratePassword(int len = 8) { string pass = "";