/* * Jitsi, the OpenSource Java VoIP and Instant Messaging client. * * Copyright @ 2015 Atlassian Pty Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.java.sip.communicator.service.muc; import net.java.sip.communicator.service.protocol.*; /** * @author Yana Stamcheva * @author Damian Minkov * @author Hristo Terezov */ public interface ChatRoomProviderWrapper { /** * Returns the name of this chat room provider. * @return the name of this chat room provider. */ public String getName(); public byte[] getIcon(); public byte[] getImage(); /** * Returns the system room wrapper corresponding to this server. * * @return the system room wrapper corresponding to this server. */ public ChatRoomWrapper getSystemRoomWrapper(); /** * Sets the system room corresponding to this server. * * @param systemRoom the system room to set */ public void setSystemRoom(ChatRoom systemRoom); /** * Returns the protocol provider service corresponding to this server * wrapper. * * @return the protocol provider service corresponding to this server * wrapper. */ public ProtocolProviderService getProtocolProvider(); /** * Adds the given chat room to this chat room provider. * * @param chatRoom the chat room to add. */ public void addChatRoom(ChatRoomWrapper chatRoom); /** * Removes the given chat room from this provider. * * @param chatRoom the chat room to remove. */ public void removeChatRoom(ChatRoomWrapper chatRoom); /** * Returns true if the given chat room is contained in this * provider, otherwise - returns false. * * @param chatRoom the chat room to search for. * @return true if the given chat room is contained in this * provider, otherwise - returns false. */ public boolean containsChatRoom(ChatRoomWrapper chatRoom); /** * Returns the chat room wrapper contained in this provider that corresponds * to the given chat room. * * @param chatRoom the chat room we're looking for. * @return the chat room wrapper contained in this provider that corresponds * to the given chat room. */ public ChatRoomWrapper findChatRoomWrapperForChatRoom(ChatRoom chatRoom); /** * Returns the chat room wrapper contained in this provider that corresponds * to the chat room with the given id. * * @param chatRoomID the id of the chat room we're looking for. * @return the chat room wrapper contained in this provider that corresponds * to the given chat room id. */ public ChatRoomWrapper findChatRoomWrapperForChatRoomID(String chatRoomID); /** * Returns the number of chat rooms contained in this provider. * * @return the number of chat rooms contained in this provider. */ public int countChatRooms(); public ChatRoomWrapper getChatRoom(int index); /** * Returns the index of the given chat room in this provider. * * @param chatRoomWrapper the chat room to search for. * * @return the index of the given chat room in this provider. */ public int indexOf(ChatRoomWrapper chatRoomWrapper); /** * Goes through the locally stored chat rooms list and for each * {@link ChatRoomWrapper} tries to find the corresponding server stored * {@link ChatRoom} in the specified operation set. Joins automatically all * found chat rooms. */ public void synchronizeProvider(); }