From 8e2b00840a6a16a6da1eb4891a8364158884f0a8 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 11 Feb 2017 11:48:26 -0500 Subject: MUD modularization work. --- ShiftOS.Server/RemoteTerminal.cs | 70 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 ShiftOS.Server/RemoteTerminal.cs (limited to 'ShiftOS.Server/RemoteTerminal.cs') diff --git a/ShiftOS.Server/RemoteTerminal.cs b/ShiftOS.Server/RemoteTerminal.cs new file mode 100644 index 0000000..d28cf8a --- /dev/null +++ b/ShiftOS.Server/RemoteTerminal.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ShiftOS.Objects; +using Newtonsoft.Json; +using NetSockets; + +namespace ShiftOS.Server +{ + public static class RemoteTerminal + { + [MudRequest("trm_handshake_accept")] + public static void AcceptHandshake(string guid, object contents) + { + var args = contents as Dictionary; + if (args["guid"] != null && args["target"] != null) + { + + Program.ClientDispatcher.Server.DispatchTo(new Guid(args["target"] as string), new NetObject("hold_it", new ServerMessage + { + Name = "trm_handshake_guid", + GUID = args["guid"] as string + })); + } + } + + [MudRequest("trm_handshake_request")] + public static void RequestHandshake(string guid, object contents) + { + var args = contents as Dictionary; + if (args["username"] != null && args["password"] != null && args["sysname"] != null) + { + Program.ClientDispatcher.Server.DispatchAll(new NetObject("hold_my_hand", new ServerMessage + { + Name = "handshake_from", + GUID = guid, + Contents = JsonConvert.SerializeObject(args) + })); + } + } + + [MudRequest("trm_handshake_stop")] + public static void StopSession(string guid, object contents) + { + var args = contents as Dictionary; + if (args["guid"] != null) + { + Program.ClientDispatcher.Server.DispatchTo(new Guid(args["guid"] as string), new NetObject("trm_handshake_stop", new ServerMessage + { + Name = "trm_handshake_stop", + GUID = guid + })); + } + + } + + [MudRequest("write")] + public static void WriteText(string guid, object contents) + { + var args = contents as Dictionary; + if (args["guid"] != null && args["text"] != null) + { + Program.ClientDispatcher.DispatchTo("pleasewrite", args["guid"] as string, args["text"]); + } + + } + } +} -- cgit v1.2.3