blob: 607d8980dc86add146a3d21d6dcfca54a9b8cf50 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004 Composent, Inc., Peter Nehrer, Boris Bokowski. 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: Composent, Inc. - initial API and implementation
******************************************************************************/
package org.eclipse.ecf.datashare;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.ecf.core.identity.IIdentifiable;
/**
* Super interface for {@link IChannel}.
*
*/
public interface IAbstractChannel extends IAdaptable, IIdentifiable {
/**
* Get IChannelListener instance for this IAbstractChannel
*
* @return IChannelListener for this IAbstractChannel instance. If
* <code>null</code>, the channel has no listener.
*/
public IChannelListener getListener();
/**
* Set listener to new IChannelListener instance
*
* @param listener
* the new listener to set for this channel. If null, then there
* will be no new listener for this channel.
* @return IChannelListener that was previously the listener. If null, then
* then channel had no previous listener
*/
public IChannelListener setListener(IChannelListener listener);
/**
* Dispose this channel. This method will typically be called
* by the enclosing container during {@link IChannelContainerAdapter#removeChannel(org.eclipse.ecf.core.identity.ID)}.
*/
public void dispose();
}