1 /* 2 * Copyright (c) 2005 Regents of the University of California (Regents). Created 3 * by TELS, Graduate School of Education, University of California at Berkeley. 4 * 5 * This software is distributed under the GNU Lesser General Public License, v2. 6 * 7 * Permission is hereby granted, without written agreement and without license 8 * or royalty fees, to use, copy, modify, and distribute this software and its 9 * documentation for any purpose, provided that the above copyright notice and 10 * the following two paragraphs appear in all copies of this software. 11 * 12 * REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 13 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 14 * PURPOSE. THE SOFTWAREAND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED 15 * HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE 16 * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 17 * 18 * IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, 19 * SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, 20 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF 21 * REGENTS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 */ 23 package net.sf.sail.core.beans.service; 24 25 import java.util.Collection; 26 27 import net.sf.sail.core.beans.event.SessionEventListener; 28 import net.sf.sail.core.entity.User; 29 import net.sf.sail.core.uuid.SessionUuid; 30 31 /** 32 * Service for learning content to command and query the whole learning session. 33 * 34 * @author turadg 35 * 36 */ 37 public interface SessionService { 38 39 public void userRequestsTermination(); 40 41 public void addSessionEventListener(SessionEventListener sel); 42 43 /** 44 * Who is at the computer right now 45 */ 46 public Collection<User> getUsers(); 47 48 public void addUser(User user); 49 50 public void removeUser(User user); 51 52 public SessionUuid getSessionId(); 53 54 /** 55 * Return a session property. 56 * 57 * @param key 58 * name of session property 59 * @param def 60 * a default value 61 * @return 62 */ 63 public String getProperty(String key, String def); 64 }