LogFolder.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using InABox.Core;
  2. using InABox.Rpc;
  3. namespace PRSServices;
  4. public class LogFolderResult : IRpcCommandResult
  5. {
  6. public string Folder { get; set; }
  7. public LogFolderResult()
  8. {
  9. Folder = "";
  10. }
  11. public void SerializeBinary(CoreBinaryWriter writer)
  12. {
  13. writer.WriteBinaryValue(Folder);
  14. }
  15. public void DeserializeBinary(CoreBinaryReader reader)
  16. {
  17. Folder = reader.ReadBinaryValue<string>();
  18. }
  19. public string? FullDescription() => null;
  20. }
  21. public class LogFolderCommand : IRpcCommand<LogFolderParameters, LogFolderResult>
  22. {
  23. }
  24. public class LogFolderParameters : IRpcCommandParameters
  25. {
  26. public void SerializeBinary(CoreBinaryWriter writer)
  27. {
  28. }
  29. public void DeserializeBinary(CoreBinaryReader reader)
  30. {
  31. }
  32. public string? FullDescription() => null;
  33. public string? ShortDescription() => null;
  34. }
  35. public class LogFolderHandler : RpcCommandHandler<IEngine, LogFolderCommand, LogFolderParameters, LogFolderResult>
  36. {
  37. protected override LogFolderResult Execute(IRpcSession session, LogFolderParameters? parameters, Logger logger)
  38. => new() { Folder = Sender.AppDataFolder };
  39. public LogFolderHandler(IEngine sender) : base(sender)
  40. {
  41. }
  42. }