52 lines
1 KiB
C#
52 lines
1 KiB
C#
namespace GodotTools.IdeMessaging
|
|
{
|
|
public class Message
|
|
{
|
|
public MessageKind Kind { get; }
|
|
public string Id { get; }
|
|
public MessageContent Content { get; }
|
|
|
|
public Message(MessageKind kind, string id, MessageContent content)
|
|
{
|
|
Kind = kind;
|
|
Id = id;
|
|
Content = content;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"{Kind} | {Id}";
|
|
}
|
|
}
|
|
|
|
public enum MessageKind
|
|
{
|
|
Request,
|
|
Response
|
|
}
|
|
|
|
public enum MessageStatus
|
|
{
|
|
Ok,
|
|
RequestNotSupported,
|
|
InvalidRequestBody
|
|
}
|
|
|
|
public readonly struct MessageContent
|
|
{
|
|
public MessageStatus Status { get; }
|
|
public string Body { get; }
|
|
|
|
public MessageContent(string body)
|
|
{
|
|
Status = MessageStatus.Ok;
|
|
Body = body;
|
|
}
|
|
|
|
public MessageContent(MessageStatus status, string body)
|
|
{
|
|
Status = status;
|
|
Body = body;
|
|
}
|
|
}
|
|
}
|