OpenSessionCommand.cs 978 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using InABox.Core;
  2. using InABox.Rpc;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace InABox.Server;
  9. public class OpenSessionCommand : IRpcCommand<OpenSessionParameters, OpenSessionResult>
  10. {
  11. }
  12. public class OpenSessionParameters : IRpcCommandParameters
  13. {
  14. public void SerializeBinary(CoreBinaryWriter writer)
  15. {
  16. }
  17. public void DeserializeBinary(CoreBinaryReader reader)
  18. {
  19. }
  20. public string? FullDescription() => ShortDescription();
  21. public string? ShortDescription() => $"OpenSession";
  22. }
  23. public class OpenSessionResult : IRpcCommandResult
  24. {
  25. public Guid SessionID { get; set; }
  26. public void SerializeBinary(CoreBinaryWriter writer)
  27. {
  28. writer.Write(SessionID);
  29. }
  30. public void DeserializeBinary(CoreBinaryReader reader)
  31. {
  32. SessionID = reader.ReadGuid();
  33. }
  34. public string? FullDescription() => $"OpenSession({SessionID})";
  35. }