From 7ea3291db7dd2de13e9f07005e83524711f086af Mon Sep 17 00:00:00 2001 From: Florrie Date: Fri, 10 Jul 2020 11:24:23 -0300 Subject: rename telnet-server.js to telnet.js ...for consistency with a socket.js (coming soon to a theater near you!) --- index.js | 2 +- telnet-server.js | 81 -------------------------------------------------------- telnet.js | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 82 deletions(-) delete mode 100644 telnet-server.js create mode 100644 telnet.js diff --git a/index.js b/index.js index 4b7654d..f0cd4e3 100755 --- a/index.js +++ b/index.js @@ -7,7 +7,7 @@ const { getPlayer } = require('./players') const { parseOptions } = require('./general-util') const AppElement = require('./ui') const Backend = require('./backend') -const TelnetServer = require('./telnet-server') +const TelnetServer = require('./telnet') const processSmartPlaylist = require('./smart-playlist') const setupClient = require('./client') diff --git a/telnet-server.js b/telnet-server.js deleted file mode 100644 index 33e3dcc..0000000 --- a/telnet-server.js +++ /dev/null @@ -1,81 +0,0 @@ -'use strict' - -const EventEmitter = require('events') -const net = require('net') -const setupClient = require('./client') - -const { - util: { - TelnetInterfacer - } -} = require('tui-lib') - -class TelnetServer extends EventEmitter { - constructor(backend) { - super() - - this.backend = backend - this.server = new net.Server(socket => this.handleConnection(socket)) - this.sockets = [] - } - - listen(port) { - this.server.listen(port) - } - - async handleConnection(socket) { - const interfacer = new TelnetInterfacer(socket) - const { appElement, cleanTerminal, flushable } = await setupClient({ - backend: this.backend, - writable: socket, - interfacer, - appConfig: { - canControlPlayback: false, - canControlQueue: true, - canControlQueuePlayers: false, - canProcessMetadata: false, - canSuspend: false, - showTabberPane: true, - stopPlayingUponQuit: false, - menubarColor: 2 - } - }) - - appElement.attachAsServerClient(this) - - let closed = false - - const quit = (msg = 'See you!') => { - cleanTerminal() - interfacer.cleanTelnetOptions() - socket.write('\r' + msg + '\r\n') - socket.end() - flushable.end() - closed = true - this.sockets.splice(this.sockets.indexOf(socket), 1) - } - - appElement.on('quitRequested', quit) - - socket.on('close', () => { - if (!closed) { - flushable.end() - closed = true - this.sockets.splice(this.sockets.indexOf(socket), 1) - } - this.emit('left', socket) - }) - - socket.quit = quit - this.sockets.push(socket) - this.emit('joined', socket) - } - - disconnectAllSockets(msg) { - while (this.sockets.length) { - this.sockets[0].quit(msg) - } - } -} - -module.exports = TelnetServer diff --git a/telnet.js b/telnet.js new file mode 100644 index 0000000..33e3dcc --- /dev/null +++ b/telnet.js @@ -0,0 +1,81 @@ +'use strict' + +const EventEmitter = require('events') +const net = require('net') +const setupClient = require('./client') + +const { + util: { + TelnetInterfacer + } +} = require('tui-lib') + +class TelnetServer extends EventEmitter { + constructor(backend) { + super() + + this.backend = backend + this.server = new net.Server(socket => this.handleConnection(socket)) + this.sockets = [] + } + + listen(port) { + this.server.listen(port) + } + + async handleConnection(socket) { + const interfacer = new TelnetInterfacer(socket) + const { appElement, cleanTerminal, flushable } = await setupClient({ + backend: this.backend, + writable: socket, + interfacer, + appConfig: { + canControlPlayback: false, + canControlQueue: true, + canControlQueuePlayers: false, + canProcessMetadata: false, + canSuspend: false, + showTabberPane: true, + stopPlayingUponQuit: false, + menubarColor: 2 + } + }) + + appElement.attachAsServerClient(this) + + let closed = false + + const quit = (msg = 'See you!') => { + cleanTerminal() + interfacer.cleanTelnetOptions() + socket.write('\r' + msg + '\r\n') + socket.end() + flushable.end() + closed = true + this.sockets.splice(this.sockets.indexOf(socket), 1) + } + + appElement.on('quitRequested', quit) + + socket.on('close', () => { + if (!closed) { + flushable.end() + closed = true + this.sockets.splice(this.sockets.indexOf(socket), 1) + } + this.emit('left', socket) + }) + + socket.quit = quit + this.sockets.push(socket) + this.emit('joined', socket) + } + + disconnectAllSockets(msg) { + while (this.sockets.length) { + this.sockets[0].quit(msg) + } + } +} + +module.exports = TelnetServer -- cgit 1.3.0-6-gf8a5