Author: elecharny Date: Thu Feb 4 13:22:14 2010 New Revision: 906480 URL: http://svn.apache.org/viewvc?rev=906480&view=rev Log: o Added two methods in the IoService interface o Added the ServiceListerner interface
Added: mina/branches/3.0/core/src/main/java/org/apache/mina/IoServiceListener.java Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/IoService.java Modified: mina/branches/3.0/core/src/main/java/org/apache/mina/IoService.java URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/IoService.java?rev=906480&r1=906479&r2=906480&view=diff ============================================================================== --- mina/branches/3.0/core/src/main/java/org/apache/mina/IoService.java (original) +++ mina/branches/3.0/core/src/main/java/org/apache/mina/IoService.java Thu Feb 4 13:22:14 2010 @@ -37,5 +37,16 @@ * @return the sessions. An empty collection if there's no session. */ Map<Long, IoSession> getManagedSessions(); + + /** + * Adds an {...@link IoServiceListener} that listens any events related with + * this service. + */ + void addListener(IoServiceListener listener); + /** + * Removed an existing {...@link IoServiceListener} that listens any events + * related with this service. + */ + void removeListener(IoServiceListener listener); } Added: mina/branches/3.0/core/src/main/java/org/apache/mina/IoServiceListener.java URL: http://svn.apache.org/viewvc/mina/branches/3.0/core/src/main/java/org/apache/mina/IoServiceListener.java?rev=906480&view=auto ============================================================================== --- mina/branches/3.0/core/src/main/java/org/apache/mina/IoServiceListener.java (added) +++ mina/branches/3.0/core/src/main/java/org/apache/mina/IoServiceListener.java Thu Feb 4 13:22:14 2010 @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.mina; + +import java.util.EventListener; + +/** + * Listens to events related to an {...@link IoService}. + * + * @author <a href="http://mina.apache.org">Apache MINA Project</a> + */ +public interface IoServiceListener extends EventListener { + /** + * Invoked when a new service is activated by an {...@link IoService}. + * + * @param service the {...@link IoService} + */ + void serviceActivated(IoService service) throws Exception; + + /** + * Invoked when a service is idle. + */ + void serviceIdle(IoService service, IdleStatus idleStatus) throws Exception; + + /** + * Invoked when a service is deactivated by an {...@link IoService}. + * + * @param service the {...@link IoService} + */ + void serviceDeactivated(IoService service) throws Exception; + + /** + * Invoked when a new session is created by an {...@link IoService}. + * + * @param session the new session + */ + void sessionCreated(IoSession session) throws Exception; + + /** + * Invoked when a session is being destroyed by an {...@link IoService}. + * + * @param session the session to be destroyed + */ + void sessionDestroyed(IoSession session) throws Exception; +}