36 lines
933 B
Dart
36 lines
933 B
Dart
|
// ignore_for_file: constant_identifier_names
|
||
|
|
||
|
import 'parser.dart';
|
||
|
import 'sentence.dart';
|
||
|
|
||
|
const TypeBBM = "BBM";
|
||
|
|
||
|
class BBM {
|
||
|
int numFragments;
|
||
|
int fragmentNumber;
|
||
|
int messageID;
|
||
|
String channel; // Assuming default value is an empty string
|
||
|
int vDLMessageNumber;
|
||
|
List<int> payload;
|
||
|
BBM({
|
||
|
required this.numFragments,
|
||
|
required this.fragmentNumber,
|
||
|
required this.messageID,
|
||
|
required this.channel,
|
||
|
required this.vDLMessageNumber,
|
||
|
required this.payload,
|
||
|
});
|
||
|
static BBM newBBM(BaseSentence s) {
|
||
|
var p = Parser(s);
|
||
|
return BBM(
|
||
|
numFragments: p.int64(0, "number of fragments"),
|
||
|
fragmentNumber: p.int64(1, "fragment number"),
|
||
|
messageID: p.int64(2, "message ID"),
|
||
|
channel: p.string(3, "channel"),
|
||
|
vDLMessageNumber: p.int64(4, "VDL message number"),
|
||
|
payload: p.sixBitASCIIArmour(
|
||
|
5, p.int64(6, "number of padding bits"), "payload"),
|
||
|
);
|
||
|
}
|
||
|
}
|