Пример #1
0
 public static LightJson.JsonValue LJ_Value(this AC_Req ac_req)
 {
     LightJson.JsonObject Jobj = new LightJson.JsonObject();
     Jobj.Add("arg", ac_req.arg);
     Jobj.Add("offs", ac_req.offs);
     return(addTypeTag(Jobj, ac_req));
 }
Пример #2
0
        public static CMD_Base CMD_from_JSonValue(LightJson.JsonObject cmd_jObj)
        {
            string type_tag = cmd_jObj["cmd"];

            if (type_tag == "AC_Req")
            {
                return new AC_Req   {
                           arg  = cmd_jObj["arg"],
                           offs = cmd_jObj["offs"]
                }
            }
            ;

            if (type_tag == "AC_Resp")
            {
                return new AC_Resp {
                           suggs        = cmd_jObj["suggs"].AsJsonArray.Select(s => s.AsString).ToArray(),
                           nu_offs      = cmd_jObj["nu_offs"],
                           toks         = toks_form_JSonValue(cmd_jObj["toks"]).ToArray(),
                           msg          = cmd_jObj["msg"],
                           toks_changed = cmd_jObj["toks_changed"]
                }
            }
            ;
            if (type_tag == "EVAL_Req")
            {
                return(new EVAL_Req {
                    expr = cmd_jObj["expr"]
                });
            }
            if (type_tag == "EVAL_Resp")
            {
                return(new EVAL_Resp {
                    result = cmd_jObj["result"].AsJsonArray.Select(s => s.AsString).ToArray(),
                    msg = cmd_jObj["msg"],
                    success = cmd_jObj["success"]
                });
            }
            if (type_tag == "TYPEINFO_Req")              // only need deserialization of request atm , only one direction of this is implemented in any c# parts
            {
                return(new TYPEINFO_Req {
                    expression = cmd_jObj["expression"]
                });
            }


            throw new NotImplementedException();
        }

        #endregion
    }
Пример #3
0
 public static LightJson.JsonObject addTypeTag(LightJson.JsonObject jObj, CMD_Base cmd_base)
 {
     return(jObj.Add("cmd", cmd_base.GetType().Name));
 }
Пример #4
0
 public JsonObjectDebugView(JsonObject jsonObject)
 {
     this.jsonObject = jsonObject;
 }