mirror of
https://github.com/esiur/esiur-dart.git
synced 2026-04-04 02:08:21 +00:00
2.0.0
This commit is contained in:
@@ -3,20 +3,25 @@ import '../../Data/DC.dart';
|
||||
import '../../Data/BinaryList.dart';
|
||||
import 'TypeTemplate.dart';
|
||||
import 'MemberType.dart';
|
||||
import 'TemplateDataType.dart';
|
||||
import '../../Data/RepresentationType.dart';
|
||||
|
||||
class EventTemplate extends MemberTemplate {
|
||||
String? expansion;
|
||||
bool listenable;
|
||||
TemplateDataType argumentType;
|
||||
final String? expansion;
|
||||
final bool listenable;
|
||||
final RepresentationType argumentType;
|
||||
|
||||
DC compose() {
|
||||
var name = super.compose();
|
||||
|
||||
var hdr = inherited ? 0x80 : 0;
|
||||
|
||||
if (listenable) hdr |= 0x8;
|
||||
|
||||
if (expansion != null) {
|
||||
var exp = DC.stringToBytes(expansion as String);
|
||||
hdr |= 0x50;
|
||||
return (BinaryList()
|
||||
..addUint8(listenable ? 0x58 : 0x50)
|
||||
..addUint8(hdr)
|
||||
..addUint8(name.length)
|
||||
..addDC(name)
|
||||
..addDC(argumentType.compose())
|
||||
@@ -24,8 +29,9 @@ class EventTemplate extends MemberTemplate {
|
||||
..addDC(exp))
|
||||
.toDC();
|
||||
} else {
|
||||
hdr |= 0x40;
|
||||
return (BinaryList()
|
||||
..addUint8(listenable ? 0x48 : 0x40)
|
||||
..addUint8(hdr)
|
||||
..addUint8(name.length)
|
||||
..addDC(name)
|
||||
..addDC(argumentType.compose()))
|
||||
@@ -33,7 +39,8 @@ class EventTemplate extends MemberTemplate {
|
||||
}
|
||||
}
|
||||
|
||||
EventTemplate(TypeTemplate template, int index, String name,
|
||||
this.argumentType, this.expansion, this.listenable)
|
||||
: super(template, MemberType.Property, index, name) {}
|
||||
EventTemplate(TypeTemplate template, int index, String name, bool inherited,
|
||||
this.argumentType,
|
||||
[this.expansion = null, this.listenable = false])
|
||||
: super(template, index, name, inherited) {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user