示例#1
0
        public void Write(TWriter writer, message_id selector)
        {
            writer.WriteUnionBegin("message_body");
            switch (selector)
            {
            case message_id.E_MID_LOGIN_REQ:
                if (writer.WriteFieldBegin("login_req"))
                {
                    this._login_req.Write(writer);
                }
                writer.WriteFieldEnd("login_req");
                break;

            case message_id.E_MID_LOGIN_RSP:
                if (writer.WriteFieldBegin("login_rsp"))
                {
                    this._login_rsp.Write(writer);
                }
                writer.WriteFieldEnd("login_rsp");
                break;

            default:
                break;
            }
            writer.WriteUnionEnd("message_body");
        }
示例#2
0
        public void Read(TReader reader)
        {
            reader.ReadStructBegin("message");
            {
                if (reader.ReadFieldBegin("mid"))
                {
                    int e;
                    reader.Read(out e);
                    this._mid = (message_id)e;
                }
                else
                {
                    string es;
                    reader.Read(out es);
                    this._mid = (message_id)Enum.Parse(typeof(message_id), es);
                }
                reader.ReadFieldEnd("mid");
            }

            {
                if (reader.ReadFieldBegin("body"))
                {
                    this._body.Read(reader, this.mid);
                }
                reader.ReadFieldEnd("body");
            }


            reader.ReadStructEnd("message");
        }
示例#3
0
        public void Read(TReader reader, message_id selector)
        {
            reader.ReadUnionBegin("message_body");
            switch (selector)
            {
            case message_id.E_MID_LOGIN_REQ:
                if (reader.ReadFieldBegin("login_req"))
                {
                    this._login_req = new login_req();
                    this._login_req.Read(reader);
                }
                reader.ReadFieldEnd("login_req");
                break;

            case message_id.E_MID_LOGIN_RSP:
                if (reader.ReadFieldBegin("login_rsp"))
                {
                    this._login_rsp = new login_rsp();
                    this._login_rsp.Read(reader);
                }
                reader.ReadFieldEnd("login_rsp");
                break;

            default:
                break;
            }
            reader.ReadUnionEnd("message_body");
        }