diff options
author | Kenny Root <kenny@the-b.org> | 2009-06-24 19:18:35 +0000 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-06-24 19:18:35 +0000 |
commit | 9c24eddf62f97f354c9715388e18859492f13e40 (patch) | |
tree | 8ba6d7048226655bae8964e469f43683f3047fb5 /src/org | |
parent | 77440a7c3f4b9b2aa4918d290e0b2f37370a131c (diff) | |
download | connectbot-9c24eddf62f97f354c9715388e18859492f13e40.tar.gz connectbot-9c24eddf62f97f354c9715388e18859492f13e40.tar.bz2 connectbot-9c24eddf62f97f354c9715388e18859492f13e40.zip |
Add in CHARSET (RFC 2066) support to Telnet transport
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@329 df292f66-193f-0410-a5fc-6d59da041ff2
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/connectbot/service/Relay.java | 4 | ||||
-rw-r--r-- | src/org/connectbot/service/TerminalBridge.java | 8 | ||||
-rw-r--r-- | src/org/connectbot/transport/Telnet.java | 10 |
3 files changed, 22 insertions, 0 deletions
diff --git a/src/org/connectbot/service/Relay.java b/src/org/connectbot/service/Relay.java index 8cf9bf9..746a915 100644 --- a/src/org/connectbot/service/Relay.java +++ b/src/org/connectbot/service/Relay.java @@ -84,6 +84,10 @@ public class Relay implements Runnable { } } + public Charset getCharset() { + return currentCharset; + } + public void run() { byteBuffer = ByteBuffer.allocate(BUFFER_SIZE); charBuffer = CharBuffer.allocate(BUFFER_SIZE); diff --git a/src/org/connectbot/service/TerminalBridge.java b/src/org/connectbot/service/TerminalBridge.java index 28fd821..b0d4dbe 100644 --- a/src/org/connectbot/service/TerminalBridge.java +++ b/src/org/connectbot/service/TerminalBridge.java @@ -19,6 +19,7 @@ package org.connectbot.service; import java.io.IOException; +import java.nio.charset.Charset; import java.util.LinkedList; import java.util.List; @@ -304,6 +305,13 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener { } /** + * @return charset in use by bridge + */ + public Charset getCharset() { + return relay.getCharset(); + } + + /** * Sets the encoding used by the terminal. If the connection is live, * then the character set is changed for the next read. * @param encoding the canonical name of the character encoding diff --git a/src/org/connectbot/transport/Telnet.java b/src/org/connectbot/transport/Telnet.java index 681da45..05f31b6 100644 --- a/src/org/connectbot/transport/Telnet.java +++ b/src/org/connectbot/transport/Telnet.java @@ -24,6 +24,7 @@ import java.io.OutputStream; import java.net.Socket; import java.net.SocketException; import java.net.UnknownHostException; +import java.nio.charset.Charset; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -98,6 +99,15 @@ public class Telnet extends AbsTransport { @Override public void notifyEndOfRecord() { } + + @Override + protected String getCharsetName() { + Charset charset = bridge.getCharset(); + if (charset != null) + return charset.name(); + else + return ""; + } }; } |