summaryrefslogtreecommitdiff
path: root/lib/chessh/shell.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chessh/shell.ex')
-rw-r--r--lib/chessh/shell.ex51
1 files changed, 0 insertions, 51 deletions
diff --git a/lib/chessh/shell.ex b/lib/chessh/shell.ex
deleted file mode 100644
index cf65ad4..0000000
--- a/lib/chessh/shell.ex
+++ /dev/null
@@ -1,51 +0,0 @@
-defmodule Chessh.Shell do
- use Sshd.ShellHandler
-
- def on_shell(_username, _pubkey, _ip, _port) do
- IO.puts("Looks like you're on #{inspect(self())}")
- loop()
- end
-
- def on_connect(username, ip, port, method) do
- Logger.debug(fn ->
- """
- Incoming SSH shell #{inspect(self())} requested for #{username} from #{inspect(ip)}:#{inspect(port)} using #{inspect(method)}
- """
- end)
- end
-
- def on_disconnect(username, ip, port) do
- Logger.debug(fn ->
- "Disconnecting SSH shell for #{username} from #{inspect(ip)}:#{inspect(port)}"
- end)
- end
-
- defp loop() do
- self_pid = self()
- IO.write([IO.ANSI.home(), IO.ANSI.clear()])
- IO.puts("#{inspect(:io.columns())}")
- IO.puts("#{inspect(:io.rows())}")
- input = spawn(fn -> io_get(self_pid) end)
- wait_input(input)
- end
-
- defp wait_input(input) do
- receive do
- {:hello, message} ->
- IO.puts(message)
- loop()
-
- {:input, ^input, x} ->
- IO.puts(x)
- loop()
-
- x ->
- Logger.debug(inspect(x))
- loop()
- end
- end
-
- defp io_get(pid) do
- send(pid, {:input, self(), IO.gets("")})
- end
-end