001 package org.crsh.shell.impl.remoting; 002 003 import org.crsh.shell.Shell; 004 import org.crsh.util.AbstractSocketClient; 005 006 import java.io.IOException; 007 import java.io.InputStream; 008 import java.io.OutputStream; 009 010 /** @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a> */ 011 public class RemoteClient extends AbstractSocketClient { 012 013 /** . */ 014 private ClientAutomaton automaton; 015 016 /** . */ 017 private final Shell shell; 018 019 public RemoteClient(int port, Shell shell) { 020 super(port); 021 022 // 023 this.shell = shell; 024 } 025 026 @Override 027 protected void handle(InputStream in, OutputStream out) throws IOException { 028 this.automaton = new ClientAutomaton(in, out, shell).addCloseListener(this);; 029 } 030 031 public Runnable getRunnable() { 032 return automaton; 033 } 034 }