diff options
Diffstat (limited to 'ShiftOS.Server/RemoteTerminal.cs')
| -rw-r--r-- | ShiftOS.Server/RemoteTerminal.cs | 70 |
1 files changed, 70 insertions, 0 deletions
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<string, object>; + 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<string, object>; + 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<string, object>; + 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<string, object>; + if (args["guid"] != null && args["text"] != null) + { + Program.ClientDispatcher.DispatchTo("pleasewrite", args["guid"] as string, args["text"]); + } + + } + } +} |
