/* * 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.gui.call; import net.java.sip.communicator.service.protocol.*; /** * The <tt>CallRenderer</tt> represents a renderer for a call. All user * interfaces representing a call should implement this interface. * * @author Yana Stamcheva */ public interface CallRenderer { /** * Releases the resources acquired by this instance which require explicit * disposal (e.g. any listeners added to the depicted * <tt>CallConference</tt>, the participating <tt>Call</tt>s, and their * associated <tt>CallPeer</tt>s). Invoked by <tt>CallPanel</tt> when it * determines that this <tt>CallRenderer</tt> is no longer necessary. */ public void dispose(); /** * Returns the <tt>CallPeerRenderer</tt> corresponding to the given * <tt>callPeer</tt>. * * @param callPeer the <tt>CallPeer</tt>, for which we're looking for a * renderer * @return the <tt>CallPeerRenderer</tt> corresponding to the given * <tt>callPeer</tt> */ public CallPeerRenderer getCallPeerRenderer(CallPeer callPeer); /** * Starts the timer that counts call duration. */ public void startCallTimer(); /** * Stops the timer that counts call duration. */ public void stopCallTimer(); /** * Returns <code>true</code> if the call timer has been started, otherwise * returns <code>false</code>. * @return <code>true</code> if the call timer has been started, otherwise * returns <code>false</code> */ public boolean isCallTimerStarted(); /** * Updates the state of the general hold button. The hold button is selected * only if all call peers are locally or mutually on hold at the same time. * In all other cases the hold button is unselected. */ public void updateHoldButtonState(); }