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 
Message(MessageKind kind, string id, MessageContent content)9         public Message(MessageKind kind, string id, MessageContent content)
10         {
11             Kind = kind;
12             Id = id;
13             Content = content;
14         }
15 
ToString()16         public override string ToString()
17         {
18             return $"{Kind} | {Id}";
19         }
20     }
21 
22     public enum MessageKind
23     {
24         Request,
25         Response
26     }
27 
28     public enum MessageStatus
29     {
30         Ok,
31         RequestNotSupported,
32         InvalidRequestBody
33     }
34 
35     public readonly struct MessageContent
36     {
37         public MessageStatus Status { get; }
38         public string Body { get; }
39 
MessageContentGodotTools.IdeMessaging.MessageContent40         public MessageContent(string body)
41         {
42             Status = MessageStatus.Ok;
43             Body = body;
44         }
45 
MessageContentGodotTools.IdeMessaging.MessageContent46         public MessageContent(MessageStatus status, string body)
47         {
48             Status = status;
49             Body = body;
50         }
51     }
52 }
53