/* * * Copyright (C) 2007-2015 Licensed to the Comunes Association (CA) under * one or more contributor license agreements (see COPYRIGHT for details). * The CA licenses this file to you under the GNU Affero General Public * License version 3, (the "License"); you may not use this file except in * compliance with the License. This file is part of kune. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ package cc.kune.core.server.xmpp; import java.util.Collection; import org.jivesoftware.smack.RosterEntry; import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.SmackException.NoResponseException; import org.jivesoftware.smack.SmackException.NotConnectedException; // TODO: Auto-generated Javadoc /** * The Interface XmppManager. * * @author danigb@gmail.com * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ public interface XmppManager { /** * Creates the room. * * @param connection * the connection * @param roomName * the room name * @param ownerAlias * the owner alias * @param subject * the subject * @return the room * @throws SmackException * @throws NoResponseException */ Room createRoom(ChatConnection connection, String roomName, String ownerAlias, String subject) throws NoResponseException, SmackException; /** * Destroy room. * * @param conn * the conn * @param roomName * the room name * @throws NotConnectedException * @throws NoResponseException */ void destroyRoom(ChatConnection conn, String roomName) throws NoResponseException, NotConnectedException; /** * Disconnect. * * @param connection * the connection */ void disconnect(ChatConnection connection); /** * Exist room. * * @param conn * the conn * @param roomName * the room name * @return true, if successful */ boolean existRoom(ChatConnection conn, String roomName); /** * Gets the roster. * * @param connection * the connection * @return the roster */ Collection<RosterEntry> getRoster(ChatConnection connection); /** * Join room. * * @param connection * the connection * @param roomName * the room name * @param alias * the alias * @return the room * @throws NotConnectedException * @throws NoResponseException */ Room joinRoom(ChatConnection connection, String roomName, String alias) throws NoResponseException, NotConnectedException; /** * Login. * * @param userName * the user name * @param password * the password * @param resource * the resource * @return the chat connection */ ChatConnection login(String userName, String password, String resource); /** * Send message. * * @param room * the room * @param message * the message */ void sendMessage(Room room, String message); /** * Send message. * * @param userName * the user name * @param message * the message */ void sendMessage(String userName, String message); }