invoke method
InvokeResponse
invoke(
- Map params,
- Responder responder,
- InvokeResponse response,
- Node? parentNode, [
- int maxPermission = Permission.CONFIG,
override
Called by the link internals to invoke this node.
Implementation
@override
InvokeResponse invoke(
Map params,
Responder responder,
InvokeResponse response,
Node? parentNode, [
int maxPermission = Permission.CONFIG,
]) {
if (_invokeCallback == null) {
return response..close(DSError.NOT_IMPLEMENTED);
}
var parentPath = parentNode is LocalNode ? parentNode.path : null;
var permission = responder.nodeProvider.permissions.getPermission(
parentPath,
responder,
);
if (maxPermission < permission) {
permission = maxPermission;
}
if (getInvokePermission() <= permission) {
_invokeCallback!(params, responder, response, parentNode as LocalNode?);
return response;
} else {
return response..close(DSError.PERMISSION_DENIED);
}
}