2
0
mirror of https://github.com/esiur/esiur-dart.git synced 2025-05-06 04:02:57 +00:00

Guid to UUID

This commit is contained in:
ahmed 2025-03-03 04:42:38 +03:00
parent 8c5a4a0e98
commit 2380baf9ff
15 changed files with 103 additions and 101 deletions

View File

@ -39,7 +39,7 @@ export 'src/Data/AutoList.dart';
export 'src/Data/BinaryList.dart';
export 'src/Data/Codec.dart';
export 'src/Data/DC.dart';
export 'src/Data/Guid.dart';
export 'src/Data/UUID.dart';
export 'src/Data/KeyList.dart';
export 'src/Data/NotModified.dart';
export 'src/Data/PropertyValue.dart';

File diff suppressed because one or more lines are too long

View File

@ -27,7 +27,7 @@
import '../Core/AsyncReply.dart';
import 'dart:typed_data';
import 'DC.dart';
import 'Guid.dart';
import 'UUID.dart';
class BinaryList {
var _list = <int>[];
@ -52,12 +52,12 @@ class BinaryList {
_list.insertAll(position, DC.dateTimeArrayToBytes(value, endian));
}
void addGuid(Guid value) {
_list.addAll(DC.guidToBytes(value));
void addUUID(UUID value) {
_list.addAll(DC.uuidToBytes(value));
}
void insertGuid(int position, Guid value) {
_list.insertAll(position, DC.guidToBytes(value));
void insertUUID(int position, UUID value) {
_list.insertAll(position, DC.uuidToBytes(value));
}
void addUint8Array(Uint8List value) {

View File

@ -35,7 +35,7 @@ import '../Resource/Template/TemplateType.dart';
import 'DataDeserializer.dart';
import 'DataSerializer.dart';
import 'Guid.dart';
import 'UUID.dart';
import 'IRecord.dart';
import 'Record.dart';
import 'ResourceArrayType.dart';

View File

@ -24,7 +24,7 @@ import 'dart:typed_data';
import 'dart:convert';
import 'BinaryList.dart';
import 'dart:collection';
import 'Guid.dart';
import 'UUID.dart';
const bool kIsWeb = identical(0, 0.0);
@ -100,9 +100,9 @@ class DC with IterableMixin<int> {
return rt;
}
static DC guidToBytes(Guid value) {
static DC uuidToBytes(UUID value) {
var rt = new DC(16);
rt.setGuid(0, value);
rt.setUUID(0, value);
return rt;
}
@ -615,12 +615,12 @@ class DC with IterableMixin<int> {
return DateTime.fromMillisecondsSinceEpoch((ticks - UNIX_EPOCH) ~/ 10000);
}
Guid getGuid(int offset) {
return new Guid(this.clip(offset, 16));
UUID getUUID(int offset) {
return new UUID(this.clip(offset, 16));
}
void setGuid(int offset, Guid guid) {
set(guid.value, 0, offset, 16);
void setUUID(int offset, UUID uuid) {
set(uuid.value, 0, offset, 16);
}
bool sequenceEqual(ar) {

View File

@ -155,7 +155,7 @@ class DataDeserializer {
DistributedConnection? connection, List<int>? requestSequence) {
var reply = new AsyncReply<IRecord>();
var classId = data.getGuid(offset);
var classId = data.getUUID(offset);
offset += 16;
length -= 16;
@ -210,7 +210,7 @@ class DataDeserializer {
static AsyncReply enumParser(DC data, int offset, int length,
DistributedConnection? connection, List<int>? requestSequence) {
var classId = data.getGuid(offset);
var classId = data.getUUID(offset);
offset += 16;
var index = data[offset++];

View File

@ -130,7 +130,7 @@ class DataSerializer {
var rt = BinaryList();
rt.addGuid(template.classId);
rt.addUUID(template.classId);
rt.addUint8(cts.first.index);
return DataSerializerComposeResults(
@ -346,7 +346,7 @@ class DataSerializer {
return DataSerializerComposeResults(
TransmissionTypeIdentifier.Null, DC(0));
rt.addDC(DC.guidToBytes(template.classId));
rt.addDC(DC.uuidToBytes(template.classId));
var recordData = record.serialize();

View File

@ -8,7 +8,7 @@ import '../Resource/Warehouse.dart';
import 'BinaryList.dart';
import 'DC.dart';
import 'Guid.dart';
import 'UUID.dart';
import 'package:collection/collection.dart';
class RepresentationTypeIdentifier {
@ -83,7 +83,7 @@ class RepresentationType {
}
RepresentationType toNullable() {
return RepresentationType(identifier, true, guid, subTypes);
return RepresentationType(identifier, true, uuid, subTypes);
}
static RepresentationType Void =
@ -127,7 +127,7 @@ class RepresentationType {
// if (name == "List") {
// // get sub type
// getTypeFromName(args.first.input);
// return RepresentationType(RepresentationTypeIdentifier.TypedList, nullable, guid, subTypes)
// return RepresentationType(RepresentationTypeIdentifier.TypedList, nullable, uuid, subTypes)
// }
// }
// }
@ -166,13 +166,13 @@ class RepresentationType {
? runtimeTypes[identifier]![1]
: runtimeTypes[identifier]![0];
if (identifier == RepresentationTypeIdentifier.TypedRecord)
return Warehouse.getTemplateByClassId(guid!, TemplateType.Record)
return Warehouse.getTemplateByClassId(uuid!, TemplateType.Record)
?.definedType;
else if (identifier == RepresentationTypeIdentifier.TypedResource)
return Warehouse.getTemplateByClassId(guid!, TemplateType.Resource)
return Warehouse.getTemplateByClassId(uuid!, TemplateType.Resource)
?.definedType;
else if (identifier == RepresentationTypeIdentifier.Enum)
return Warehouse.getTemplateByClassId(guid!, TemplateType.Enum)
return Warehouse.getTemplateByClassId(uuid!, TemplateType.Enum)
?.definedType;
return null;
@ -180,12 +180,12 @@ class RepresentationType {
int identifier;
bool nullable;
Guid? guid;
UUID? uuid;
List<RepresentationType>? subTypes;
RepresentationType(this.identifier, this.nullable,
[this.guid, this.subTypes]) {}
[this.uuid, this.subTypes]) {}
DC compose() {
var rt = BinaryList();
@ -195,7 +195,7 @@ class RepresentationType {
else
rt.addUint8(identifier);
if (guid != null) rt.addDC(DC.guidToBytes(guid!));
if (uuid != null) rt.addDC(DC.uuidToBytes(uuid!));
if (subTypes != null)
for (var i = 0; i < subTypes!.length; i++)
@ -215,13 +215,13 @@ class RepresentationType {
var identifier = (header & 0x7F);
if ((header & 0x40) > 0) {
var hasGUID = (header & 0x4) > 0;
var hasUUID = (header & 0x4) > 0;
var subsCount = (header >> 3) & 0x7;
Guid? guid = null;
UUID? uuid = null;
if (hasGUID) {
guid = data.getGuid(offset);
if (hasUUID) {
uuid = data.getUUID(offset);
offset += 16;
}
@ -234,7 +234,7 @@ class RepresentationType {
}
return RepresentationTypeParseResults(offset - oOffset,
RepresentationType(identifier, nullable, guid, subs));
RepresentationType(identifier, nullable, uuid, subs));
} else {
return RepresentationTypeParseResults(
1, RepresentationType(identifier, nullable, null, null));

View File

@ -1,18 +1,18 @@
import 'DC.dart';
class Guid {
class UUID {
late DC _data;
Guid(this._data) {}
UUID(this._data) {}
Guid.parse(String data) {
UUID.parse(String data) {
_data = DC.fromHex(data, '');
}
DC get value => _data;
bool operator ==(other) {
if (other is Guid)
if (other is UUID)
return _data.sequenceEqual(other._data);
else
return false;

View File

@ -94,7 +94,7 @@ import '../Packets/IIPPacketEvent.dart';
import '../Packets/IIPPacketReport.dart';
import '../../Data/BinaryList.dart';
import '../NetworkConnection.dart';
import '../../Data/Guid.dart';
import '../../Data/UUID.dart';
import '../../Resource/Template/TypeTemplate.dart';
import '../../Security/Permissions/Ruling.dart';
import '../../Security/Permissions/ActionType.dart';
@ -156,13 +156,13 @@ class DistributedConnection extends NetworkConnection implements IStore {
KeyList<int, DistributedResourceAttachRequestInfo> _resourceRequests =
new KeyList<int, DistributedResourceAttachRequestInfo>();
KeyList<Guid, AsyncReply<TypeTemplate?>> _templateRequests =
new KeyList<Guid, AsyncReply<TypeTemplate?>>();
KeyList<UUID, AsyncReply<TypeTemplate?>> _templateRequests =
new KeyList<UUID, AsyncReply<TypeTemplate?>>();
KeyList<String, AsyncReply<TypeTemplate?>> _templateByNameRequests =
new KeyList<String, AsyncReply<TypeTemplate?>>();
Map<Guid, TypeTemplate> _templates = new Map<Guid, TypeTemplate>();
Map<UUID, TypeTemplate> _templates = new Map<UUID, TypeTemplate>();
KeyList<int, AsyncReply<dynamic>> _requests =
new KeyList<int, AsyncReply<dynamic>>();
int _callbackCounter = 0;
@ -2013,7 +2013,7 @@ class DistributedConnection extends NetworkConnection implements IStore {
if (r is DistributedResource) {
// reply ok
_sendReply(IIPPacketAction.AttachResource, callback)
..addGuid(r.instance?.template.classId as Guid)
..addUUID(r.instance?.template.classId as UUID)
..addUint64(r.instance?.age as int)
..addUint16(link.length)
..addDC(link)
@ -2025,7 +2025,7 @@ class DistributedConnection extends NetworkConnection implements IStore {
} else {
// reply ok
_sendReply(IIPPacketAction.AttachResource, callback)
..addGuid((r.instance as Instance).template.classId)
..addUUID((r.instance as Instance).template.classId)
..addUint64((r.instance as Instance).age)
..addUint16(link.length)
..addDC(link)
@ -2572,7 +2572,7 @@ class DistributedConnection extends NetworkConnection implements IStore {
}
}
void iipRequestTemplateFromClassId(int callback, Guid classId) {
void iipRequestTemplateFromClassId(int callback, UUID classId) {
var t = Warehouse.getTemplateByClassId(classId);
if (t != null)
_sendReply(IIPPacketAction.TemplateFromClassId, callback)
@ -2670,7 +2670,7 @@ class DistributedConnection extends NetworkConnection implements IStore {
// });
}
void iipRequestStaticCall(int callback, Guid classId, int index,
void iipRequestStaticCall(int callback, UUID classId, int index,
TransmissionType transmissionType, DC content) {
var template = Warehouse.getTemplateByClassId(classId);
@ -3043,9 +3043,9 @@ class DistributedConnection extends NetworkConnection implements IStore {
/// <summary>
/// Get the TypeTemplate for a given class Id.
/// </summary>
/// <param name="classId">Class GUID.</param>
/// <param name="classId">Class UUID.</param>
/// <returns>TypeTemplate.</returns>
AsyncReply<TypeTemplate?> getTemplate(Guid classId) {
AsyncReply<TypeTemplate?> getTemplate(UUID classId) {
//Warehouse.getTemplateByClassId(classId)
if (_templates.containsKey(classId))
@ -3056,7 +3056,7 @@ class DistributedConnection extends NetworkConnection implements IStore {
var reply = new AsyncReply<TypeTemplate>();
_templateRequests.add(classId, reply);
(_sendRequest(IIPPacketAction.TemplateFromClassId)..addGuid(classId)).done()
(_sendRequest(IIPPacketAction.TemplateFromClassId)..addUUID(classId)).done()
..then((rt) {
if (rt != null) {
_templateRequests.remove(classId);
@ -3145,8 +3145,8 @@ class DistributedConnection extends NetworkConnection implements IStore {
/// <summary>
/// Fetch a resource from the other end
/// </summary>
/// <param name="classId">Class GUID</param>
/// <param name="id">Resource Id</param>Guid classId
/// <param name="classId">Class UUID</param>
/// <param name="id">Resource Id</param>UUID classId
/// <returns>DistributedResource</returns>
AsyncReply<DistributedResource> fetch(int id, List<int>? requestSequence) {
var resource = _attachedResources[id]?.target;
@ -3200,7 +3200,7 @@ class DistributedConnection extends NetworkConnection implements IStore {
DistributedResource dr;
TypeTemplate? template;
Guid classId = rt[0] as Guid;
UUID classId = rt[0] as UUID;
if (resource == null) {
template =
@ -3249,7 +3249,7 @@ class DistributedConnection extends NetworkConnection implements IStore {
if (template == null) {
//print("tmp == null");
getTemplate(rt[0] as Guid)
getTemplate(rt[0] as UUID)
..then((tmp) {
// ClassId, ResourceAge, ResourceLink, Content
if (resource == null) {
@ -3608,7 +3608,7 @@ class DistributedConnection extends NetworkConnection implements IStore {
TemplateDescriber("Esiur.Net.IIP.DistributedConnection");
AsyncReply<dynamic> staticCall(
Guid classId, int index, Map<UInt8, dynamic> parameters) {
UUID classId, int index, Map<UInt8, dynamic> parameters) {
var pb = Codec.compose(parameters, this);
var reply = AsyncReply<dynamic>();
@ -3618,7 +3618,7 @@ class DistributedConnection extends NetworkConnection implements IStore {
_sendParams()
..addUint8((0x40 | IIPPacketAction.StaticCall))
..addUint32(c)
..addGuid(classId)
..addUUID(classId)
..addUint8(index)
..addDC(pb)
..done();

View File

@ -24,7 +24,7 @@ SOFTWARE.
import '../../Data/TransmissionType.dart';
import '../../Data/DC.dart';
import '../../Data/Guid.dart';
import '../../Data/UUID.dart';
import 'IIPPacketAction.dart';
import 'IIPPacketCommand.dart';
@ -59,7 +59,7 @@ class IIPPacket {
String errorMessage = "";
String className = "";
String resourceLink = "";
Guid classId = Guid(DC(0));
UUID classId = UUID(DC(0));
int methodIndex = 0;
String methodName = "";
int callbackId = 0;
@ -264,7 +264,7 @@ class IIPPacket {
} else if (action == IIPPacketAction.TemplateFromClassId) {
if (_notEnough(offset, ends, 16)) return -_dataLengthNeeded;
classId = data.getGuid(offset);
classId = data.getUUID(offset);
offset += 16;
} else if (action == IIPPacketAction.TemplateFromResourceId) {
if (_notEnough(offset, ends, 4)) return -_dataLengthNeeded;
@ -406,7 +406,7 @@ class IIPPacket {
} else if (action == IIPPacketAction.StaticCall) {
if (_notEnough(offset, ends, 18)) return -_dataLengthNeeded;
classId = data.getGuid(offset);
classId = data.getUUID(offset);
offset += 16;
methodIndex = data[offset++];
@ -422,7 +422,7 @@ class IIPPacket {
action == IIPPacketAction.ReattachResource) {
if (_notEnough(offset, ends, 26)) return -_dataLengthNeeded;
classId = data.getGuid(offset);
classId = data.getUUID(offset);
offset += 16;
resourceAge = data.getUint64(offset);

View File

@ -141,32 +141,32 @@ class TemplateGenerator {
if (representationType.identifier ==
RepresentationTypeIdentifier.TypedResource) {
if (representationType.guid == forTemplate.classId)
if (representationType.uuid == forTemplate.classId)
name = forTemplate.className.split('.').last;
else
name = _translateClassName(templates
.singleWhere((x) =>
x.classId == representationType.guid &&
x.classId == representationType.uuid &&
(x.type == TemplateType.Resource))
.className);
} else if (representationType.identifier ==
RepresentationTypeIdentifier.TypedRecord) {
if (representationType.guid == forTemplate.classId)
if (representationType.uuid == forTemplate.classId)
name = forTemplate.className.split('.').last;
else
name = _translateClassName(templates
.singleWhere((x) =>
x.classId == representationType.guid &&
x.classId == representationType.uuid &&
x.type == TemplateType.Record)
.className);
} else if (representationType.identifier ==
RepresentationTypeIdentifier
.Enum) if (representationType.guid == forTemplate.classId)
.Enum) if (representationType.uuid == forTemplate.classId)
name = forTemplate.className.split('.').last;
else
name = _translateClassName(templates
.singleWhere((x) =>
x.classId == representationType.guid &&
x.classId == representationType.uuid &&
x.type == TemplateType.Enum)
.className);
else if (representationType.identifier ==
@ -339,17 +339,17 @@ class TemplateGenerator {
// Warehouse.defineType<test.MyService>(
// () => test.MyService(),
// RepresentationType(RepresentationTypeIdentifier.TypedResource, false,
// Guid(DC.fromList([1, 2, 3]))));
// UUID(DC.fromList([1, 2, 3]))));
var defineCreators = templates.map((tmp) {
// creator
var className = _translateClassName(tmp.className);
if (tmp.type == TemplateType.Resource) {
return "Warehouse.defineType<${className}>(() => ${className}(), RepresentationType(RepresentationTypeIdentifier.TypedResource, false, Guid.parse('${tmp.classId.toString()}')));\r\n";
return "Warehouse.defineType<${className}>(() => ${className}(), RepresentationType(RepresentationTypeIdentifier.TypedResource, false, UUID.parse('${tmp.classId.toString()}')));\r\n";
} else if (tmp.type == TemplateType.Record) {
return "Warehouse.defineType<${className}>(() => ${className}(), RepresentationType(RepresentationTypeIdentifier.TypedRecord, false, Guid.parse('${tmp.classId.toString()}')));\r\n";
return "Warehouse.defineType<${className}>(() => ${className}(), RepresentationType(RepresentationTypeIdentifier.TypedRecord, false, UUID.parse('${tmp.classId.toString()}')));\r\n";
} else if (tmp.type == TemplateType.Enum) {
return "Warehouse.defineType<${className}>(() => ${className}(), RepresentationType(RepresentationTypeIdentifier.Enum, false, Guid.parse('${tmp.classId.toString()}')));\r\n";
return "Warehouse.defineType<${className}>(() => ${className}(), RepresentationType(RepresentationTypeIdentifier.Enum, false, UUID.parse('${tmp.classId.toString()}')));\r\n";
}
}).join("\r\n");
@ -496,7 +496,7 @@ class TemplateGenerator {
rt.writeln("var rt = AsyncReply<$rtTypeName>();");
if (f.isStatic) {
rt.writeln(
"connection.staticCall(Guid.parse('${template.classId.toString()}'), ${f.index}, args)");
"connection.staticCall(UUID.parse('${template.classId.toString()}'), ${f.index}, args)");
} else {
rt.writeln("internal_invoke(${f.index}, args)");
}

View File

@ -7,7 +7,7 @@
// import '../../Data/ParseResult.dart';
// import '../../Data/DataType.dart';
// import '../../Data/Guid.dart';
// import '../../Data/UUID.dart';
// import '../../Data/DC.dart';
// import '../../Data/BinaryList.dart';
// import 'TypeTemplate.dart';
@ -16,11 +16,11 @@
// class TemplateDataType {
// late int type;
// TypeTemplate? get typeTemplate => typeGuid == null
// TypeTemplate? get typeTemplate => typeUUID == null
// ? null
// : Warehouse.getTemplateByClassId(typeGuid as Guid);
// : Warehouse.getTemplateByClassId(typeUUID as UUID);
// Guid? typeGuid;
// UUID? typeUUID;
// // @TODO: implement fromType
// TemplateDataType.fromType(type, bool isArray) {
@ -67,7 +67,7 @@
// var template = Warehouse.getTemplateByType(type);
// if (template != null) {
// typeGuid = template.classId;
// typeUUID = template.classId;
// dt = template.type == TemplateType.Resource
// ? DataType.Resource
// : DataType.Record;
@ -78,9 +78,9 @@
// // try {
// // var ins = Warehouse.createInstance(type);
// // if (ins is IResource) {
// // typeGuid = TypeTemplate.getTypeGuid(ins.template.nameSpace);
// // typeUUID = TypeTemplate.getTypeUUID(ins.template.nameSpace);
// // } else if (ins is IRecord) {
// // typeGuid = TypeTemplate.getTypeGuid(ins.template.nameSpace);
// // typeUUID = TypeTemplate.getTypeUUID(ins.template.nameSpace);
// // } else {
// // dt = DataType.Void;
// // }
@ -101,13 +101,13 @@
// type == DataType.RecordArray) {
// return (BinaryList()
// ..addUint8(type)
// ..addDC((typeGuid as Guid).value))
// ..addDC((typeUUID as UUID).value))
// .toDC();
// } else
// return DC.fromList([type]);
// }
// TemplateDataType(this.type, this.typeGuid);
// TemplateDataType(this.type, this.typeUUID);
// static ParseResult<TemplateDataType> parse(DC data, int offset) {
// var type = data[offset++];
@ -115,9 +115,9 @@
// type == DataType.ResourceArray ||
// type == DataType.Record ||
// type == DataType.RecordArray) {
// var guid = data.getGuid(offset);
// var uuid = data.getUUID(offset);
// return ParseResult<TemplateDataType>(
// 17, new TemplateDataType(type, guid));
// 17, new TemplateDataType(type, uuid));
// } else
// return ParseResult<TemplateDataType>(1, new TemplateDataType(type, null));
// }

View File

@ -13,7 +13,7 @@ import '../Warehouse.dart';
import './TemplateDescriber.dart';
import './MemberTemplate.dart';
import '../../Data/Guid.dart';
import '../../Data/UUID.dart';
import '../../Data/DC.dart';
import './EventTemplate.dart';
import './PropertyTemplate.dart';
@ -27,8 +27,8 @@ class TypeTemplate {
bool get isWrapper => _isWrapper;
late Guid _classId;
Guid? _parentId = null;
late UUID _classId;
UUID? _parentId = null;
String? _annotation;
@ -52,7 +52,7 @@ class TypeTemplate {
TemplateType get type => _templateType;
Guid? get parentId => _parentId;
UUID? get parentId => _parentId;
Type? _definedType;
@ -104,13 +104,15 @@ class TypeTemplate {
return null;
}
static Guid getTypeGuid(String typeName) {
static UUID getTypeUUID(String typeName) {
var tn = DC.stringToBytes(typeName);
var hash = SHA256.compute(tn).clip(0, 16);
return new Guid(hash);
hash.setUint8(6, (hash.getUint8(6) & 0xF) | 0x80);
hash.setUint8(8, (hash.getUint8(8) & 0xF) | 0x80);
return new UUID(hash);
}
Guid get classId => _classId;
UUID get classId => _classId;
String get className => _className;
@ -154,8 +156,8 @@ class TypeTemplate {
_className = describer.nameSpace;
// set guid
_classId = getTypeGuid(_className);
// set UUID
_classId = getTypeUUID(_className);
_version = describer.version;
@ -264,7 +266,7 @@ class TypeTemplate {
// bake it binarily
var b = BinaryList()
..addUint8((_annotation != null ? 0x40 : 0x0) | _templateType.index)
..addGuid(classId)
..addUUID(classId)
..addUint8(className.length)
..addString(className);
@ -304,13 +306,13 @@ class TypeTemplate {
_templateType = TemplateType.values[data.getUint8(offset++) & 0xF];
_classId = data.getGuid(offset);
_classId = data.getUUID(offset);
offset += 16;
_className = data.getString(offset + 1, data[offset]);
offset += data[offset] + 1;
if (hasParent) {
_parentId = data.getGuid(offset);
_parentId = data.getUUID(offset);
offset += 16;
}

View File

@ -40,7 +40,7 @@ import '../Data/AutoList.dart';
import 'FactoryEntry.dart';
import 'Template/TemplateType.dart';
import 'Template/TypeTemplate.dart';
import '../Data/Guid.dart';
import '../Data/UUID.dart';
import '../Data/KeyList.dart';
import '../Security/Permissions/IPermissionsManager.dart';
import 'IResource.dart';
@ -59,15 +59,15 @@ class Warehouse {
new Map<int, WeakReference<IResource>>();
static int resourceCounter = 0;
static KeyList<TemplateType, KeyList<Guid, TypeTemplate>> _templates =
static KeyList<TemplateType, KeyList<UUID, TypeTemplate>> _templates =
_initTemplates(); //
static KeyList<TemplateType, KeyList<Guid, TypeTemplate>> _initTemplates() {
var rt = new KeyList<TemplateType, KeyList<Guid, TypeTemplate>>();
static KeyList<TemplateType, KeyList<UUID, TypeTemplate>> _initTemplates() {
var rt = new KeyList<TemplateType, KeyList<UUID, TypeTemplate>>();
rt.add(TemplateType.Resource, new KeyList<Guid, TypeTemplate>());
rt.add(TemplateType.Record, new KeyList<Guid, TypeTemplate>());
rt.add(TemplateType.Enum, new KeyList<Guid, TypeTemplate>());
rt.add(TemplateType.Resource, new KeyList<UUID, TypeTemplate>());
rt.add(TemplateType.Record, new KeyList<UUID, TypeTemplate>());
rt.add(TemplateType.Enum, new KeyList<UUID, TypeTemplate>());
return rt;
}
@ -593,7 +593,7 @@ class Warehouse {
/// </summary>
/// <param name="classId">Class Id.</param>
/// <returns>Resource template.</returns>
static TypeTemplate? getTemplateByClassId(Guid classId,
static TypeTemplate? getTemplateByClassId(UUID classId,
[TemplateType? templateType = null]) {
if (templateType == null) {
// look into resources