/*******************************************************************************
* 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.provider.datashare;
import java.util.Map;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.core.identity.Namespace;
import org.eclipse.ecf.core.sharedobject.ISharedObjectContainerConfig;
import org.eclipse.ecf.core.util.ECFException;
import org.eclipse.ecf.datashare.IChannel;
import org.eclipse.ecf.datashare.IChannelConfig;
import org.eclipse.ecf.datashare.IChannelContainerAdapter;
import org.eclipse.ecf.datashare.IChannelContainerListener;
import org.eclipse.ecf.datashare.IChannelListener;
import org.eclipse.ecf.provider.generic.TCPClientSOContainer;
public class DatashareContainer extends TCPClientSOContainer implements
IChannelContainerAdapter {
protected static final int DEFAULT_CONTAINER_KEEP_ALIVE = 30000;
protected static final int DEFAULT_TRANSACTION_WAIT = 30000;
protected DatashareContainerAdapter adapter = null;
public DatashareContainer(ISharedObjectContainerConfig config) {
super(config, DEFAULT_CONTAINER_KEEP_ALIVE);
adapter = new DatashareContainerAdapter(this);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.ecf.datashare.IChannelContainerAdapter#createChannel(org.eclipse.ecf.datashare.IChannelConfig)
*/
public IChannel createChannel(final ID newID,
final IChannelListener listener, final Map properties)
throws ECFException {
return adapter.createChannel(newID,listener,properties);
}
public IChannel createChannel(IChannelConfig newChannelConfig)
throws ECFException {
return adapter.createChannel(newChannelConfig);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.ecf.datashare.IChannelContainerAdapter#getChannel(org.eclipse.ecf.core.identity.ID)
*/
public IChannel getChannel(ID channelID) {
return adapter.getChannel(channelID);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.ecf.datashare.IChannelContainerAdapter#disposeChannel(org.eclipse.ecf.core.identity.ID)
*/
public boolean removeChannel(ID channelID) {
return adapter.removeChannel(channelID);
}
/*
* (non-Javadoc)
* @see org.eclipse.ecf.datashare.IChannelContainerAdapter#getChannelNamespace()
*/
public Namespace getChannelNamespace() {
return adapter.getChannelNamespace();
}
public void addListener(IChannelContainerListener listener) {
adapter.addListener(listener);
}
public void removeListener(IChannelContainerListener listener) {
adapter.removeListener(listener);
}
}