Message.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. namespace GodotTools.IdeMessaging
  2. {
  3. public class Message
  4. {
  5. public MessageKind Kind { get; }
  6. public string Id { get; }
  7. public MessageContent Content { get; }
  8. public Message(MessageKind kind, string id, MessageContent content)
  9. {
  10. Kind = kind;
  11. Id = id;
  12. Content = content;
  13. }
  14. public override string ToString()
  15. {
  16. return $"{Kind} | {Id}";
  17. }
  18. }
  19. public enum MessageKind
  20. {
  21. Request,
  22. Response
  23. }
  24. public enum MessageStatus
  25. {
  26. Ok,
  27. RequestNotSupported,
  28. InvalidRequestBody
  29. }
  30. public readonly struct MessageContent
  31. {
  32. public MessageStatus Status { get; }
  33. public string Body { get; }
  34. public MessageContent(string body)
  35. {
  36. Status = MessageStatus.Ok;
  37. Body = body;
  38. }
  39. public MessageContent(MessageStatus status, string body)
  40. {
  41. Status = status;
  42. Body = body;
  43. }
  44. }
  45. }