Ooui-tws-port/Ooui/Message.cs

45 lines
981 B
C#

using System;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace Ooui
{
public class Message
{
[JsonProperty("mid")]
public long Id = GenerateId ();
[JsonProperty("m")]
public MessageType MessageType = MessageType.Nop;
[JsonProperty("id")]
public string TargetId = "";
[JsonProperty("k")]
public string Key = "";
[JsonProperty("v")]
public object Value = "";
static long idCounter = 0;
static long GenerateId ()
{
return System.Threading.Interlocked.Increment (ref idCounter);
}
}
[JsonConverter (typeof (StringEnumConverter))]
public enum MessageType
{
[EnumMember(Value = "nop")]
Nop,
[EnumMember(Value = "create")]
Create,
[EnumMember(Value = "set")]
Set,
[EnumMember(Value = "call")]
Call,
}
}