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