2017-06-12 20:19:18 +00:00
|
|
|
using System;
|
2017-06-13 07:03:01 +00:00
|
|
|
using System.Runtime.Serialization;
|
2017-06-13 03:31:47 +00:00
|
|
|
using Newtonsoft.Json;
|
|
|
|
using Newtonsoft.Json.Converters;
|
2017-06-12 20:19:18 +00:00
|
|
|
|
|
|
|
namespace Ooui
|
|
|
|
{
|
|
|
|
public class Message
|
|
|
|
{
|
2017-06-13 07:03:01 +00:00
|
|
|
[JsonProperty("mid")]
|
|
|
|
public long Id = GenerateId ();
|
2017-06-13 03:31:47 +00:00
|
|
|
|
2017-06-13 07:03:01 +00:00
|
|
|
[JsonProperty("m")]
|
2017-06-12 20:19:18 +00:00
|
|
|
public MessageType MessageType = MessageType.Nop;
|
2017-06-13 03:31:47 +00:00
|
|
|
|
|
|
|
[JsonProperty("id")]
|
2017-06-12 20:19:18 +00:00
|
|
|
public string TargetId = "";
|
2017-06-13 03:31:47 +00:00
|
|
|
|
|
|
|
[JsonProperty("k")]
|
|
|
|
public string Key = "";
|
|
|
|
|
|
|
|
[JsonProperty("v")]
|
2017-06-13 04:50:15 +00:00
|
|
|
public object Value = "";
|
2017-06-13 07:03:01 +00:00
|
|
|
|
|
|
|
static long idCounter = 0;
|
|
|
|
static long GenerateId ()
|
|
|
|
{
|
|
|
|
return System.Threading.Interlocked.Increment (ref idCounter);
|
|
|
|
}
|
2017-06-12 20:19:18 +00:00
|
|
|
}
|
|
|
|
|
2017-06-13 07:03:01 +00:00
|
|
|
[JsonConverter (typeof (StringEnumConverter))]
|
2017-06-12 20:19:18 +00:00
|
|
|
public enum MessageType
|
|
|
|
{
|
2017-06-13 07:03:01 +00:00
|
|
|
[EnumMember(Value = "nop")]
|
2017-06-12 20:19:18 +00:00
|
|
|
Nop,
|
2017-06-13 07:03:01 +00:00
|
|
|
[EnumMember(Value = "create")]
|
2017-06-12 20:19:18 +00:00
|
|
|
Create,
|
2017-06-13 07:03:01 +00:00
|
|
|
[EnumMember(Value = "set")]
|
2017-06-12 20:45:27 +00:00
|
|
|
Set,
|
2017-06-13 07:03:01 +00:00
|
|
|
[EnumMember(Value = "call")]
|
2017-06-12 20:45:27 +00:00
|
|
|
Call,
|
2017-06-12 20:19:18 +00:00
|
|
|
}
|
|
|
|
}
|