1. @override
InvokeResponse invoke(Map<String, dynamic> params, Responder responder, InvokeResponse response, Node parentNode, [ int maxPermission = Permission.CONFIG ])

Called by the link internals to invoke this node.

Source

@override
InvokeResponse invoke(
  Map<String, dynamic> params,
  Responder responder,
  InvokeResponse response,
  Node parentNode,
  [int maxPermission = Permission.CONFIG]) {
  if (_invokeCallback == null) {
    return response..close(DSError.NOT_IMPLEMENTED);
  }

  String parentPath = parentNode is LocalNode ? parentNode.path : null;

  int permission = responder.nodeProvider.permissions.getPermission(
    parentPath,
    responder
  );

  if (maxPermission < permission) {
    permission = maxPermission;
  }

  if (getInvokePermission() <= permission) {
    _invokeCallback(params, responder, response, parentNode);
    return response;
  } else {
    return response..close(DSError.PERMISSION_DENIED);
  }
}