示例#1
0
 protected PullParser(PullParser <T> that, RuntimeSchema schema, bool flatten)
 {
     Audit.ArgNotNull(that, "that");
     Audit.ArgRule(schema.HasValue, "PullParser requires runtime schema");
     this.schema  = schema;
     this.flatten = flatten;
 }
示例#2
0
 public UntaggedParser(RuntimeSchema schema, PayloadBondedFactory bondedFactory)
     : this(new UntaggedReader <R>(), new DeferredSkip(), schema, bondedFactory)
 {
     Audit.ArgRule(schema.HasValue, "UntaggedParser requires runtime schema");
 }
示例#3
0
 public UntaggedParser(RuntimeSchema schema)
     : this(new UntaggedReader <R>(), new DeferredSkip(), schema)
 {
     Audit.ArgRule(schema.HasValue, "UntaggedParser requires runtime schema");
 }
示例#4
0
        public void WriteFieldOmitted(BondDataType dataType, ushort id, Metadata metadata)
        {
            // Simple doesn't support omitting fields so instead we write the default value
            Audit.ArgRule(!metadata.default_value.nothing, "Field set to nothing can't be serialized.");

            switch (dataType)
            {
            case BondDataType.BT_BOOL:
                WriteBool(0 != metadata.default_value.uint_value);
                break;

            case BondDataType.BT_UINT8:
                WriteUInt8((byte)metadata.default_value.uint_value);
                break;

            case BondDataType.BT_UINT16:
                WriteUInt16((UInt16)metadata.default_value.uint_value);
                break;

            case BondDataType.BT_UINT32:
                WriteUInt32((UInt32)metadata.default_value.uint_value);
                break;

            case BondDataType.BT_UINT64:
                WriteUInt64(metadata.default_value.uint_value);
                break;

            case BondDataType.BT_FLOAT:
                WriteFloat((float)metadata.default_value.double_value);
                break;

            case BondDataType.BT_DOUBLE:
                WriteDouble(metadata.default_value.double_value);
                break;

            case BondDataType.BT_STRING:
                WriteString(metadata.default_value.string_value);
                break;

            case BondDataType.BT_LIST:
            case BondDataType.BT_SET:
            case BondDataType.BT_MAP:
                WriteContainerBegin(0, dataType);
                break;

            case BondDataType.BT_INT8:
                WriteInt8((sbyte)metadata.default_value.int_value);
                break;

            case BondDataType.BT_INT16:
                WriteInt16((Int16)metadata.default_value.int_value);
                break;

            case BondDataType.BT_INT32:
                WriteInt32((Int32)metadata.default_value.int_value);
                break;

            case BondDataType.BT_INT64:
                WriteInt64(metadata.default_value.int_value);
                break;

            case BondDataType.BT_WSTRING:
                WriteWString(metadata.default_value.wstring_value);
                break;

            default:
                Throw.InvalidBondDataType(dataType);
                break;
            }
        }
示例#5
0
 protected PullParser(RuntimeSchema schema, bool flatten)
 {
     Audit.ArgRule(schema.HasValue, "PullParser requires runtime schema");
     this.schema  = schema;
     this.flatten = flatten;
 }