...

Text file src/github.com/google/flatbuffers/tests/union_vector/Gadget.cs

Documentation: github.com/google/flatbuffers/tests/union_vector

     1// <auto-generated>
     2//  automatically generated by the FlatBuffers compiler, do not modify
     3// </auto-generated>
     4
     5[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
     6public enum Gadget : byte
     7{
     8  NONE = 0,
     9  FallingTub = 1,
    10  HandFan = 2,
    11};
    12
    13public class GadgetUnion {
    14  public Gadget Type { get; set; }
    15  public object Value { get; set; }
    16
    17  public GadgetUnion() {
    18    this.Type = Gadget.NONE;
    19    this.Value = null;
    20  }
    21
    22  public T As<T>() where T : class { return this.Value as T; }
    23  public FallingTubT AsFallingTub() { return this.As<FallingTubT>(); }
    24  public static GadgetUnion FromFallingTub(FallingTubT _fallingtub) { return new GadgetUnion{ Type = Gadget.FallingTub, Value = _fallingtub }; }
    25  public HandFanT AsHandFan() { return this.As<HandFanT>(); }
    26  public static GadgetUnion FromHandFan(HandFanT _handfan) { return new GadgetUnion{ Type = Gadget.HandFan, Value = _handfan }; }
    27
    28  public static int Pack(Google.FlatBuffers.FlatBufferBuilder builder, GadgetUnion _o) {
    29    switch (_o.Type) {
    30      default: return 0;
    31      case Gadget.FallingTub: return FallingTub.Pack(builder, _o.AsFallingTub()).Value;
    32      case Gadget.HandFan: return HandFan.Pack(builder, _o.AsHandFan()).Value;
    33    }
    34  }
    35}
    36
    37
    38
    39static public class GadgetVerify
    40{
    41  static public bool Verify(Google.FlatBuffers.Verifier verifier, byte typeId, uint tablePos)
    42  {
    43    bool result = true;
    44    switch((Gadget)typeId)
    45    {
    46      case Gadget.FallingTub:
    47        result = verifier.VerifyUnionData(tablePos, 4, 4);
    48        break;
    49      case Gadget.HandFan:
    50        result = HandFanVerify.Verify(verifier, tablePos);
    51        break;
    52      default: result = true;
    53        break;
    54    }
    55    return result;
    56  }
    57}
    58
    59public class GadgetUnion_JsonConverter : Newtonsoft.Json.JsonConverter {
    60  public override bool CanConvert(System.Type objectType) {
    61    return objectType == typeof(GadgetUnion) || objectType == typeof(System.Collections.Generic.List<GadgetUnion>);
    62  }
    63  public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) {
    64    var _olist = value as System.Collections.Generic.List<GadgetUnion>;
    65    if (_olist != null) {
    66      writer.WriteStartArray();
    67      foreach (var _o in _olist) { this.WriteJson(writer, _o, serializer); }
    68      writer.WriteEndArray();
    69    } else {
    70      this.WriteJson(writer, value as GadgetUnion, serializer);
    71    }
    72  }
    73  public void WriteJson(Newtonsoft.Json.JsonWriter writer, GadgetUnion _o, Newtonsoft.Json.JsonSerializer serializer) {
    74    if (_o == null) return;
    75    serializer.Serialize(writer, _o.Value);
    76  }
    77  public override object ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) {
    78    var _olist = existingValue as System.Collections.Generic.List<GadgetUnion>;
    79    if (_olist != null) {
    80      for (var _j = 0; _j < _olist.Count; ++_j) {
    81        reader.Read();
    82        _olist[_j] = this.ReadJson(reader, _olist[_j], serializer);
    83      }
    84      reader.Read();
    85      return _olist;
    86    } else {
    87      return this.ReadJson(reader, existingValue as GadgetUnion, serializer);
    88    }
    89  }
    90  public GadgetUnion ReadJson(Newtonsoft.Json.JsonReader reader, GadgetUnion _o, Newtonsoft.Json.JsonSerializer serializer) {
    91    if (_o == null) return null;
    92    switch (_o.Type) {
    93      default: break;
    94      case Gadget.FallingTub: _o.Value = serializer.Deserialize<FallingTubT>(reader); break;
    95      case Gadget.HandFan: _o.Value = serializer.Deserialize<HandFanT>(reader); break;
    96    }
    97    return _o;
    98  }
    99}
   100

View as plain text