/**
*
* 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();
}
}