summaryrefslogtreecommitdiff
path: root/server/src/session.cc
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/session.cc')
-rw-r--r--server/src/session.cc20
1 files changed, 17 insertions, 3 deletions
diff --git a/server/src/session.cc b/server/src/session.cc
index 6bb4440..57499f9 100644
--- a/server/src/session.cc
+++ b/server/src/session.cc
@@ -346,15 +346,29 @@ void Sessions::store()
*/
}
-std::vector<std::string> Sessions::activeSessions()
+std::vector<Sessions::SessionInfo> Sessions::activeSessions()
{
MutexAutolock lock(mutex);
- std::vector<std::string> act;
+ std::vector<SessionInfo> act;
std::map<std::string, Session*>::iterator i = sessions.begin();
while(i != sessions.end()) {
- act.push_back(i->first);
+ Session *s = i->second;
+ SessionInfo si;
+ si.id = i->first;
+ si.templ = "LOCKED"
+
+ if(s->trylock()) {
+ // si.user = "simpson";
+ // si.course = s->course;
+ si.patientid = s->patientid;
+ si.templ = s->templ;
+ si.idle = s->idle();
+ // si.ondisc = false;
+ s->unlock();
+ }
+ act.push_back(si);
i++;
}