URLByResolvingBookmarkData static method

NSURL? URLByResolvingBookmarkData(
  1. NSData bookmarkData, {
  2. required int options,
  3. NSURL? relativeToURL,
  4. required Pointer<Bool> bookmarkDataIsStale,
})

URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:

Implementation

static NSURL? URLByResolvingBookmarkData(
  NSData bookmarkData, {
  required int options,
  NSURL? relativeToURL,
  required ffi.Pointer<ffi.Bool> bookmarkDataIsStale,
}) {
  objc.checkOsVersionInternal(
    'NSURL.URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:',
    iOS: (false, (4, 0, 0)),
    macOS: (false, (10, 6, 0)),
  );
  final $err = pkg_ffi.calloc<ffi.Pointer<objc.ObjCObjectImpl>>();
  try {
    final $ret = _objc_msgSend_1ceswyu(
      _class_NSURL,
      _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_,
      bookmarkData.ref.pointer,
      options,
      relativeToURL?.ref.pointer ?? ffi.nullptr,
      bookmarkDataIsStale,
      $err,
    );
    objc.NSErrorException.checkErrorPointer($err.value);
    return $ret.address == 0
        ? null
        : NSURL.fromPointer($ret, retain: true, release: true);
  } finally {
    pkg_ffi.calloc.free($err);
  }
}