1// automatically generated by the FlatBuffers compiler, do not modify 2// ignore_for_file: unused_import, unused_field, unused_element, unused_local_variable, constant_identifier_names 3 4import 'dart:typed_data' show Uint8List; 5import 'package:flat_buffers/flat_buffers.dart' as fb; 6 7 8enum OptionsEnum { 9 A(1), 10 B(2), 11 C(3); 12 13 final int value; 14 const OptionsEnum(this.value); 15 16 factory OptionsEnum.fromValue(int value) { 17 switch (value) { 18 case 1: return OptionsEnum.A; 19 case 2: return OptionsEnum.B; 20 case 3: return OptionsEnum.C; 21 default: throw StateError('Invalid value $value for bit flag enum'); 22 } 23 } 24 25 static OptionsEnum? _createOrNull(int? value) => 26 value == null ? null : OptionsEnum.fromValue(value); 27 28 static const int minValue = 1; 29 static const int maxValue = 3; 30 static const fb.Reader<OptionsEnum> reader = _OptionsEnumReader(); 31} 32 33class _OptionsEnumReader extends fb.Reader<OptionsEnum> { 34 const _OptionsEnumReader(); 35 36 @override 37 int get size => 4; 38 39 @override 40 OptionsEnum read(fb.BufferContext bc, int offset) => 41 OptionsEnum.fromValue(const fb.Uint32Reader().read(bc, offset)); 42} 43 44class MyTable { 45 MyTable._(this._bc, this._bcOffset); 46 factory MyTable(List<int> bytes) { 47 final rootRef = fb.BufferContext.fromBytes(bytes); 48 return reader.read(rootRef, 0); 49 } 50 51 static const fb.Reader<MyTable> reader = _MyTableReader(); 52 53 final fb.BufferContext _bc; 54 final int _bcOffset; 55 56 List<OptionsEnum>? get options => const fb.ListReader<OptionsEnum>(OptionsEnum.reader).vTableGetNullable(_bc, _bcOffset, 4); 57 58 @override 59 String toString() { 60 return 'MyTable{options: ${options}}'; 61 } 62 63 MyTableT unpack() => MyTableT( 64 options: const fb.ListReader<OptionsEnum>(OptionsEnum.reader, lazy: false).vTableGetNullable(_bc, _bcOffset, 4)); 65 66 static int pack(fb.Builder fbBuilder, MyTableT? object) { 67 if (object == null) return 0; 68 return object.pack(fbBuilder); 69 } 70} 71 72class MyTableT implements fb.Packable { 73 List<OptionsEnum>? options; 74 75 MyTableT({ 76 this.options}); 77 78 @override 79 int pack(fb.Builder fbBuilder) { 80 final int? optionsOffset = options == null ? null 81 : fbBuilder.writeListUint32(options!.map((f) => f.value).toList()); 82 fbBuilder.startTable(1); 83 fbBuilder.addOffset(0, optionsOffset); 84 return fbBuilder.endTable(); 85 } 86 87 @override 88 String toString() { 89 return 'MyTableT{options: ${options}}'; 90 } 91} 92 93class _MyTableReader extends fb.TableReader<MyTable> { 94 const _MyTableReader(); 95 96 @override 97 MyTable createObject(fb.BufferContext bc, int offset) => 98 MyTable._(bc, offset); 99} 100 101class MyTableBuilder { 102 MyTableBuilder(this.fbBuilder); 103 104 final fb.Builder fbBuilder; 105 106 void begin() { 107 fbBuilder.startTable(1); 108 } 109 110 int addOptionsOffset(int? offset) { 111 fbBuilder.addOffset(0, offset); 112 return fbBuilder.offset; 113 } 114 115 int finish() { 116 return fbBuilder.endTable(); 117 } 118} 119 120class MyTableObjectBuilder extends fb.ObjectBuilder { 121 final List<OptionsEnum>? _options; 122 123 MyTableObjectBuilder({ 124 List<OptionsEnum>? options, 125 }) 126 : _options = options; 127 128 /// Finish building, and store into the [fbBuilder]. 129 @override 130 int finish(fb.Builder fbBuilder) { 131 final int? optionsOffset = _options == null ? null 132 : fbBuilder.writeListUint32(_options!.map((f) => f.value).toList()); 133 fbBuilder.startTable(1); 134 fbBuilder.addOffset(0, optionsOffset); 135 return fbBuilder.endTable(); 136 } 137 138 /// Convenience method to serialize to byte list. 139 @override 140 Uint8List toBytes([String? fileIdentifier]) { 141 final fbBuilder = fb.Builder(deduplicateTables: false); 142 fbBuilder.finish(finish(fbBuilder), fileIdentifier); 143 return fbBuilder.buffer; 144 } 145} 146