uploadStreamXml method

Future<WebPresenterBlock> uploadStreamXml(
  1. String filename,
  2. String xml
)

Uploads one XML custom-platform file. Blank XML lines are removed because blank lines terminate Ethernet protocol blocks.

Implementation

Future<WebPresenterBlock> uploadStreamXml(String filename, String xml) {
  if (_closed) throw StateError('Web Presenter connection is closed.');
  final pending = _PendingBlock(Completer<WebPresenterBlock>());
  _pending.add(pending);
  final compactXml = xml
      .split(RegExp(r'\r?\n'))
      .where((line) => line.trim().isNotEmpty)
      .join('\n');
  socket.write('STREAM XML $filename:\n$compactXml\n\n');
  return pending.completer.future;
}