generateFile method
Generates necessary file and code for a SteamInterface
Implementation
Future<void> generateFile({
required String path,
required IOSink exportSink,
Set<String> enumSet = const {},
Set<String> structSet = const {},
Set<String> callbackStructSet = const {},
Set<String> interfaceSet = const {},
}) async {
await enums.generateFile(
path: path,
exportSink: exportSink,
);
String fileName = "i${name.clearInterfaceName().toFileName()}";
String filePath = p.join(path, "interfaces", "$fileName.dart");
exportSink.writeExport(
path: "interfaces/$fileName.dart",
);
File file = File(filePath);
await file.create(recursive: true);
IOSink fileSink = file.openWrite(mode: FileMode.writeOnly);
generate(
fileSink: fileSink,
enumSet: enumSet,
structSet: structSet,
callbackStructSet: callbackStructSet,
interfaceSet: interfaceSet,
);
await fileSink.flush();
await fileSink.close();
}