syncWithResource<T> method

T syncWithResource<T>(
  1. List<Resource> resources,
  2. T onAccept(),
  3. T onDeny()
)

Implementation

T syncWithResource<T>(
    List<Resource> resources,
    T Function() onAccept,
    T Function() onDeny,
    ) {
  assert(resources.isNotEmpty);
  var token = _lockResource(resources);
  if (token == 0) {
    return onDeny();
  }
  try {
    return onAccept();
  } catch (e) {
    Alog.e(
        tag: _tag,
        moduleName: _moduleName,
        content: 'InvocationManager#syncWithResource error $e');
    rethrow;
  } finally {
    _unlockResource(token);
  }
}