add_user_subsession(session_uid, subsession_id, backend);
- plugin.OnSubsessionAdded(session_uid, subsession_id);
-
wait_add.try_emplace(session_uid, session_uid, connection, "AddUserCompleted");
wait_add.at(session_uid).on_start(subsession_id, { });
+
+ plugin.OnSubsessionAdded(session_uid, subsession_id);
}
void do_remove_user(int session_uid, const std::string& subsession_id)
remove_user_subsession(session_uid, subsession_id);
- plugin.OnSubsessionRemoved(session_uid, subsession_id);
-
wait_remove.try_emplace(session_uid, session_uid, connection, "RemoveUserCompleted");
wait_remove.at(session_uid).on_start(subsession_id, { });
+
+ plugin.OnSubsessionRemoved(session_uid, subsession_id);
}
bool do_switch_user(int session_uid, const std::string& next_subsession_id)
if (!switch_user_subsession(session_uid, prev_subsession_id, next_subsession_id))
return false;
- plugin.OnSubsessionChanged(session_uid, prev_subsession_id, next_subsession_id);
-
last_subsession_per_session[session_uid] = next_subsession_id;
wait_switch.try_emplace(session_uid, session_uid, connection, "SwitchUserCompleted");
wait_switch.at(session_uid).on_start(switch_id, { std::string(prev_subsession_id), next_subsession_id });
+ plugin.OnSubsessionChanged(session_uid, prev_subsession_id, next_subsession_id);
+
return true;
}