/* * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package net.java.sip.communicator.service.protocol.event; import java.util.*; /** * SecureEventListener interface extends EventListener * This is the listener interface used to handle an event * related with a change in security status. It is required * to be implemented by a CallSession for this purpose. * The change in security status is triggered at the GUI level * by the user, who can toggle on or off securing the communication. * This modifies the current security status static indicator for * the call sessions, action that is the one which actually triggers * sending the changed secure event to the current call sessions in * progress. * There are two different cases related to when the user could * toggle secure communication on and off at the GUI level. * * 1. No active call session is in progress and * subsequently no listeners are registered. * Result: Only the usingSRTP static general status of security * is changed and any following call sessions will use * that as default for going secure or not from the start. * * 2. Active call sessions (actually one according to the current * media service implementation) are in progress and have * registered their listeners. * Result: The usingSRTP default start status is changed and * triggers successfully the changed secure status event * sending to the call sessions, which handle it modifying * the session secure state (going secure or back to normal * state during the actual session) according to the used key * management system. * * @author Emanuel Onica (eonica@info.uaic.ro) */ public interface SecureEventListener extends EventListener { /** * The handler for the secure event received. * The secure event represents an indication of change in the secure * communication status of the implementor of this interface. * The implementor should modify it's internal state if supported. * * @param secureEvent the secureEvent received */ public void secureStatusChanged(SecureEvent secureEvent); }