/** *
 * OLAT - Online Learning and Training
 * http://www.olat.org
 * 
 * This software is protected by the OLAT software license. 
 * Use is subject to license terms.
 * See LICENSE.TXT in this distribution for details.
 * 
 * Copyright (c) 2003 OLAT Zentrum, University of Zurich, Switzerland.
 * All rights reserved.
 * 
* Description:
* TODO: Class Description for SmackInstantMessagingImpl * *

* @version $Revision: 1.4 $ * Initial Date: 18.01.2005 * Last modified: $Date: 2005/01/19 12:08:39 $ * * @author guido */ package org.olat.instantMessaging; import org.jivesoftware.smack.packet.Presence; import org.olat.gui.UserRequest; import org.olat.gui.control.Controller; import org.olat.gui.control.WindowControl; import org.olat.instantMessaging.ui.FlashClientController; import org.olat.instantMessaging.ui.InstantMessagingClientController; /** * */ public class SmackInstantMessagingImpl implements InstantMessaging { /** * (non-Javadoc) * * @see org.olat.instantMessaging.InstantMessaging#initAtStartup(org.olat.instantMessaging.InfoHandler) */ public void initAtStartup(InfoHandler infohandler) { // TODO Auto-generated method stub } /** * (non-Javadoc) * * @see org.olat.instantMessaging.InstantMessaging#createClientController(org.olat.gui.UserRequest, * org.olat.gui.control.WindowControl) */ public Controller createClientController(UserRequest ureq, WindowControl wControl) { return new InstantMessagingClientController(ureq); } /** * (non-Javadoc) * * @see org.olat.instantMessaging.InstantMessaging#createChatRoomLinkController(boolean, * java.lang.String, java.lang.String, org.olat.gui.UserRequest, * org.olat.gui.control.WindowControl) */ public Controller createChatRoomLinkController(boolean passwordProtected, String resourceId, String chatRoomName, UserRequest ureq, WindowControl wControl) { // TODO Auto-generated method stub return null; } /** * @see org.olat.instantMessaging.InstantMessaging#createFlashClientController(org.olat.gui.UserRequest, * org.olat.gui.control.WindowControl, String, String) */ public Controller createFlashClientController(UserRequest ureq, WindowControl wControl, String chatPartner, String chatRoom) { String username = ureq.getIdentity().getName(); setFlashClientIsRunning(username, true); return new FlashClientController(ureq, username, ClientManager.getInstance().getInstantMessagingClient(username).getPassword(), chatPartner, chatRoom); } /** * (non-Javadoc) * * @see org.olat.instantMessaging.InstantMessaging#addUserToFriendsRoster(org.olat.instantMessaging.VisibilityGroup, * java.lang.String) */ public void addUserToFriendsRoster(VisibilityGroup group, String username) { // TODO Auto-generated method stub } /** * (non-Javadoc) * * @see org.olat.instantMessaging.InstantMessaging#removeUserFromFriendsRoster(org.olat.instantMessaging.VisibilityGroup, * java.lang.String) */ public void removeUserFromFriendsRoster(VisibilityGroup group, String username) { // TODO Auto-generated method stub } /** * (non-Javadoc) * * @see org.olat.instantMessaging.InstantMessaging#sendStatus(java.lang.String, * java.lang.String) */ public void sendStatus(String username, String message) { ClientManager.getInstance().getInstantMessagingClient(username) .sendPresence(Presence.Type.AVAILABLE, message, 1, Presence.Mode.AVAILABLE); } /** * @see org.olat.instantMessaging.InstantMessaging#joinRoom(java.lang.String, * java.lang.String, java.lang.String) */ public void joinRoom(String username, String roomName, String password) { // TODO Auto-generated method stub } /** * @see org.olat.instantMessaging.InstantMessaging#startChat(java.lang.String, * java.lang.String) */ public void startChat(String username, String chatPartnerJid) { InstantMessagingClient imClient = ClientManager.getInstance() .getInstantMessagingClient(username); if (imClient.getFlashClientIsRunning()) imClient.sendChatParamsToFlashClient(chatPartnerJid, imClient .getMessage().getBody()); } /** * @see org.olat.instantMessaging.InstantMessaging#setFlashClientIsRunning(java.lang.String, * boolean) */ public void setFlashClientIsRunning(String username, boolean isRunning) { ClientManager.getInstance().getInstantMessagingClient(username) .setFlashClientIsRunning(isRunning); } /** * @see org.olat.instantMessaging.InstantMessaging#getFlashClientIsRunning(java.lang.String) */ public boolean getFlashClientIsRunning(String username) { return ClientManager.getInstance().getInstantMessagingClient(username) .getFlashClientIsRunning(); } }