cmd method

  1. @override
void cmd(
  1. String cmdStr, {
  2. dynamic params = const {},
  3. int? id,
  4. MessageCallback? callback,
})
override

Implementation

@override
void cmd(
  String cmdStr, {
  params = const {},
  int? id,
  MessageCallback? callback,
}) {
  var cmdId = id ?? i++;
  try {
    if (callback != null) {
      callbacks[cmdId] = callback;
    }
    channel!.sink.add(
      json.encode({
        'cmd': cmdStr,
        'params': params,
        'id': cmdId,
      }),
    );
  } catch (e) {
    if (channel == null) {
      throw 'Initalize ZeroNet Api First before calling any method';
    }
  }
  if (callback != null) {
    subscription?.onData((message) {
      var msg = json.decode(message);
      var id = msg['to'];
      callbacks[id]?.call(message);
      callbacks.remove(id);
      onEventMessage?.call(message);
    });
  }
}