comparison src/com/five_ten_sg/connectbot/transport/AbsTransport.java @ 43:6b0f1ece1d91 tn5250

start tn5250 integration
author Carl Byington <carl@five-ten-sg.com>
date Wed, 11 Jun 2014 09:29:22 -0700
parents 7ac846a07ed4
children 959ebe0247b5
comparison
equal deleted inserted replaced
42:7ac846a07ed4 43:6b0f1ece1d91
26 import com.five_ten_sg.connectbot.service.TerminalBridge; 26 import com.five_ten_sg.connectbot.service.TerminalBridge;
27 import com.five_ten_sg.connectbot.service.TerminalKeyListener; 27 import com.five_ten_sg.connectbot.service.TerminalKeyListener;
28 import com.five_ten_sg.connectbot.service.TerminalManager; 28 import com.five_ten_sg.connectbot.service.TerminalManager;
29 import android.content.Context; 29 import android.content.Context;
30 import android.net.Uri; 30 import android.net.Uri;
31 import android.util.Log;
31 import de.mud.terminal.vt320; 32 import de.mud.terminal.vt320;
32 33
33 /** 34 /**
34 * @author Kenny Root 35 * @author Kenny Root
35 * 36 *
36 */ 37 */
37 public abstract class AbsTransport { 38 public abstract class AbsTransport {
38 TerminalManager manager; 39 private String TAG;
39 TerminalBridge bridge; 40 private TerminalManager manager;
40 HostBean host; 41 private TerminalBridge bridge;
41 vt320 buffer; 42 private HostBean host;
42 String emulation; 43 private vt320 buffer;
44 private String emulation;
43 45
44 class vt320Default extends vt320 { 46 class vt320Default extends vt320 {
45 @Override 47 @Override
46 public void debug(String s) { 48 public void debug(String s) {
47 Log.d(TAG, s); 49 Log.d(TAG, s);
48 } 50 }
49 @Override 51 @Override
50 public void write(byte[] b) { 52 public void write(byte[] b) {
51 try { 53 try {
52 if (b != null && transport != null) 54 if (bridge.monitor != null) bridge.monitor.hostData(b);
53 if (bridge.monitor != null) bridge.monitor.hostData(b); 55
54 56 AbsTransport.this.write(b);
55 transport.write(b);
56 } 57 }
57 catch (IOException e) { 58 catch (IOException e) {
58 Log.e(TAG, "Problem writing outgoing data in vt320() thread", e); 59 Log.e(TAG, "Problem writing outgoing data in vt320() thread", e);
59 } 60 }
60 } 61 }
61 @Override 62 @Override
62 public void write(int b) { 63 public void write(int b) {
63 try { 64 try {
64 if (transport != null) 65 if (bridge.monitor != null) bridge.monitor.hostData(b);
65 if (bridge.monitor != null) bridge.monitor.hostData(b); 66
66 67 AbsTransport.this.write(b);
67 transport.write(b);
68 } 68 }
69 catch (IOException e) { 69 catch (IOException e) {
70 Log.e(TAG, "Problem writing outgoing data in vt320() thread", e); 70 Log.e(TAG, "Problem writing outgoing data in vt320() thread", e);
71 } 71 }
72 } 72 }
235 235
236 public String getEmulation() { 236 public String getEmulation() {
237 return emulation; 237 return emulation;
238 } 238 }
239 239
240 public vt320 getTransportbuffer() { 240 public vt320 getTransportBuffer() {
241 buffer = vt320Default(); 241 buffer = vt320Default();
242 int scrollback = (host.getWantSession()) ? manager.getScrollback() : 0; 242 int scrollback = (host.getWantSession()) ? manager.getScrollback() : 0;
243 buffer.setBufferSize(scrollback); 243 buffer.setBufferSize(scrollback);
244 buffer.setDisplay(bridge); 244 buffer.setDisplay(bridge);
245 return buffer; 245 return buffer;