/******************************************************************************* * Copyright (c) 2008, 2011 MontaVista Software, 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: * Yu-Fen Kuo (MontaVista) - initial API and implementation * Anna Dushistova (MontaVista) - [240530][rseterminal][apidoc] Add terminals.rse Javadoc into org.eclipse.rse.doc.isv * Liping Ke (Intel Corp.) - Adapted from TerminalServiceSubSystemConfiguration * Liping Ke (Intel Corp.) - TCF terminal services subsystem implementation *******************************************************************************/ package org.eclipse.tcf.internal.rse.terminals; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.subsystems.IConnectorService; import org.eclipse.rse.core.subsystems.ISubSystem; import org.eclipse.rse.services.terminals.ITerminalService; import org.eclipse.rse.subsystems.terminals.core.TerminalServiceSubSystem; import org.eclipse.rse.subsystems.terminals.core.TerminalServiceSubSystemConfiguration; import org.eclipse.tcf.internal.rse.ITCFService; import org.eclipse.tcf.internal.rse.TCFConnectorService; import org.eclipse.tcf.internal.rse.TCFConnectorServiceManager; public class TCFTerminalServiceSubSystemConfiguration extends TerminalServiceSubSystemConfiguration { /** * Instantiate and return an instance of OUR subsystem. Do not populate it * yet though! * * @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#createSubSystemInternal(IHost) */ public ISubSystem createSubSystemInternal(IHost host) { TCFConnectorService connectorService = (TCFConnectorService) getConnectorService(host); ISubSystem subsys = new TerminalServiceSubSystem(host, connectorService, createTerminalService(host)); return subsys; } /** * @inheritDoc * @since 1.0 */ public ITerminalService createTerminalService(IHost host) { TCFConnectorService cserv = (TCFConnectorService) getConnectorService(host); return new TCFTerminalService(cserv); } public IConnectorService getConnectorService(IHost host) { return TCFConnectorServiceManager.getInstance().getConnectorService( host, getServiceImplType()); } public void setConnectorService(IHost host, IConnectorService connectorService) { TCFConnectorServiceManager.getInstance().setConnectorService(host, getServiceImplType(), connectorService); } public Class<ITCFService> getServiceImplType() { return ITCFService.class; } }