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;
+}


Reply via email to