/***************************************************************** JADE - Java Agent DEvelopment Framework is a framework to develop multi-agent systems in compliance with the FIPA specifications. Copyright (C) 2000 CSELT S.p.A. GNU Lesser General Public License This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 2.1 of the License. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *****************************************************************/ package jade.imtp.leap; /** This interface provides a callback method that is called by the JADE runtime (front-end of a split container) when connection specific events happen on the device. Application developers wishing to handle these events may provide a class implementating this interface and set the <code>connection-listener</code> property to the fully qualified name of that class. ConnectionListener implementation classes must have an accessible default constructor;<br> Alternatively an object implementing the ConnectionListener interface may be put in the activation <code>Properties</code> specified ad JADE runtime activation. @author Giovanni Caire - TILAB */ public interface ConnectionListener { /** This event is rised just before each attempt to create a network connection. A common use case consists in reacting to it to set up an appropriate PDP context just if not in place already. */ public static final int BEFORE_CONNECTION = 1; /** This event is raised whenever a temporary disconnection is detected. */ public static final int DISCONNECTED = 2; /** This event is raised whenever a the device reconnects after a temporary disconnection. */ public static final int RECONNECTED = 3; /** This event is raised whenever a the FrontEnd drops down the connection with the BackEnd since no data has been transferred over the connection since a while. This can only happen if the <code>drop-down-time</code> option is set to a value > 0. */ public static final int DROPPED = 4; /** This event is raised when the device detects it is no longer possible to reconnect (e.g. because the maximum disconnection timeout expired) */ public static final int RECONNECTION_FAILURE = 5; /** This event is raised when the mediator replies with a BE Not Found to a CONNECT_MEDIATOR request. */ public static final int BE_NOT_FOUND = 6; /** This event is raised when the mediator replies with an error response of type Not Authorized to a CREATE_MEDIATOR or CONNECT_MEDIATOR request. */ public static final int NOT_AUTHORIZED = 7; /** This callback method is called by the JADE runtime (front-end of a split container) when connection specific events happen on the device. @param ev The event that happened @param info an object parameter of the event. */ public void handleConnectionEvent(int ev, Object info); }