X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=demos%2FDemo8.java;h=3b253d0c5aea2210a6b8013a17bf9de6d12e06ab;hb=HEAD;hp=19fe5ff52649fffcc7a1ad64f3fccc0dc686db6f;hpb=77d3a60869e7a780c6ae069e51530e1eacece5e2;p=nikiroo-utils.git diff --git a/demos/Demo8.java b/demos/Demo8.java deleted file mode 100644 index 19fe5ff..0000000 --- a/demos/Demo8.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Jexer - Java Text User Interface - * - * The MIT License (MIT) - * - * Copyright (C) 2019 Kevin Lamonte - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * @author Kevin Lamonte [kevin.lamonte@gmail.com] - * @version 1 - */ -package jexer.demos; - -import java.net.ServerSocket; -import java.net.Socket; -import java.text.MessageFormat; -import java.util.ResourceBundle; - -import jexer.TApplication; -import jexer.backend.*; -import jexer.demos.DemoApplication; -import jexer.net.TelnetServerSocket; - - -/** - * This class shows off the use of MultiBackend and MultiScreen. - */ -public class Demo8 { - - /** - * Translated strings. - */ - private static final ResourceBundle i18n = ResourceBundle.getBundle(Demo8.class.getName()); - - // ------------------------------------------------------------------------ - // Demo8 ------------------------------------------------------------------ - // ------------------------------------------------------------------------ - - /** - * Main entry point. - * - * @param args Command line arguments - */ - public static void main(final String [] args) { - ServerSocket server = null; - try { - - /* - * In this demo we will create a headless application that anyone - * can telnet to. - */ - - /* - * Check the arguments for the port to listen on. - */ - if (args.length == 0) { - System.err.println(i18n.getString("usageString")); - return; - } - int port = Integer.parseInt(args[0]); - - /* - * We create a headless screen and use it to establish a - * MultiBackend. - */ - HeadlessBackend headlessBackend = new HeadlessBackend(); - MultiBackend multiBackend = new MultiBackend(headlessBackend); - - /* - * Now we create the shared application (a standard demo) and - * spin it up. - */ - DemoApplication demoApp = new DemoApplication(multiBackend); - (new Thread(demoApp)).start(); - multiBackend.setListener(demoApp); - - /* - * Fire up the telnet server. - */ - server = new TelnetServerSocket(port); - while (demoApp.isRunning()) { - Socket socket = server.accept(); - System.out.println(MessageFormat. - format(i18n.getString("newConnection"), socket)); - - ECMA48Backend ecmaBackend = new ECMA48Backend(demoApp, - socket.getInputStream(), - socket.getOutputStream()); - - /* - * Add this screen to the MultiBackend, and at this point we - * have the telnet client able to use the shared demo - * application. - */ - multiBackend.addBackend(ecmaBackend); - - /* - * Emit the connection information from telnet. - */ - Thread.sleep(500); - System.out.println(MessageFormat. - format(i18n.getString("terminal"), - ((jexer.net.TelnetInputStream) socket.getInputStream()). - getTerminalType())); - System.out.println(MessageFormat. - format(i18n.getString("username"), - ((jexer.net.TelnetInputStream) socket.getInputStream()). - getUsername())); - System.out.println(MessageFormat. - format(i18n.getString("language"), - ((jexer.net.TelnetInputStream) socket.getInputStream()). - getLanguage())); - - } // while (demoApp.isRunning()) - - /* - * When the application exits, kill all of the connections too. - */ - multiBackend.shutdown(); - server.close(); - - System.out.println(i18n.getString("exitMain")); - - } catch (Exception e) { - e.printStackTrace(); - } finally { - if (server != null) { - try { - server.close(); - } catch (Exception e) { - // SQUASH - } - } - } - } - -}