/******************************************************************************* * Copyright (c) 2013 Composent, Inc. and others. All rights reserved. This * program and the accompanying materials are made available under the terms of * the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * EclipseSource - initial API and implementation ******************************************************************************/ /** * */ package org.eclipse.ecf.server.generic; import org.eclipse.ecf.core.IContainerListener; import org.eclipse.ecf.core.events.*; import org.eclipse.ecf.core.sharedobject.ISharedObjectContainerConfig; import org.eclipse.ecf.provider.generic.SSLServerSOContainer; import org.eclipse.ecf.provider.generic.SSLServerSOContainerGroup; /** * * @since 6.0 * */ public class SSLGenericServerContainer extends SSLServerSOContainer { final SSLAbstractGenericServer abstractGenericServer; private IContainerListener departedListener = new IContainerListener() { public void handleEvent(IContainerEvent event) { if (event instanceof IContainerDisconnectedEvent) { IContainerDisconnectedEvent de = (IContainerDisconnectedEvent) event; SSLGenericServerContainer.this.abstractGenericServer.handleDisconnect(de.getTargetID()); } else if (event instanceof IContainerEjectedEvent) { IContainerEjectedEvent de = (IContainerEjectedEvent) event; SSLGenericServerContainer.this.abstractGenericServer.handleEject(de.getTargetID()); } } }; public SSLGenericServerContainer(SSLAbstractGenericServer abstractGenericServer, ISharedObjectContainerConfig config, SSLServerSOContainerGroup listener, String path, int keepAlive) { super(config, listener, path, keepAlive); this.abstractGenericServer = abstractGenericServer; addListener(departedListener); } public void dispose() { removeListener(departedListener); super.dispose(); } }